Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

Compiler- und Betriebssysteminformationen

COBOL-Programme können auf Informationen des Compilers und des Betriebssystems zugreifen. Dazu gehören Informationen über

  • die Übersetzung der Übersetzungseinheit

  • die seit dem LOGON verbrauchte CPU-Zeit

  • die Task, in der das Programm abläuft, und

  • die Datenstation, von der aus das Programm aufgerufen wurde.

Den Zugriff auf diese Informationen unterstützt COBOL2000 durch folgende Sprachmittel:

  • Die Vereinbarung programminterner Merknamen für die einzelnen Informationsarten im SPECIAL-NAMES-Paragrafen der ENVIRONMENT DIVISION:
    Über diese Merknamen kann die ACCEPT-Anweisung der PROCEDURE DIVISION auf die jeweilige Information zugreifen (siehe unten). Es können Merknamen vereinbart werden für Informationen über

    • die Übersetzung mit COMPILER-INFO IS merkname

    • die verbrauchte CPU-Zeit mit CPU-TIME IS merkname

    • den Prozess mit PROCESS-INFO IS merkname

    • die Datenstation mit TERMINAL-INFO IS merkname

    • das Datum mit DATE-ISO4 IS merkname (mit Jahrhundert)

  • Die ACCEPT-Anweisung in der PROCEDURE DIVISION:

    ACCEPT...FROM merkname

    bringt die (im SPECIAL-NAMES-Paragrafen) mit merkname verknüpften Informationen in das angegebene Empfangsfeld.

    Die Daten werden dabei linksbündig in der Länge des Empfangsfeldes der ACCEPT-Anweisung übertragen:
    Ist das Feld länger als der zu übertragende Wert, wird es am rechten Ende mit Leerzeichen aufgefüllt; ist es kürzer, wird der Wert bei der Übertragung rechts auf die Feldlänge abgeschnitten. Dies gilt nicht für CPU-TIME: Dort wird immer eine adäquate numerische Übertragung durchgeführt.
    In welcher Länge (und ggf. mit welcher Struktur) das Empfangsfeld zu vereinbaren ist, hängt von der Art der Information ab, die es aufnehmen soll. Die Formate der einzelnen Informationstypen können der Zusammenstellung im folgenden Abschnitt entnommen werden.

Inhalt und Struktur der Informationen

Die folgende Tabelle gibt Aufschluss über den Aufbau der Informationen, die einem COBOL-Programm über die Herstellernamen COMPILER-INFO, CPU-TIME, PROCESS-INFO, TERMINAL-INFO und DATE-ISO4 zur Verfügung gestellt werden.

Zeichenpositionen

Informationen für COMPILER-INFO

1-10

Name des Compilers (COBOL2000 'BLANK',COBOL2000B,COBOL2000R)

11-20

Version des Compilers
Format: Vzz.zbzzzz
z = Ziffer oder Leerzeichen
b = Buchstabe oder Leerzeichen,
(z.B. „V01.0A “)

21-30

Datum der Übersetzung
Format: JJJJ-MM-TT (z.B. „1999-12-31“)

31-38

Uhrzeit der Übersetzung
Format: HH-MM-SS (z.B. „23-59-59“)

39-68

Name der Übersetzungseinheit (PROGRAM-ID-Name)


Information für CPU-TIME

PIC 9(6)V9(4)

CPU-Zeit auf zehntausendstel Sekunden genau

Zeichenpositionen

Informationen für PROCESS-INFO

1

Auftragstyp
Inhalt: B für Batch, D für Dialog

2-5

TSN-Nummer

6-13

Benutzerkennung

14-21

Abrechnungsnummer

22

Privilegierungszeichen der TaskInhalt: U für BenutzerS für Systemverwalter

23-32

Betriebssystemversion
Format: Vzz.zbzzzz (z.B. „V11.2 “)

33-40

Name des nächsten Rechners, an den die Datensichtstation angeschlossen ist

Tabelle 15: Struktur der Compiler- und Betriebssysteminformationen

Zeichenpositionen

Informationen für PROCESS-INFO

41-120

Systemverwalter-Privilegien; die Felder enthalten 8 Leerzeichen, wenn das Privileg nicht vorhanden ist.

41-48

SECADM

49-56

USERADM

57-64

HSMSADM

65-72

SECOLTP

73-80

TAPEADM

81-88

SATFGMMF

89-96

NETADM

97-104

FTADM

105-112

FTACADM

113-120

TSOS

Zeichenpositionen

Informationen für TERMINAL-INFO

1-8

Stationsname

9-13

Anzahl der Zeichen pro Zeile

14-18

Anzahl der physikalischen Zeilen, die ausgegeben werdenkönnen, ohne dass die Informationsüberlaufkontrolle anspricht.

19-23

Anzahl der Zeichen, die ausgegeben werden können, ohne dass die Informationsüberlaufkontrolle anspricht.

24-27

Gerätetyp

Ist ein Gerätetyp dem Laufzeitsystem nicht bekannt, enthalten diese Positionen Leerzeichen.

Zeichenpositionen

Informationen für DATE-ISO4

1-14

aktuelles Tagesdatum (einschließlich Jahrhundert JJJJ und Tageszahl NNN des laufenden Jahres)
Format: JJJJ-MM-DDNNN'BLANK'

Tabelle 15: Struktur der Compiler- und Betriebssysteminformationen

Beispiel 8-6

Datenstrukturen für die Übernahme von Compiler- und Betriebssystem-Informationen durch die ACCEPT-Anweisung

   *
    01  COMPILER-INFORMATION.
        02  COMPILER-NAME                      PIC X(10).
        02  COMPILER-VERSION                   PIC X(10).
        02  UEBERSETZUNGS-DATUM                PIC X(10).
        02  UEBERSETZUNGS-ZEIT                 PIC X(8).
        02  PROGRAM-NAME                       PIC X(30).
   *
    01 CPU-ZEIT-IN-SEKUNDEN                    PIC 9(6)V9(4).
   *
    01 PROZESS-INFORMATION.
        02  PROZESS-ART                        PIC X.
            88 BATCH-PROZESS                             VALUE "B".
            88 DIALOG-PROZESS                            VALUE "D".
        02  PROZESS-FOLGENUMMER                PIC X(4).
        02  BENUTZERKENNUNG                    PIC X(8).
        02  ABRECHNUNGSNUMMER                  PIC X(8).
        02  PRIVILEGIERUNGSKENNZEICHEN         PIC X.
            88  SYSTEMVERWALTER                          VALUE "S".
            88  BENUTZER                                 VALUE "U".
        02  BETRIEBSSYSTEMVERSION              PIC X(10).
        02  PROZESSORNAME                      PIC X(8).
        02  SYSTEMVERWALTER-PRIVILEGIEN        PIC X(80).
   *
    01  TERMINAL-INFORMATION.
        02  STATIONS-NAME                      PIC X(8).
        02  ZEICHEN-PRO-ZEILE                  PIC 9(5).
        02  ZEILEN-PRO-SCHIRM                  PIC 9(5).
        02  ZEICHEN-PRO-SCHIRM                 PIC 9(5).
        02  GERAETE-TYP                        PIC X(4).
  *
   01  AKTUELLES-DATUM.
        05  JAHR                               PIC X(4).
        05  FILLER                             PIC X.
        05  MONAT                              PIC X(2).
        05  FILLER                             PIC X.
        05  TAG                                PIC X(2).
        05  TAG-DES-JAHRES                     PIC X(3).
        05  FILLER                             PIC X.