This LotusScript code can be used to save and update profile documents in Lotus Notes applications.
Note: Be sure to enter values for profilename, fields(Field_1) and their values (in Value_1). Also, be sure to separate multiple values for one field "~" character.
- Create a form and four fields:
servername, databasename,
profilename, Field_1 (multivalue) &
Value_1 (multivalue)
- Create an action button -- called "Update profile" with the code:
Sub Click(Source As Button)
On Error Goto errorhandler
Dim uidoc As NotesUIDocument
Dim uiws As New notesuiworkspace
Dim doc As NotesDocument
Dim i As Integer
Dim rval As Variant, m1() As String
Dim ctfield, ctvalue As Integer
Set uidoc = uiws.CurrentDocument
Set doc = uidoc.document
If uidoc.IsNewDoc Then
Msgbox "Please save the document first"
Exit Sub
End If
Dim tdb As New notesdatabase
(doc.Servername(0), doc.
databasename(0))
If tdb.IsOpen Then
'ok
Else
Msgbox "cannot open the specified
database, check access or data entered.."
Exit Sub
End If
' getprofile document
Dim docProfile As NotesDocument
Set docProfile =
tdb.getProfileDocument(doc.ProfileName(0))
Set fieldItem = doc.GetFirstItem("Field_1")
ctfield = 0
Forall x In fieldItem.values
ctfield = ctfield + 1
End Forall
If ctfield = 0 Then
Msgbox "cannot find any value in fields item"
Exit Sub
End If
ctval = 0
Set valueitem = doc.GetFirstItem("value_1")
Forall y In valueitem.values
ctvalue = ctvalue + 1
End Forall
For i = 0 To (ctfield - 1)
' multiple separated by ~ characters..
If Instr(valueitem.values(i),"~") <> 0 Then
rval = Split(valueitem.values(i), "~")
Redim m1(Ubound(rval))
For t=0 To Ubound(rval)
m1(t) = rval(t)
Next
Set itemtoSet = docProfile.
ReplaceItemValue(fielditem.values(i), m1)
Else
Set itemtoSet = docProfile.
ReplaceItemValue(fielditem.values(i),
valueitem.values(i))
End If
Next
If i > 0 Then
docProfile.Form = doc.ProfileName(0)
docProfile.Save True, True
Msgbox "Profile Document saved successfully"
Exit Sub
End If
Msgbox "Profile Document was not saved"
Exit Sub
Errorhandler:
Print "Error in Create Profile: "
& Err() & " - " &Error() & " @line: " &Erl()
Exit Sub
End Sub
Save the form/document and click on the "Update profile" action button.
Do you have comments on this tip? Let us know.
This tip was submitted to the SearchDomino.com tip library by member Vinay Sharma. Please let others know how useful it is via the rating scale below. Do you have a useful Lotus Notes, Domino, Workplace or WebSphere tip or code snippet to share? Submit it to our monthly tip contest and you could win a prize.