Domino Code Fragment

Code Name*
Flat file import
Date*
04/28/2024
Source (or email address if you prefer)*
Rlatulippe@romac.com
IP address:.3.144.84.155
Description*
The routine demonstrates flat file importing with LotusScript. It shows how to read a comma
separated file. To make it more interesting it then merges the results into existing records in the database. These records
are keyed on a unique id. You should be able to easily modify this routine to create instead of merge or perhaps do both depending
on if the record already exists or not.
Type*
LotusScript
Categories*
(Misc)
Implementation:
Required Client:
Server:
Limitations:
Comments:
Files/Graphics attachments (if applicable): Code:
Sub Initialize
On Error Goto _Error

Dim bFileOpen As Integer
Dim session As New NotesSession
Dim db As NotesDatabase
Set db = session.CurrentDatabase

Dim view As NotesView
Dim doc As NotesDocument
Set view = db.GetView( "(CleanAddress)" )
Set doc = view.GetFirstDocument

'The Fields we are going to import
Dim Field1 As String
Dim Field2 As String

'The unique field for each record
Dim UniqueID As String


'Name of file to get from user
Dim FileName As String

If Not (doc Is Nothing) Then
FileName = Inputbox$("Enter your import file name: ", "LotusScript Import Routime", "C:\")
If (FileName = "") Then
Messagebox ("Import has been canceled")
Exit Sub
End If
Else
'There is nothing to merge into
Messagebox ("Nothing to import into! Are you sure you have not already imported this file?")
Exit Sub
End If

'Open the file
Dim fileNum As Integer
fileNum = Freefile()
Open FileName For Input As fileNum
bFileOpen = 1

Dim item As NotesItem

'Until we eof
Do Until Eof (fileNum)
Input #fileNum, UniqueID, Field1, Field2

If (UniqueID > "") Then
Set doc = view.GetDocumentByKey(URN)

If Not (doc Is Nothing) Then
doc.Field1 = Field1
doc.Field2 = Field2
Call doc.Save(True, False)
Else
Messagebox("File contains a record that is not in the database " + UniqueID)
End If
Else
Messagebox("File contains an record without a unique id")
End If
Loop

'Close file
Close fileNum
bFileOpen = 0

Messagebox("File imported successfully")

Exit Sub
_Error:
If (bFileOpen = 1) Then
Close fileNum
End If
Messagebox("Error importing data: " + Error$)
Exit Sub
End Sub