<< LotusScript class: FileWriter for R5.x | Home | Disable auto-commit in DB2 from CLI >>

NABPerson

Example:

Dim n As New NABPerson()
Msgbox n.Shortname
Const NAB_FILENAME$ = "names.nsf"
Const DEBUG_USERNAME$ = "DEBUG_SCANNING_USER"

Public Class NABPerson
   'declarations
   Private pSession As NotesSession
   Private pDb As NotesDatabase
   Private pDoc As NotesDocument
   
   '/**
   ' * Constructor.
   ' */
   Public Sub New()
      Set Me.pSession = New NotesSession
      Dim view As NotesView
      Dim server As String
      Dim debug_user As String
      
      'get the users home server
      server = Me.pSession.GetEnvironmentString("MailServer", True)
      
      'get database
      Set Me.pDb = Me.pSession.GetDatabase(server, NAB_FILENAME)
      
      'get view
      Set view = Me.pDb.GetView("($Users)")
      
      'should we use a debug name
      debug_user = Me.pSession.GetEnvironmentString(DEBUG_USERNAME)
      If debug_user <> "" Then
         'use debug name
         Set Me.pDoc = view.GetDocumentByKey(debug_user, True)
      Else
         'use active usename
         Set Me.pDoc = view.GetDocumentByKey(Me.pSession.Username, True)
      End If
      
      'verify that we found a document
      If Me.pDoc Is Nothing Then
         If debug_user <> "" Then
            Error 9999, "User (" + debug_user + ") not found in Domino Directory on " + server   
         Else
            Error 9999, "User (" + Me.pSession.Username + ") not found in Domino Directory on " + server
         End If
      End If
   End Sub
   
   '/**
   ' * Get the shortname of the user.
   ' */
   Public Property Get Shortname As String
      Shortname = Me.pDoc.Shortname(0)
   End Property
   
End Class