Dependant on where report layouts are saved, the commands to access these layouts differ.
Difference in the commands
Parameters
If the layouts are saved on the file system, then the passing of the report name is usually sufficient, whereby if the reports are stored in a database, then server and database names have to be passed.
Name
Both "groups of commands" start with the same command name. The commands accessing report layouts in databases show the extension "FromDatabase" (e.g. NTPInitFromDatabase). This allows for the commands to be easily recognized.
How the commands "work"
The commands accessing reports stored on the file system, create a temporary copy of the report files in the configured temp. directory.
The commands using layouts stored in databases, temporarily store copies of these files under temporary file names in the temp. directory of that computer.
The files thus created are used to access the report layout and the creation of the report. After closing the report, these files are then removed.
The following excerpt of a script (not complete, so not executable) shows the usage of report layouts saved in databases:
REM Read the environment
Set session =New NotesSession
Set db = session.CurrentDatabase
Set collection = db.UnprocessedDocuments
REM Read the settings of the current database
DatabaseName = db.FilePath
ServerName = db.Server
REM Initialize the buffer for the report name
StrBuffer = Space(254)
REM Display the report list ( the report name is returned in "StrBuffer" )
If NTPReportListFromDatabase ( StrBuffer, ServerName, DatabaseName ) >= 0 Then
StrBuffer = Trim ( StrBuffer )
REM Determine the number of fields in the report
FieldCount = NTPGetFieldCountFromDatabase ( StrBuffer, ServerName, DatabaseName )
If ( FieldCount >= 0 ) Then
REM Read all field names from the report and store them in a list
For Counter = 1 To FieldCount
FieldBuffer = Space(254)
Status = NTPGetFieldNameFromDatabase ( StrBuffer, ServerName, DatabaseName, Counter, FieldBuffer )
FieldBuffer = Trim ( FieldBuffer )
FieldList( Counter ) = FieldBuffer
Next Counter
REM Initialize a new report
ReportID = 0
ReportID = NTPInitFromDatabase ( StrBuffer, ServerName, DatabaseName, 0)
If ReportID >= 0 Then
.........