Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Binden mit dem BINDER

Mit dem BINDER können Objektmodule und Bindelademodule (LLMs) zu einem LLM gebunden und als Element vom Typ L in einer PLAM-Bibliothek abgespeichert werden. Der BINDER ist ausführlich im Handbuch „BINDER“ [22] beschrieben.

Wichtiger Hinweis:
LLMs mit eingebundenem Laufzeitsystem sollten nicht in Bibliotheken abgelegt werden,

  • aus denen auch nicht vorgebundene LLMs direkt geladen werden sollen oder
  • die zur Auflösung von Externverweisen mittels AUTOLINK durch den BINDER herangezogen werden.

Beispiel 6-2

Erzeugen eines LLM aus Objektmodulen

/START-BINDER ———————————————————————————————————————————————————————— (1)
%  BND0500 ...
//START-LLM-CREATION INT-NAME=PROG, COPYRIGHT = *NONE ———————————————— (2)
//INCLUDE-MODULES LIB=*OMF,ELEM=MAIN ————————————————————————————————— (3)
//INCLUDE-MODULES LIB=PLAM.BSP,ELEM=SUB —————————————————————————————— (4)
//RESOLVE-BY-AUTOLINK LIB=$.SYSLNK.CRTE —————————————————————————————— (5)
//SAVE-LLM LIB=PLAM.BSP,ELEM=TESTPROG ———————————————————————————————— (6)
%  BND3101 SOME EXTERNAL REFERENCES UNRESOLVED
%  BND3102 SOME WEAK EXTERNS UNRESOLVED
%  BND1501 LLM FORMAT : '1
//END ———————————————————————————————————————————————————————————————— (7)
%  BND1101 BINDER NORMALLY TERMINATED. SEVERITY CLASS: 'UNRESOLVED
EXTERNAL'
/START-PROG *MOD(LIB=PLAM.BSP,ELEM=TESTPROG,RUN-MOD=ADVANCED) ———————— (8)
%  BLS0523 ELEMENT 'TESTPROG', VERSION '@' FROM LIBRARY 'PLAM.BSP' IN
PROCESS
%  BLS0524 LLM 'TESTPROG', VERSION ' ' OF '2006-10-26:14:51:46' LOADED

(1)

Der BINDER wird aufgerufen.

(2)

Die Anweisung START-LLM-CREATION erzeugt einen neuen LLM im Arbeitsbereich mit dem internen Namen PROG. Der erzeugte LLM wird später mit der Anweisung SAVE-LLM (siehe 6) als Element vom Typ L in einer PLAM-Bibliothek gespeichert.

(3)

Mit dieser INCLUDE-MODULES-Anweisung wird der Name des Moduls angegeben, der das Hauptprogramm enthält (MAIN). Das Modul steht in der temporären EAM-Datei (*OMF).

(4)

Mit dieser INCLUDE-MODULES-Anweisung wird der Name des Moduls angegeben, der das Unterprogramm enthält (SUB). Das Modul steht in der PLAM-Bibliothek PLAM.BSP.

(5)

Mit der Anweisung RESOLVE-BY-AUTOLINK wird der Name der Laufzeitbibliothek angegeben, aus der Externverweise befriedigt werden sollen.

(6)

Mit der Anweisung SAVE-LLM wird der erzeugte LLM unter dem Namen TESTPROG als Element vom Typ L in der PLAM-Bibliothek PLAM.BSP abgespeichert. Die BINDER-Meldung „SOME WEAK EXTERNS UNRESOLVED“ bezieht sich auf das ILCS-Modul IT0INITS. Dieses Modul enthält WEAK-EXTERN-Verweise auf alle potenziell für ILCS vorgesehenen Sprachen. Im Beispiel ist nur die Sprache COBOL2000 beteiligt, die anderen Verweise bleiben offen.

(7)

Mit der END-Anweisung wird der Bindelauf beendet.

(8)

Der LLM wird geladen und gestartet.


Bei den Anweisungen INCLUDE-MODULES und RESOLVE-BY-AUTOLINK kann an Stelle des Bibliotheksnamens (LIB=bibliothek) auch LIB=*BLS-LINK angegeben werden. In diesem Fall müssen die zu durchsuchenden Bibliotheken mit dem Linknamen BLSLIBnn (00 ≤ nn ≤ 99) zugewiesen werden. Dies geschieht vor Aufruf des BINDERS mit dem ADD-FILE-LINK-Kommando, z.B.:

/ADD-FILE-LINK LINK-NAME=BLSLIB01,FILE-NAME=$.SYSLNK.CRTE

Ein mit dem BINDER erzeugter LLM kann - sofern alle Externverweise befriedigt sind - mit dem DBL ohne Zuweisung alternativer Bibliotheken geladen und gestartet werden:

START-PROGRAM *MODULE(LIB=bibliothek,ELEM=modul,RUN-MODE=ADVANCED)

Bei Generierung des LLM-Formats wird eine CSECT mit Namen programm-name&# mit folgenden Entries erzeugt:

programm-name

für den Unterprogramm-Einsprung

programm-name&$

für den Hauptprogramm-Beginn

programm-name&A

für den Service-Entry

Bei Generierung von shared-code kommt noch die Code CSECT programm-name&@ dazu.