asked on
Private Const MODULE = "Agent: Export-document-unique-ids-with-shortname"
Sub Initialize()
On Error GoTo ErrorHandler
Set AppLog = New ErrorLog(MODULE)
Call AppLog.LogAction("Agent has started")
Dim ses As New NotesSession
Dim dbProj As New NotesDatabase("SERVER/ORG","Apps\Application.nsf")
Dim colProj As NotesDocumentCollection
Dim docProj As NotesDocument
Dim strSearch As String
Dim fileNum As Integer
Dim fileName As String
fileNum% = FreeFile()
fileName$ = "c:\temp\export_universalids_with_shortname.csv"
strSearch = {(Form="fmDocument" | Form="fmEmployee") & (DocDeleted <> "1" & DocDeleted <> "2") & !@IsAvailable($Conflict)}
Set colProj = dbProj.Search(strSearch,Nothing, 0)
Set docProj = colProj.GetFirstDocument()
Dim LineToWrite As String
Dim row As Integer
row = 0
Open fileName$ For Output As fileNum%
LineToWrite = "DocUniversalID;ShortName;UserName"
Print #fileNum%, LineToWrite
LineToWrite = ""
Do While Not docProj Is Nothing
If(docProj.HasItem("ShortName")) Then
Call AppLog.LogAction(docProj.UniversalID & CStr(docProj.getItemValue("ShortName")(0)))
LineToWrite = CStr(docProj.UniversalID) & ";" _
& CStr(docProj.getItemValue("ShortName")(0)) & ";"
If(docProj.HasItem("DocReaders")) Then
LineToWrite = LineToWrite & CStr(docProj.getItemValue("DocReaders")(0)) & ";"
Else
LineToWrite = LineToWrite & ";"
End If
ElseIf(docProj.HasItem("DocReaders")) Then
Call AppLog.LogAction(docProj.UniversalID & CStr(docProj.getItemValue("DocReaders")(0)))
LineToWrite = CStr(docProj.UniversalID) & ";" _
& CStr(docProj.getItemValue("DocReaders")(0)) & ";"
Else
If (docProj.HasItem("UniversalID")) Then
Call AppLog.LogAction(docProj.UniversalID & "- No fields available")
LineToWrite = CStr(docProj.UniversalID) & ";" _
& ";"
Else
Call AppLog.LogAction("Nothing available")
LineToWrite = ""
End If
End If
If (LineToWrite <> "")Then
Print #fileNum%, LineToWrite
End If
Set docProj = colProj.GetNextDocument( docProj)
NextDoc:
Loop
Close fileNum%
Call AppLog.LogAction("File saved in: " & fileName)
Call AppLog.LogAction("Agent has ended")
Terminator:
'Close fileNum%
Exit Sub
ErrorHandler:
Call AppLog.LogError(Err, Error$ & " in " & MODULE & "." & GetThreadInfo(LSI_THREAD_PROC) & " line " & Erl)
Resume NextDoc
End Sub