Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

Entladen von COBOL-Unterprogrammen

COBOL bietet kein Sprachmittel, um Unterprogramme zu entladen. Dafür muss der Anwender selber Assembler-Programme bereitstellen (siehe Abschnitt „UNBIND Makro“ im Handbuch „Bindelader-Starter“ [10]).

Bei solchen Entladevorgängen sind Abhängigkeiten der Module untereinander und zum COBOL-Laufzeitsystem im Rahmen des CRTE zu beachten:

  • Solange noch andere COBOL-Module geladen bleiben, darf das COBOL Laufzeitsystem nicht entladen werden, z.B. wenn das zu entladende Modul als LLM oder Großmodul gebunden das Laufzeitsystem ganz oder teilweise enthält.

  • Werden externe Dateien von COBOL-Programmen angesprochen, muss das COBOL-Laufzeitsystem auch dann geladen bleiben, wenn alle COBOL-Programme entladen wurden, aber zur weiteren Bearbeitung der externen Datei erneut COBOL-Unterprogramme nachgeladen werden sollen.

  • Handelt es sich bei dem zu entladenden COBOL-Modul um eine Klassen- oder Interface-Definition, dann müssen alle Module, die diese Klassen- oder Interface-Definitionen verwenden oder davon erben, entladen werden.

  • Wurde das zu entladende Modul mittels „CALL bezeichner“ von einem COBOL-Modul aus nachgeladen, das mit der Option OPTIMIZE-CALL-IDENTIFIER=YES übersetzt wurde, darf das entladene Modul nicht erneut mit dem „CALL bezeichner“ aufgerufen werden.

Beim Programmaustausch von Modulen unter openUTM sind die Anforderungen ebenfalls zu berücksichtigen.

Die Einhaltung der Regeln wird nicht vom COBOL-Compiler überprüft.