Das COBOL2000-Laufzeitsystem ist Bestandteil des Common RunTime Environment
(CRTE), der gemeinsamen Laufzeitumgebung für COBOL2000- und C/C++-Programme.
Das CRTE ist in einem eigenen CRTE-Benutzerhandbuch [2] beschrieben. Die COBOL2000-Laufzeitroutinen stellen dem COBOL2000-Compiler bekannte Unterprogramme dar. Sie können im wesentlichen in zwei Gruppen unterteilt werden:
1. Unterprogramme für komplexe COBOL-Anweisungen
Beispiele für komplexe COBOL-Anweisungen sind dem Handbuch „COBOL2000-Sprachbeschreibung“ [1] zu entnehmen; aber auch scheinbar einfache Anweisungen (wie z.B. COMPUTE A = B **
C), für die keine entsprechenden Maschinenbefehle existieren, werden durch Bildung von Unterprogrammen und Auslagerung dieser Unterprogramme in vorübersetzte Module realisiert.
2.Unterprogramme zum Anschluss des generierten Moduls an Betriebssystemfunktionen
Diese Unterprogramme dienen hauptsächlich dazu, die Codegenerierung des Compilers
völlig betriebssystemunabhängig zu halten. Die dabei möglicherweise auftretenden Effizienzverluste werden weitgehend durch die größere Betriebssystemunabhängigkeit ausgeglichen. Bei Änderung der Schnittstellen zum Betriebssystem genügt im allgemeinen das erneute Binden der vorhandenen Module mit dem neuen Laufzeitsystem.
Wesentliche Funktionen unter diesem Titel sind:
Anschluss der COBOL-Programme an das Ein-/Ausgabesystem
Anschluss der COBOL-Programme an SORT
Anschluss der COBOL-Programme an UDS/SQL
Anschluss der COBOL-Programme an Ablaufteil-Funktionen
In folgender Tabelle sind die Namen und Funktionen der COBOL2000-Laufzeitmodule aufgeführt. In der Tabelle nicht enthalten sind diejenigen Laufzeitmodule, die nur aus Kompatibilitätsgründen noch im COBOL2000-Laufzeitsystem vorhanden sein müssen, sowie diejenigen Module, die für Zugriffe auf das POSIX-Dateisystem verwendet werden.
Name | Function |
ITCMADPT *) | Adaptermodul bei Partial-Bind-Technik |
ITCMAID1 *) | AID-Anschlussmodul (Datenteil) |
ITCMECE1 *) | ENTRY, CANCEL, EXIT Arbeitsbereich |
ITCMECE2 *) | Tabelle für COMOPT OPTIMIZE-CALL-IDENTIFIER bzw. SDF |
ITCMERF1 *) | Fehleranalyseroutine für Ein-/Ausgabe |
ITCMINIT *) | ILCS-Initialisierung |
ITCMMAT1 *) | Daten für mathematische (IML...-) Funktionen |
ITCMMDP0 *) | OCCURS DEPENDING (rekursiv) |
ITCMMEM1 | ALLOCATE- und FREE-Arbeitsbereich |
ITCMOBAS *) | OO: BASE KLASSE |
ITCMOWK0 *) | OO: Arbeitsbereich für OO Laufzeitroutinen |
ITCMPOVH *) | COBOL2000 Programm-Manager |
ITCMSMG0 *) | SORT-/MERGE-Anweisung |
ITCMSTBO *) | Tabellen sortieren |
ITCMTOM0 *) | TOM Adapter Routine |
ITCMXCAB *) | XML: Callback-Adapter für Basis-Funktionen |
ITCMXCAS *) | XML: Callback-Adapter für XML PARSE-Anweisung |
ITCMXDT1 *) | Datenmodul für Ausnahmebehandlung |
ITCMXHC2 *) | XHCS Konvertierungen Arbeitsbereich |
ITCMXMD1 *) | XML: Datenbereich für XML PARSE-Sonderregister |
ITCMXWK0 *) | XML: Arbeitsbereich für XML-Laufzeitroutinen |
ITCRACA0 | ACCEPT-Anweisung |
ITCRACX0 | ACCEPT-Anweisung für Umgebungsvariable/Kommandozeile |
ITCRAID2 | AID-Anschlussmodul (Prozedurteil) |
ITCRBCT0 | Binäre Konstantentabelle |
ITCRBEG0 | Programmsystem-Initialisierungsroutine |
ITCRCCL1 | CLOSE für INITIAL / CANCEL |
ITCRCHP0 | RERUN-Klausel mit Angabe ganzzahl RECORDS |
ITCRCHP2 | RERUN-Klausel für SORT-Dateien und END OF REEL |
ITCRCLA0 | Vergleich ALL literal |
ITCRCLI0 | CLOSE-Anweisung für indizierte Dateien |
ITCRCLL0 | CLOSE-Anweisung für zeilensequenzielle Dateien |
ITCRCLR0 | CLOSE-Anweisung für relative Dateien |
ITCRCLS0 | CLOSE-Anweisung für sequenzielle Dateien |
ITCRCLX0 | CLOSE-Anweiung für XML-Dateien |
ITCRCMD0 | Ausführen eines BS2000-Kommandos |
ITCRCNA0 | Vergleich nationale figurative Konstante |
ITCRCVB0 | Umwandlung gepackt dezimal nach binär (10 bis 18 Ziffern) |
ITCRCVD0 | Umwandlung binär nach gepackt dezimal (10 bis 18 Ziffern) |
ITCRCVF0 | Umwandlung von/nach Gleitpunkt |
ITCRCVL0 | Umwandlung gepackt + dezimal von/nach binär (>18 Ziffern) |
ITCRDFE0 | Division extern Gleitpunkt |
ITCRDPL0 | Division von Dezimalzahlen > 15 Stellen |
ITCRDSA0 | DISPLAY-Anweisung |
ITCRDSI1 | Speicherzuweisung DYNAMIC-Daten |
ITCRDSX0 | DISPLAY-Anweisung für Umgebungsvariable |
ITCRDYF1 | Beschaffung von Speicherplatz für die Funktionen REVERSE, UPPER-CASE, LOWER-CASE |
ITCRECE0 | ENTRY, CANCEL, EXIT für getrennt übersetzte Programme |
ITCREND0 | Programmbeendigungsroutine (normal und abnormal) |
ITCREPL2 | Ausgeben Zeile mit Vorschub-Steuerzeichen |
ITCREV0 | Ereignisbehandlung (Rückkehr aus einem fremdsprachigen Unterprogramm) |
ITCREV1 | Ereignisbehandlung („recoverable interrupts“) |
ITCREV2 | Ereignisbehandlung („unrecoverable interrupts“) |
ITCREV3 | Ereignisbehandlung (übrige Ereignisse) |
ITCRFAT0 | Tabelle für FACTORIAL-Funktion |
ITCRFCH0 | Meldungsausgabe der Funktionsargumentprüfung |
ITCRFCT1 | Gleitpunkt-Konstanten |
ITCRFDT0 | Datumskonvertierungsfunktionen |
ITCRFMD0 | Funktion MEDIAN |
ITCRFMX0 | Funktionen MAX, MIN, ORD-MAX, ORD-MIN, RANGE, MIDRANGE |
ITCRFNM0 | Funktionen NUMVAL, NUMVAL-C |
ITCRFPV0 | Funktion PRESENT-VALUE |
ITCRFRN0 | Funktion RANDOM |
ITCRFST0 | Funktionen REVERSE, UPPER-CASE, LOWER-CASE, DISPLAY-OF, NATIONAL-OF |
ITCRFVR0 | Funktion VARIANCE |
ITCRHSW0 | Setzen und Prüfen von Auftrags-/Benutzerschaltern |
ITCRIFA0 | FCB-Initialisierung; Steuerroutine |
ITCRIFC1 | RERUN-Klausel FCB-Generierung |
ITCRIFI1 | ISAM-FCB-Generierung für indizierte Dateien |
ITCRIFL1 | SAM-FCB-Generierung für zeilensequenzielle Dateien |
ITCRIFR1 | ISAM-FCB-Generierung für relative Dateien |
ITCRIFS1 | SAM-FCB-Generierung für sequenzielle Dateien |
ITCRIFX1 | FCB-Generierung für XML-Dateien |
ITCRINI0 | INITIALIZE-Anweisung |
ITCRINS0 | INSPECT-Anweisung |
ITCRLHS2 | Benutzerkennsatzbehandlung für sequenzielle Dateien |
ITCRLNL1 | LINAGE-Klausel bei WRITE für zeilensequenzielle Dateien |
ITCRLNS1 | LINAGE-Klausel bei WRITE für satzsequenzielle Dateien |
ITCRMAT0 | Verbindungsmodul zu den mathematischen (IML...-) Funktionen |
ITCRMEM0 | ALLOCATE- und FREE-Anweisung |
ITCRMEV2 | Unterbrechungsmeldung für Event-Handling-Routine |
ITCRMPL0 | Multiplikation von Dezimalzahlen > 15 Stellen |
ITCRMSG0 | Ausgabe von Fehlermeldungen, level 0 |
ITCRMSG3 | Ausgabe von Fehlermeldungen |
ITCRMVE0 | MOVE für numerisch-druckaufbereitete Felder |
ITCRNED0 | Deeditierender MOVE |
ITCRNSP0 | CALL, CANCEL, ENTRY, EXIT im geschachtelten Programm |
ITCROCA0 | Prüfen Übereinstimmung aktuelle / formale Methodenparameter |
ITCROFP2 | OO: Formale Parameterbeschreibung bereitstellen |
ITCROIF1 | OO: Initialisierungsroutine für Dateien in Objekten |
ITCROIS0 | OO: Initialisierungsroutine für Klassen / Interfaces |
ITCROMD0 | OO: Prüfroutine für Objektsicht (object- view) |
ITCROMS1 | OO: Ausgabe von OO-Fehlermeldungen |
ITCRONW1 | OO: Neues Objekt erzeugen und initialisieren |
ITCROOI0 | Steuerroutine für Objektorientierte Initialisierung und Beendigung |
ITCROPI0 | OPEN-Anweisung für indizierte Dateien |
ITCROPL0 | OPEN-Anweisung für zeilensequenzielle Dateien |
ITCROPR0 | OPEN-Anweisung für relative Dateien |
ITCROPS0 | OPEN-Anweisung für sequenzielle Dateien |
ITCROPX0 | OPEN-Anweiung für XML-Dateien |
ITCROSM0 | OO: Methode auswählen |
ITCROTC2 | OO: Konformitätstest |
ITCROVC1 | OO: Prüfen von Interface Konformität |
ITCROVI2 | OO: Prüfen von Klassenvererbung |
ITCRPAM1 | physische Lese-/Schreibroutine für relative Dateien (PAM) |
ITCRPBND | Partial-Bind-Großmodul |
ITCRPCA0 | Vergleiche unter PROGRAM COLLATING SEQUENCE |
ITCRPCS0 | Vergleiche unter PROGRAM COLLATING SEQUENCE |
ITCRRCH0 | Überprüfung von Tabellengrenzen |
ITCRRDI0 | READ-/START-Anweisung für indizierte Dateien |
ITCRRDL0 | READ-/START-Anweisung für zeilensequenzielle Dateien |
ITCRRDR0 | READ-/START-Anweisung für relative Dateien |
ITCRRDS0 | READ-Anweisung für sequenzielle Dateien |
ITCRRDX0 | READ-/START-Anweiung für XML-Dateien |
ITCRRPW0 | REPORT-WRITER-Steuermodul |
ITCRSCH0 | SEARCH-ALL-Anweisung |
ITCRSEG0 | Ansprung segmentierter COBOL-Programme |
ITCRST11 | CODE SET-Tabelle für ASCII |
ITCRST21 | CODE SET-Tabelle für ISO-7 |
ITCRSTG0 | STRING-Anweisung |
ITCRSTP0 | STOP literal-Anweisung |
ITCRTCA1 | Klassentest-Tabelle für Test auf ALPHABETIC |
ITCRTCD1 | Klassentest-Tabelle für Test auf NUMERIC (COMP-3 mit Vorz.) |
ITCRTCE1 | Klassentest-Tabelle für Test auf NUMERIC (COMP-3 ohne Vorz.) |
ITCRTCL1 | Klassentest-Tabelle für Test auf ALPHABETIC-LOWER |
ITCRTCN0 | Klassentest für nationale Operanden |
ITCRTCP1 | Klassentest-Tabelle für Test auf ALPHABETIC-UPPER |
ITCRTCS1 | Klassentest-Tabelle für Test auf NUMERIC (mit Vorzeichen) |
ITCRTCU1 | Klassentest-Tabelle für Test auf NUMERIC |
ITCRTCV0 | Klassentest bei Datenfeldern > 256 Byte oder Variablen |
ITCRTOD3 | Tageszeit / Datum (SVC-frei) |
ITCRUDS0 | DML-Link zum Database Handler |
ITCRUPC0 | Abwicklung Declaratives |
ITCRUPC1 | Abwicklung Declaratives |
ITCRUPC2 | Abwicklung Declaratives |
ITCRUST0 | UNSTRING-Anweisung |
ITCRVCL0 | Vergleich für Felder variabler Länge/Adresse oder > 256 Byte |
ITCRVCN0 | Vergleich nationaler Felder variabler Länge/Adresse oder >256 Byte |
ITCRVMA0 | MOVE ALL literal |
ITCRVMN0 | MOVE für nationale Felder variabler Länge/Adresse oder > 256 Byte |
ITCRVMP0 | Auffüllen für Felder > 256 Byte bei MOVE |
ITCRVMV0 | MOVE für Felder variabler Länge/Adresse oder > 256 Byte |
ITCRWRI0 | WRITE-/REWRITE-Anweisung für indizierte Dateien |
ITCRWRL0 | WRITE-/REWRITE-Anweisung für zeilensequenzielle Dateien |
ITCRWRR0 | WRITE-/REWRITE-Anweisung für relative Dateien |
ITCRWRS0 | WRITE-Anweisung für sequenzielle Dateien |
ITCRXBND | XML: Parser-Nachladeroutine |
ITCRXCFB | XML: Callback-Funktionen für Basis-Funktionalität |
ITCRXCFS | XML: Callback-Funktionen für XML PARSE-Anweisung |
ITCRXDP1 | XML: Dokument-Baum-Verarbeitung |
ITCRXFS0 | Erweiterter File Status |
ITCRXGE0 | XML GENERATE-Anweisung |
ITCRXHC1 | XHCS Konvertierungen |
ITCRXIT0 | FILE STATUS und Fehlerbehandlungsroutine |
ITCRXLC0 | Ausnahmebehandlung |
ITCRXPA0 | XML PARSE-Anweisung |
ITCRXPC1 | XML: Dokument-Datei-Verarbeitung |
ITCRXPF0 | Potenzierung (Gleitpunkt) |
ITCRXPI0 | Potenzierung (Ganzzahl) |
*) Modul nicht gemeinsam benutzbar