Home > Domino Tips > Developer > LotusScript > LotusScript code to update and save Lotus Notes profile documents
Domino Tips:
EMAIL THIS
 TIPS & NEWSLETTERS TOPICS 

LOTUSSCRIPT

LotusScript code to update and save Lotus Notes profile documents


Vinay Sharma
06.19.2007
Rating: -2.44- (out of 5)


Lotus Notes and Domino tips, tutorials and how-to articles
Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google


This LotusScript code can be used to save and update profile documents in Lotus Notes applications.
More LotusScript resources:
30 LotusScript tips

LotusScript FAQs

LotusScript Reference Center

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.

  1. Create a form and four fields:
  2. servername, databasename, 
    profilename, Field_1 (multivalue) & 
    Value_1 (multivalue)
    
  3. 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.

Rate this Tip
To rate tips, you must be a member of SearchDomino.com.
Register now to start rating these tips. Log in if you are already a member.


Submit a Tip




Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google



RELATED CONTENT
LotusScript
LotusScript finds the first occurrence of a string from the right
Clear Recent Contacts view and prevent repopulation in Lotus Notes 8.x
Search Microsoft Active Directory with LotusScript
Three steps to trap and handle save conflicts with LotusScript
Troubleshoot agents by displaying LotusScript variables online
LotusScript sorts lists alphabetically
LotusScript code rebuilds corrupted busytime.nsf file
Soft-code item names to facilitate LotusScript management
LotusScript agent automates selective mail file replication
LotusScript filters and attaches files to a Notes form

LotusScript
LotusScript finds the first occurrence of a string from the right
Clear Recent Contacts view and prevent repopulation in Lotus Notes 8.x
Search Microsoft Active Directory with LotusScript
Three steps to trap and handle save conflicts with LotusScript
Troubleshoot agents by displaying LotusScript variables online
LotusScript sorts lists alphabetically
Run or restart Notes/Domino agents via text messages
LotusScript code rebuilds corrupted busytime.nsf file
Soft-code item names to facilitate LotusScript management
LotusScript agent automates selective mail file replication

RELATED RESOURCES
2020software.com, trial software downloads for accounting software, ERP software, CRM software and business software systems
Search Bitpipe.com for the latest white papers and business webcasts
Whatis.com, the online computer dictionary

DISCLAIMER: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.



Domino & Lotus Notes Security Solutions: Authentication, Antispam, Encryption and Antivirus
HomeTopicsITKnowledge ExchangeTipsAsk the ExpertsMultimediaWhite PapersDomino IT Downloads
About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
SEARCH 
TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations' technology projects - with its network of technology-specific websites, events and online magazines.

TechTarget Corporate Web Site  |  Media Kits  |  Site Map




All Rights Reserved, Copyright 1999 - 2009, TechTarget | Read our Privacy Policy
  TechTarget - The IT Media ROI Experts