Bei der Generierung der SESAM/SQL-UTM-Anwendung muss angegeben werden, dass die UTM-Anwendung mit dem Datenbanksystem SESAM/SQL korrespondieren soll. Dies erfolgt mit der DATABASE-Anweisung von KDCDEF, siehe unten.
Der zum Übersetzen des KDCROOT-Tabellenmoduls erforderliche KDCDB-Makro steht in der SESAM/SQL-Makrobibliothek für UTM-Anwendungen. Die übrigen Makros sind in der UTM-Makrobibliothek enthalten. Für die Assemblierung müssen sowohl die Makros der UTM-Makrobibliothek als auch der KDCDB-Makro bereitgestellt werden.
KDCDEF-Anweisung DATABASE
DATABASE ENTRY=SESSQL,TYPE=SESAM | für SQL |
DATABASE ENTRY=SESAM,TYPE=SESAM | für CALL-DML |
LIB= | Wenn der Parameter LIB= versorgt wird, dann wird das SESAM-Konnektionsmodul SESUTMC dynamisch nachgeladen. |
modlib | Name der BS2000-Bibliothek, die die SESAM-Module enthält. Damit wird das Konnektionsmodul aus dieser Modulbibliothek dynamisch nachgeladen. Ferner werden dann alle weiteren zum SESAM-Konnektionsmodul gehörenden Module aus dieser Bibliothek nachgeladen. |
LOGICAL-ID(SYSLNK) | Das SESAM-Konnektionsmodul wird im IMON-Installationspfad für die SESAM/SQL-Modulbibliotheken gesucht und von dort aus nachgeladen. |
Wenn mit SQL und CALL-DML gearbeitet werden soll, dann müssen beide Anweisungen angegeben werden, siehe auch „Beispiel 2“.
Empfehlungen
Es wird empfohlen, das SESAM-Konnektionsmodul statisch zur UTM-Anwendung zu binden. In diesem Fall darf der Parameter LIB= in der KDCDEF-Anweisung DATABASE nicht angegeben werden. Das statische Binden hat den Vorteil, dass die generierte UTM-Anwendung nach einem SESAM-Versionswechsel nicht neu generiert werden muss.
Wenn der SESAM-Konnektionsmodul nicht statisch zur UTM-Anwendung gebunden wird, dann sollte LIB=LOGICAL-ID(SYSLNK) angegeben werden. Dadurch wird die UTM-Anwendung bezüglich SESAM/SQL unabhängig von hardware- oder versionsabhängigen Installationspfaden bzw. Bibliotheksnamen. Voraussetzung ist eine ordnungsgemäße Installation mit IMON.
Beispiel 1
Das SESAM-Konnektionsmodul wird statisch gebunden, die Anwendung enthält keine CALL-DML-Teilprogramme. Dafür ist folgende DATABASE-Anweisung notwendig:
DATABASE ENTRY=SESSQL,TYPE=SESAM
Beispiel 2
Das SESAM-Konnektionsmodul wird statisch gebunden, in der Anwendung sind CALL-DML-Teilprogramme enthalten. In diesem Fall müssen zwei DATABASE-Anweisungen gegeben werden:
DATABASE ENTRY=SESSQL,TYPE=SESAM
DATABASE ENTRY=SESAM,TYPE=SESAM
Beispiel 3
Das SESAM-Konnektionsmodul wird dynamisch über den IMON-Installationspfad nachgeladen, in der Anwendung sind CALL-DML-Teilprogramme enthalten. Damit müssen zwei DATABASE-Anweisungen mit LIB-Parameter gegeben werden:
DATABASE ENTRY=SESSQL,TYPE=SESAM,LIB=LOGICAL-ID(SYSLNK)
DATABASE ENTRY=SESAM,TYPE=SESAM,LIB=LOGICAL-ID(SYSLNK)
Anschlussprogramm KDCROOT übersetzen
Vor der Übersetzung des Anschlussprogramms KDCROOT weisen Sie die SESAM-Makrobibliothek zu. Die Zuweisung ist vom verwendeten Assembler abhängig.
Beispiel 1
SESAM-Makrobibliothek zuweisen bei ASSEMBH:
/ADD-FILE-LINK LINK-NAME=UTMLIB,FILE-NAME=utm_maclib /ADD-FILE-LINK LINK-NAME=SESAMLIB,FILE=sesam_maclib /START-PROGRAM FROM-FILE=$ASSEMBH //COMPILE - //SOURCE=kdcroot //,MACRO-LIBRARY=(*LINK(LINK-NAME=SESAMLIB) . .
Beispiel 2
SESAM-Makrobibliothek zuweisen mit ASSGEN:
/FILE sesam-maclib,LINK=ALTLIB2 /EXEC $ASSGEN *COMOPT ALTLIB2 . .