Mit dieser Option steuert der Benutzer, in welche Bibliothek und unter welchem Namen das Modul abgelegt werden soll.
Format
|
MODULE-OUTPUT = *STD
Ein Objektmodul wird in die temporäre EAM-Datei der aktuellen Task ausgegeben.Ein Bindelademodul wird in eine PLAM-Bibliothek mit dem Standardnamen PLIB.COBOL.<prog-id-name> ausgegeben, wobei als Elementname der Programmname verwendet wird und als Versionsbezeichnung *UPPER-LIMIT (d.h. höchstmögliche Versionsnummer) angenommen wird.
MODULE-OUTPUT = *OMF
Ein Objektmodul wird in die temporäre EAM-Datei geschrieben. Falls *OMF für ein Bindelademodul (LLM) angegeben wird, gibt der Compiler eine entsprechende Informationsmeldung aus und das Modul wird in die PLAM-Bibliothek PLIB.COBOL.<prog-id-name> ausgegeben.
MODULE-OUTPUT = <c-string 1..1024 with-low>
Wenn das POSIX-Subsystem vorhanden ist, kann mit diesem Parameter das Modul (nur als LLM) als Objektdatei in das POSIX-Dateisystem geschrieben werden.
Enthält <c-string> keinen Dateiverzeichnisnamen, wird die Objektdatei unter dem angegebenen Dateinamen in das Home-Dateiverzeichnis der aktuellen BS2000-Benutzerkennung geschrieben. Soll die Objektdatei in ein anderes Dateiverzeichnis geschrieben werden, muss mit <c-string> der absolute Pfadname angegeben werden.
Bei der Namensbildung ist zu beachten, dass Objektdateien im POSIX-Subsystem nur weiterverarbeitet, d.h. gebunden werden können, wenn der Name das Suffix „.o“ enthält. Eine Namensprüfung durch den Compiler findet nicht statt.
Dieser Operand ist in COBOL-BC nicht verfügbar.
MODULE-OUTPUT = *LIBRARY-ELEMENT(...)
Mit diesem Parameter wird angegeben, in welcher PLAM-Bibliothek (LIBRARY=) und unter welchem Elementnamen (ELEMENT=) das Modul abgelegt werden soll.
LIBRARY=<filename 1..54>
Name der PLAM-Bibliothek, in die das Modul geschrieben werden soll. Wenn die PLAM-Bibliothek noch nicht existiert, wird sie automatisch angelegt.
ELEMENT = *STD
Der Elementname des Moduls wird aus dem PROGRAM-ID-Namen abgeleitet. Die Bildung der standardmäßigen Elementnamen ist im Abschnitt „Ausgabe von Modulen" in Tabelle2 dargestellt.
VERSION =
Angabe der Versionsbezeichnung
VERSION = *UPPER-LIMIT
Wird keine Versionsbezeichnung oder *UPPER-LIMIT angegeben, erhält das Element die höchstmögliche Versionsnummer (vom LMS angezeigt mit „@“).
VERSION = *INCREMENT
Das Element erhält die gegenüber der höchsten vorhandenen Version um 1 inkrementierte Versionsnummer, vorausgesetzt, die höchste vorhandene Versionsbezeichnung endet mit einer inkrementierbaren Ziffer. Andernfalls ist die Versionsbezeichnung nicht inkrementierbar. In diesem Fall wird *UPPER-LIMIT angenommen und eine entsprechende Fehlermeldung ausgegeben.
Beispiel 3-1
höchste vorhandene Version | durch *INCREMENT erzeugte Version |
ABC1 | ABC2 |
ABC | @ und Fehlermeldung |
ABC9 | @ und Fehlermeldung |
ABC09 | ABC10 |
003 | 004 |
keine | 001 |
VERSION = *HIGHEST-EXISTING
Die höchste in der Bibliothek vorhandene Version wird überschrieben.
VERSION = <composed-name 1..24>
Das Element erhält die angegebene Versionsbezeichnung. Soll die Versionsbezeichnung inkrementierbar sein, muss mindestens das letzte Zeichen eine inkrementierbare Ziffer sein (siehe Beispiel 3-1).
ELEMENT = <composed-name 1..32>
Für Bindelademodule (LLMs) kann der Benutzer einen selbstgewählten Elementnamen angeben.
Dieser Operand wird bei der Übersetzung einer Übersetzungsgruppe ignoriert. Statt-dessen werden die Elementnamen der LLMs aus dem jeweiligen PROGRAM-ID-Namen abgeleitet (siehe Abschnitt „Ausgabe von Modulen", Tabelle 2 ).
VERSION = *UPPER-LIMIT / *INCREMENT / *HIGHEST-EXISTING / <composed-name 1..24>
Versionsangabe (siehe oben: Versionsangabe für Objektmodule);
Bei der Übersetzung einer Übersetzungsgruppe erhält jedes Element die gleiche Versionsbezeichnung.