Die BS2000-Compiler COBOL85 ab V2.3 und COBOL2000 können sowohl aus der BS2000-Umgebung (mit SDF) als auch aus der POSIX-Umgebung (Shell) aufgerufen und mit Optionen gesteuert werden.
Die Benutzung der Compiler ist in folgenden Benutzerhandbüchern beschrieben:
Compilersteuerung über die SDF-Schnittstelle
Sämtliche Compiler-Ein-/Ausgaben sind sowohl im BS2000-Dateisystem (DMS/PLAM) als auch im POSIX-Dateisystem möglich:
Eingabe von Quellprogrammen
Eingabe von Copy Elementen
Ausgabe von LLMs
Ausgabe von Übersetzungslisten
Ausgabe von Meldungslisten
Mischfälle, d.h. die Ein- und Ausgabe sowohl von BS2000- als auch von POSIX-Dateien in einem Übersetzungslauf, sind möglich.
Compilersteuerung über die POSIX-Shell-Schnittstelle
Für die Steuerung der COBOL-Compiler aus der POSIX-Umgebung steht das POSIX-Kommando cobol zur Verfügung.
Sämtliche Compiler-Ein-/Ausgaben erfolgen ausschließlich im POSIX-Dateisystem.
In das Kommando cobol ist auch eine Binde-Phase integriert, in der die übersetzten Objekte zu einer ausführbaren Einheit gebunden werden können.
Mit den Optionen und Operanden der oben genannten Aufrufkommandos sind weitgehend die Leistungen und Funktionen abgedeckt, die mit der Compiler-Steuerung über die SDF-Schnittstelle zur Verfügung stehen. Die Syntax des POSIX-Kommandos ist an den in UNIX-Systemen üblichen Shell-Kommandos orientiert.
Hinweise zu CRTE
Mit CRTE (Common RunTime Environment) wird die Laufzeitumgebung für COBOL-Programme bereitgestellt. CRTE ist auch Voraussetzung für die Verwendung des COBOL-Compilers.
Nähere Informationen finden Sie in der Freigabemitteilung des COBOL-Compilers.
Zeichensätze für Ein-/Ausgabe-Dateien
Die Quellprogramme und Include-Dateien können im EBCDIC- oder ASCII-Code vorliegen. Somit ist es auch möglich, Quellprogramme aus Dateisystemen zu übersetzen, die auf einem fernen UNIX-System liegen. Alle Dateien eines Dateisystems (lokales POSIX-Dateisystem oder eingehängtes fernes Dateisystem) müssen im selben Zeichensatz vorliegen. D.h. im POSIX-Dateisystem müssen alle Dateien im EBCDIC-Code und im fernen UNIX-Dateisystemen müssen alle Dateien im ASCII-Code vorliegen.
Die Umgebungsvariable IO_CONVERSION muss mit dem Wert „YES“ belegt sein (siehe dazu auch "Kopieren und Konvertieren von Dateien").
Der Ausgabe-Zeichensatz der Textdateien (Listen etc.) richtet sich nach dem Zeichensatz des Zieldateisystems.
Es wird generell EBCDIC-Ablaufcode erzeugt.
Ablauf von COBOL Anwendungen
Der Zugriff auf Dateien im POSIX-Dateisystem mittels COBOL-IO erfordert die Übersetzung des COBOL-Programms mit der Option COMOPT ENABLE-UFS=YES, die vom POSIX-Kommando cobol implizit gesetzt wird. So übersetzte Programme können dann sowohl BS2000- als auch POSIX-Dateien verarbeiten.
Es gelten ansonsten die im COBOL-Benutzerhandbuch beschriebenen Besonderheiten für COBOL-Programme beim Ablauf unter POSIX-Shell, d. h. es werden folgende Sprachmittel nicht unterstützt:
CALL-Bezeichner,
ENTRY,
READ PREVIOUS und
Dateiverarbeitung mit CODESET STANDARD.
Weitere Unterschiede in der Funktionalität ergeben sich aus Systemunterschieden bei der Dateiverarbeitung, speziell Bandverarbeitung mit Kennsätzen, Simultanverarbeitung von Dateien, Fixpunktausgabe und bei der Zuweisung von Dateien. Im Ausnahmefall wird anstelle des BS2000 DMS-Codes der PROSOS SIS-Code über die Filestatus-Datenfelder zur Verfügung gestellt.
Zur Steuerung der Anwendung von außen stehen Jobvariable sowie Auftrags- und Benutzerschalter nicht zur Verfügung. Als Erweiterung gibt es Sprachmittel zum Zugriff auf die Kommandozeile.