Manage Learn to apply best practices and optimize your operations.

Get Lotus Notes Name

Get the exact matching Lotus Notes name or all the similar sounding Lotus Notes
names for the given FirstName and the LastName in a specific server/address
This function can be used as folllowing :

ser$ = "DominoChennai" ' server
addb$ = "Mynames.nsf" ' Address Book name
nflag = 0 ' Flag for names
FN$ = "Gopala" ' First name
LN$ = "Krishnan" ' Last name

fnames$ = GetLNName(LN$,FN$,nflag,ser$,addb$ )

If (nflag = 1 ) Then ' Exact match found
f2 = Evaluate(|@Explode("|+ fnames$ +|";",~")|)
doc.FirstName= f2(0) + " " + f2(1)
doc.LastName= f2(2)
doc.LNname= f2(3)' setting the exact matched name
ElseIf (nflag = 0) Then ' no match found
doc.frname = Trim(fnames$)' setting the deault name itself
doc.FirstName = Trim(t3)
doc.LastName = Trim(t2)
' Found Similar Sounding words
' Gett all the name list in "Allnames"

f1$ = |@Explode("|+AllNames$+|";";")|
Allnames = Evaluate(f1$)

Forall itm In Allnames
' Extract the LotusNotes name from very names
LNNme = Evaluate(|@Subset(@Explode("|+itm+|";"~");-1)| )
Print "Lotus notes Names : " + LNNme(0)
End Forall

End If


Function GetLNName(lastname As String , firstname As String , flag As Integer
,NServer As String , NAddBook As String) As String

' This function will return Notes Name if Lastname and first name is passes
as Argument is a Exact Match and will set flag = 1 (success)
' If the function is not able to find Lotus Notes Name
' it will find the the similar Sounding names and will return a string of the
' fName, mName , lName ~ FullName ; fName, mName , lName ~ FullName ;
fName, mName , lName ~ FullName ;... and will
' set the flag = Negetive &LTn> where n is the Number of similar sounding names
that are returned
' If it is not able to find one such name then the Output will be firstname,
lastname and set the flag = 0
' If null server is set it will take the current local server and if null
address book name is passes it will take as names.nsf

Dim session As New Notessession
Dim ws As New NotesUiWorkspace
Dim view As Notesview
Dim doc As NotesDocument
Dim doccol As NotesDocumentCollection
Dim t1 As String, t2 As String
Dim db As New NotesDatabase("","")
Dim Found As Variant
Dim Serv As String
Dim Soundname As String
Dim snxC As Integer

' Setting the server and address book

If (Trim(NServer) = "" ) Then
serv = Cstr(session.Currentdatabase.server)
serv = NServer
End If

If (Trim(NAddBook) = "") Then
NAddBook = "names.nsf"
End If

If ( Not db.Open( serv, NAddBook) ) Then
Msgbox "Address Book not found in the Server",16,"Error"
flag = 0
GetLNName = Trim (lastname + ", " + firstname)
Exit Function
End If

' getting the view from address book
Set view = db.getview("($VIMPeopleBYLastName)")
Set doccol = view.GetAllDocumentsByKey(Trim(lastname),False)

If (doccol.count < 1 ) Then
Print "Lotus Notes Name Not found for the Person " + Trim (lastname
+ ", " + firstname)
flag = 0
GetLNName = Trim (firstname + ", " + lastname )
Exit Function
End If

Found = False
t1$ = ""
t2$ = ""
SoundName$ = ""
snxC = 0

Set doc = doccol.getfirstdocument
While ( Not Doc Is Nothing) And Not Found
t1$ = Trim(doc.FirstName(0))
t2$ = Trim(doc.MiddleInitial(0))
chkvar$ = t1$ + " " + t2$
If ( Lcase(Trim(chkVar$)) = Lcase(Trim(firstname)) And
Lcase(Trim(doc.Lastname(0))) = Lcase(Trim(Lastname))) Then
Found = True ' exact match
Print "Found Lotus Notes name for the Person " + doc.Fullname(0)
GetLNName = doc.Fullname(0)

Dig Deeper on Domino Resources - Part 6



  • iSeries tutorials's tutorials provide in-depth information on the iSeries. Our iSeries tutorials address areas you need to know about...

  • V6R1 upgrade planning checklist

    When upgrading to V6R1, make sure your software will be supported, your programs will function and the correct PTFs have been ...

  • Connecting multiple iSeries systems through DDM

    Working with databases over multiple iSeries systems can be simple when remotely connecting logical partitions with distributed ...