1056
Ausgabe April 2009 COBOL2000 V1.5 COBOL-Compiler

COBOL2000 V1.5 Sprachbeschreibungmanuals.ts.fujitsu.com/file/8495/cob2bs.pdf · Inhalt U41112-J-Z125-6 2.5 Eindeutigkeit von Bezugnahmen . . . . . . . . . . . . . . . . . . .

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

  • Ausgabe April 2009

    Dok

    usch

    ablo

    nen

    19x2

    4 Ve

    rsio

    n 7.

    32de

    für F

    ram

    eMak

    er V

    7.x

    vom

    28.

    03.2

    007

    © c

    ogni

    tas

    Gm

    bH 2

    001-

    2007

    13. M

    ai 2

    009

    Sta

    nd 1

    3:05

    .18

    Pfa

    d: F

    :\ger

    traud

    \CO

    BOL\

    Cob

    ol20

    00_V

    15\M

    anua

    le\C

    obol

    _SB

    \cob

    2bs.

    d\G

    esam

    tbuc

    h\co

    b2bs

    .vor

    COBOL2000 V1.5COBOL-Compiler

  • Copyright und Handelsmarken

    Dieses Handbuch wurde auf chlorfrei gebleichtem Papier gedruckt.

    Kritik… Anregungen… Korrekturen…Die Redaktion ist interessiert an Ihren Kommentaren zu diesem Handbuch. Ihre Rückmeldungen helfen uns, die Dokumentation zu optimieren und auf Ihre Wünsche und Bedürfnisse abzustimmen.

    Sie können uns Ihre Kommentare per E-Mail an [email protected] senden.

    Zertifizierte Dokumentation nach DIN EN ISO 9001:2000Um eine gleichbleibend hohe Qualität und Anwenderfreundlichkeit zu gewährleisten, wurde diese Dokumentation nach den Vorgaben eines Qualitätsmanagementsystems erstellt, welches die Forderungen der DIN EN ISO 9001:2000 erfüllt.

    cognitas. Gesellschaft für Technik-Dokumentation mbHwww.cognitas.de

    Copyright © Fujitsu Technology Solutions GmbH 2009.

    Alle Rechte vorbehalten.Liefermöglichkeiten und technische Änderungen vorbehalten.

    Alle verwendeten Hard- und Softwarenamen sind Handelsnamen und/oder Warenzeichen der jeweiligen Hersteller.

    mailto:[email protected]://www.cognitas.de

  • U41112-J-Z125-6

    Dok

    usch

    ablo

    nen

    19x2

    4 Ve

    rsio

    n 7.

    32de

    für F

    ram

    eMak

    er V

    7.x

    vom

    28.

    03.2

    007

    © c

    ogni

    tas

    Gm

    bH 2

    001-

    2007

    13. M

    ai 2

    009

    Sta

    nd 1

    3:05

    .18

    Pfad

    : F:\g

    ertra

    ud\C

    OB

    OL\

    Cob

    ol20

    00_V

    15\M

    anua

    le\C

    obol

    _SB

    \cob

    2bs.

    d\G

    esam

    tbuc

    h\co

    b2bs

    .ivz

    Inhalt

    1 Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

    1.1 Kurzbeschreibung des Produkts . . . . . . . . . . . . . . . . . . . . . . . . . . 17

    1.2 Zielgruppe und Konzept des Handbuchs . . . . . . . . . . . . . . . . . . . . . . 18

    1.3 Änderungen gegenüber der Vorgängerversion . . . . . . . . . . . . . . . . . . . 20

    1.4 Anerkennung (Acknowledgment) . . . . . . . . . . . . . . . . . . . . . . . . . . 21

    1.5 Readme-Datei . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

    2 Einführung in die COBOL-Sprache . . . . . . . . . . . . . . . . . . . . . . . . . 23

    2.1 Begriffserklärungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

    2.2 COBOL-Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

    2.3 Referenzformate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 722.3.1 Allgemeine Beschreibung des Fixed-Form-Referenzformats . . . . . . . . . . . . . 732.3.2 Regeln für die Anwendung des Fixed-Form-Referenzformats . . . . . . . . . . . . . 742.3.3 Allgemeine Beschreibung des Free-Form-Referenzformats . . . . . . . . . . . . . . 772.3.4 Regeln für die Anwendung des Free-Form-Referenzformats . . . . . . . . . . . . . 77

    2.4 Sprachkonzept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 792.4.1 COBOL-Zeichenvorrat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 792.4.2 Trennsymbole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 802.4.3 COBOL-Wörter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 822.4.4 Literale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 952.4.5 Maskenzeichenfolge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1032.4.6 Typen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1032.4.7 Null-längige Datenfelder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1052.4.8 Konzept der maschinenunabhängigen Datenbeschreibung . . . . . . . . . . . . . . 1052.4.9 Herstellerabhängige Darstellung und Ausrichtung von Daten . . . . . . . . . . . . . 117

  • Inhalt

    U41112-J-Z125-6

    2.5 Eindeutigkeit von Bezugnahmen . . . . . . . . . . . . . . . . . . . . . . . . . . 1212.5.1 Kennzeichnung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1212.5.2 Subskribierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1242.5.3 Indizierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1262.5.4 Funktionsbezeichner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1282.5.5 Teilfeldselektion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1292.5.6 Bezeichner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1312.5.7 Objektsicht (object-view) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1322.5.8 Vordefinierte Objektreferenzen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134

    NULL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134SELF und SUPER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

    2.5.9 Vordefinierte Adresse NULL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1362.5.10 Datenadressbezeichner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1372.5.11 Programmadressbezeichner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1382.5.12 BYTE-LENGTH OF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1392.5.13 LENGTH OF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1402.5.14 Bedingungsname . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

    2.6 Tabellenbearbeitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1422.6.1 Tabellendefinition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1432.6.2 Subskribierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1472.6.3 Indizierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1492.6.4 Vergleich von Subskribierung und Indizierung . . . . . . . . . . . . . . . . . . . . 151

    2.7 Anweisungen und Programmsätze . . . . . . . . . . . . . . . . . . . . . . . . . 1522.7.1 Bedingte Anweisungen und bedingte Programmsätze . . . . . . . . . . . . . . . . 1522.7.2 Übersetzungssteueranweisungen . . . . . . . . . . . . . . . . . . . . . . . . . . 1532.7.3 Unbedingte Anweisungen und unbedingte Programmsätze . . . . . . . . . . . . . 1532.7.4 Explizit begrenzte Anweisungen . . . . . . . . . . . . . . . . . . . . . . . . . . . 1552.7.5 Bereichsbegrenzer (Scope Terminators) . . . . . . . . . . . . . . . . . . . . . . . 155

    2.8 Verarbeiten eines COBOL-Programms . . . . . . . . . . . . . . . . . . . . . . . 156

    2.9 EBCDIC-Zeichensatz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

    3 Steuerung des Compilers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161

    3.1 Anweisungen zur Quelltextmanipulation . . . . . . . . . . . . . . . . . . . . . 162COPY-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163REPLACE-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169

    3.2 Compiler-Direktiven . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172CALL-CONVENTION-Direktive . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175DEFINE-Direktive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177EVALUATE-Direktive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179

  • Inhalt

    U41112-J-Z125-6

    © S

    iem

    ens

    Nix

    dorf

    Info

    rmat

    ions

    syst

    eme

    AG 1

    995

    Pfa

    d: F

    :\ger

    traud

    \CO

    BOL\

    Cob

    ol20

    00_V

    15\M

    anua

    le\C

    obol

    _SB\

    cob2

    bs.d

    \Ges

    amtb

    uch\

    cob2

    bs.iv

    z

    FLAG-85-Direktive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181IF-Direktive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182IMP-Direktive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183IMP COMPILER-ACTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183IMP LISTING-OPTIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183IMP PRINT-DIRECTIVES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183IMP RUNTIME-ERRORS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183IMP SET-DIRECTIVES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184LISTING-Direktive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185PAGE-Direktive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186SOURCE FORMAT-Direktive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187TURN-Direktive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188

    4 Struktur einer COBOL-Übersetzungsgruppe . . . . . . . . . . . . . . . . . . . . 189

    4.1 Allgemeine Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189

    4.2 COBOL-Übersetzungsgruppe . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190

    4.3 END-Einträge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195

    5 IDENTIFICATION DIVISION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197

    5.1 Allgemeine Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197

    5.2 Allgemeines Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197

    5.3 Paragrafen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198PROGRAM-ID-Paragraf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198CLASS-ID-Paragraf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203FACTORY-Paragraf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205OBJECT-Paragraf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206METHOD-ID-Paragraf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207INTERFACE-ID-Paragraf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209

    6 ENVIRONMENT DIVISION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211

    6.1 Allgemeine Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211

    6.2 CONFIGURATION SECTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213SOURCE-COMPUTER-Paragraf . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214OBJECT-COMPUTER-Paragraf . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215SPECIAL-NAMES-Paragraf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216

  • Inhalt

    U41112-J-Z125-6

    herstellername . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217ARGUMENT-NUMBER / ARGUMENT-VALUE / ENVIRONMENT-NAME /

    ENVIRONMENT-VALUE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219ALPHABET-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220SYMBOLIC CHARACTERS-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . 226CLASS-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228CURRENCY SIGN-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229DECIMAL-POINT IS COMMA-Klausel . . . . . . . . . . . . . . . . . . . . . . . . 230REPOSITORY-Paragraf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231

    6.3 INPUT-OUTPUT SECTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234FILE-CONTROL-Paragraf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235SELECT-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237ASSIGN-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239ACCESS MODE-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241ALTERNATE RECORD KEY-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . 243FILE STATUS-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245ORGANIZATION-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246PADDING CHARACTER-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . 247RECORD DELIMITER-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248RECORD KEY-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249RESERVE-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250I-O-CONTROL-Paragraf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251MULTIPLE FILE TAPE-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252RERUN-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253SAME AREA-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257

    7 DATA DIVISION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261

    7.1 Allgemeine Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261Struktur der DATA DIVISION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262Allgemeines Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262FILE SECTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263WORKING-STORAGE SECTION . . . . . . . . . . . . . . . . . . . . . . . . . . . 263LOCAL-STORAGE SECTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263LINKAGE SECTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264REPORT SECTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264SUB-SCHEMA SECTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264

    7.2 Dateierklärung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265Formate der Dateierklärung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265Klauseln für die Dateierklärung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269BLOCK CONTAINS-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269

  • Inhalt

    U41112-J-Z125-6

    © S

    iem

    ens

    Nix

    dorf

    Info

    rmat

    ions

    syst

    eme

    AG 1

    995

    Pfa

    d: F

    :\ger

    traud

    \CO

    BOL\

    Cob

    ol20

    00_V

    15\M

    anua

    le\C

    obol

    _SB\

    cob2

    bs.d

    \Ges

    amtb

    uch\

    cob2

    bs.iv

    z

    CODE-SET-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272DATA RECORDS-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273EXTERNAL-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274GLOBAL-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277LABEL RECORDS-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278LINAGE-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280RECORD-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284RECORDING MODE-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288VALUE OF-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289

    7.3 Datenerklärung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290Allgemeine Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290Formate der Datenerklärung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292Stufennummer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295Klauseln für die Datenerklärung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297ANY LENGTH-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297BASED-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299BLANK WHEN ZERO-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300DYNAMIC-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302Datenname- oder FILLER-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . 303EXTERNAL-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305GLOBAL-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307GROUP-USAGE-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309JUSTIFIED-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310OCCURS-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312PICTURE-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319REDEFINES-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335RENAMES-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339SIGN-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342SYNCHRONIZED-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346TYPE-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350TYPEDEF-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352USAGE-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354DISPLAY-Angabe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356NATIONAL-Angabe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358BINARY-Angabe oder COMPUTATIONAL-Angabe oder

    COMPUTATIONAL-5-Angabe . . . . . . . . . . . . . . . . . . . . . . . . . . . 359COMPUTATIONAL-1-Angabe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360COMPUTATIONAL-2-Angabe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361COMPUTATIONAL-3-Angabe oder PACKED-DECIMAL-Angabe . . . . . . . . . . . 362INDEX-Angabe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365OBJECT REFERENCE-Angabe . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366POINTER-Angabe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368PROGRAM-POINTER-Angabe . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369

  • Inhalt

    U41112-J-Z125-6

    VALUE-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370

    8 PROCEDURE DIVISION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381

    8.1 Allgemeine Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381Struktur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382

    8.2 PROCEDURE DIVISION-Überschrift . . . . . . . . . . . . . . . . . . . . . . . . 385

    8.3 DECLARATIVES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388

    8.4 Arithmetische Ausdrücke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390

    8.5 Bedingungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393Bedingungsnamen-Bedingung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394Klassenbedingung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395Schalterzustandsbedingung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397Vergleichsbedingung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398Vorzeichen-Bedingung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406OMITTED-ARGUMENT-Bedingung . . . . . . . . . . . . . . . . . . . . . . . . . . 407Zusammengesetzte Bedingungen . . . . . . . . . . . . . . . . . . . . . . . . . . 408Indirekte Subjekte und Vergleichsoperatoren . . . . . . . . . . . . . . . . . . . . . 411

    8.6 Arithmetische Anweisungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414

    8.7 Angaben in Anweisungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417CORRESPONDING-Angabe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417GIVING-Angabe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419ROUNDED-Angabe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420ON SIZE ERROR-Angabe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421

    8.8 Überlappende Operanden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423

    8.9 Inkompatible Daten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423

    8.10 Anweisungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424ACCEPT-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424ADD-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430ALLOCATE-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433ALTER-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435CALL-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436CANCEL-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449CLOSE-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452COMPUTE-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458CONTINUE-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460DELETE-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462DISPLAY-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464

  • Inhalt

    U41112-J-Z125-6

    © S

    iem

    ens

    Nix

    dorf

    Info

    rmat

    ions

    syst

    eme

    AG 1

    995

    Pfa

    d: F

    :\ger

    traud

    \CO

    BOL\

    Cob

    ol20

    00_V

    15\M

    anua

    le\C

    obol

    _SB\

    cob2

    bs.d

    \Ges

    amtb

    uch\

    cob2

    bs.iv

    z

    DIVIDE-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469ENTRY-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473EVALUATE-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475EXIT-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482EXIT METHOD-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484EXIT PARAGRAPH-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485EXIT PERFORM-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486EXIT PROGRAM-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488EXIT SECTION-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489FREE-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490GOBACK-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492GO TO-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493IF-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495INITIALIZE-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498INSPECT-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507INVOKE-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516MERGE-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521MOVE-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529MULTIPLY-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 538OPEN-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540PERFORM-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546RAISE-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569READ-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570RELEASE-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578RESUME-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 580RETURN-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 581REWRITE-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584SEARCH-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 588SET-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 598SORT-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613START-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 627STOP-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 630STRING-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 631SUBTRACT-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635UNSTRING-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 638USE-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 644WRITE-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 660

  • Inhalt

    U41112-J-Z125-6

    9 Interne Standard-Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673

    9.1 Allgemeines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673

    9.2 Übersicht über die Standard-Funktionen . . . . . . . . . . . . . . . . . . . . . 677ACOS - Arcuscosinus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 681ADDR - Adresse eines Bezeichners . . . . . . . . . . . . . . . . . . . . . . . . . 682ANNUITY - Annuität . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 683ASIN - Arcussinus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 686ATAN - Arcustangens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 687BYTE-LENGTH - Anzahl Bytes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 688CHAR - Zeichen in der alphanumerischen Sortierfolge . . . . . . . . . . . . . . . . 690CHAR-NATIONAL - Zeichen in der nationalen Sortierfolge . . . . . . . . . . . . . . 691COS - Cosinus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 692CURRENT-DATE - Aktuelles Datum . . . . . . . . . . . . . . . . . . . . . . . . . 693DATE-OF-INTEGER - Datumskonversion . . . . . . . . . . . . . . . . . . . . . . 694DATE-TO-YYYYMMDD - Jahreszahlkonversion . . . . . . . . . . . . . . . . . . . 695DAY-OF-INTEGER - Datumskonversion . . . . . . . . . . . . . . . . . . . . . . . 697DAY-TO-YYYYDDD - Jahreszahlkonversion . . . . . . . . . . . . . . . . . . . . . 698DISPLAY-OF - alphanumerische Zeichendarstellung . . . . . . . . . . . . . . . . . 700EXCEPTION-STATUS - Ausnahmezustand . . . . . . . . . . . . . . . . . . . . . 702FACTORIAL - Fakultät . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 703INTEGER - Nächstkleinere Ganzzahl . . . . . . . . . . . . . . . . . . . . . . . . . 704INTEGER-OF-DATE - Datumskonversion . . . . . . . . . . . . . . . . . . . . . . 705INTEGER-OF-DAY - Datumskonversion . . . . . . . . . . . . . . . . . . . . . . . 707INTEGER-PART - Ganzzahliger Teil eines Gleitpunktwertes . . . . . . . . . . . . . 708LENGTH - Anzahl Zeichen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 709LOG - Logarithmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 710LOG10 - Logarithmus zur Basis 10 . . . . . . . . . . . . . . . . . . . . . . . . . . 711LOWER-CASE - Kleinbuchstaben . . . . . . . . . . . . . . . . . . . . . . . . . . 712MAX - Maximalwert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 714MEAN - Arithmetischer Mittelwert . . . . . . . . . . . . . . . . . . . . . . . . . . . 716MEDIAN - Mittlerer Argumentwert . . . . . . . . . . . . . . . . . . . . . . . . . . 717MIDRANGE - Mittelwert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 718MIN - Minimalwert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 719MOD - Modulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 721NATIONAL-OF - nationale Zeichendarstellung . . . . . . . . . . . . . . . . . . . . 722NUMVAL - Numerischer Wert einer Zeichenkette . . . . . . . . . . . . . . . . . . 724NUMVAL-C - Numerischer Wert einer Zeichenkette mit

    optionalem Währungszeichen . . . . . . . . . . . . . . . . . . . 726ORD - Ordnungsposition in der Sortierfolge . . . . . . . . . . . . . . . . . . . . . 728ORD-MAX - Position des höchstwertigen Arguments . . . . . . . . . . . . . . . . . 729ORD-MIN - Position des niedrigstwertigen Arguments . . . . . . . . . . . . . . . . 730PRESENT-VALUE - Zeitwert (Tilgungsbetrag) . . . . . . . . . . . . . . . . . . . . 731

  • Inhalt

    U41112-J-Z125-6

    © S

    iem

    ens

    Nix

    dorf

    Info

    rmat

    ions

    syst

    eme

    AG 1

    995

    Pfa

    d: F

    :\ger

    traud

    \CO

    BOL\

    Cob

    ol20

    00_V

    15\M

    anua

    le\C

    obol

    _SB\

    cob2

    bs.d

    \Ges

    amtb

    uch\

    cob2

    bs.iv

    z

    RANDOM - Zufallszahl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 733RANGE - Differenzwert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 736REM - Divisionsrest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 737REVERSE - Umgekehrte Zeichenreihenfolge . . . . . . . . . . . . . . . . . . . . . 738SIN - Sinus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 739SQRT - Quadratwurzel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 740STANDARD-DEVIATION - Standardabweichung . . . . . . . . . . . . . . . . . . . 741SUM - Summe der Argumentwerte . . . . . . . . . . . . . . . . . . . . . . . . . . . 743TAN - Tangens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 744UPPER-CASE - Großbuchstaben . . . . . . . . . . . . . . . . . . . . . . . . . . . 745VARIANCE - Varianz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 747WHEN-COMPILED - Datum und Uhrzeit der Übersetzung . . . . . . . . . . . . . . 748YEAR-TO-YYYY - Jahreszahlenkonversion . . . . . . . . . . . . . . . . . . . . . . 749

    10 Listenprogramm (Report-Writer) . . . . . . . . . . . . . . . . . . . . . . . . . . . 753

    10.1 Allgemeine Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75310.1.1 Allgemeine Beschreibung der DATA DIVISION . . . . . . . . . . . . . . . . . . . . 75410.1.2 Allgemeine Beschreibung der PROCEDURE DIVISION . . . . . . . . . . . . . . . . 757

    10.2 Sprachelemente DATA DIVISION . . . . . . . . . . . . . . . . . . . . . . . . . . . 758REPORT-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 758REPORT SECTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 759Listenerklärung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 760CODE-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 761CONTROL-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 762GLOBAL-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 766PAGE LIMIT-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 767Leistenerklärung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 773COLUMN-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 778GROUP INDICATE-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 780LINE-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 782NEXT GROUP-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 787PICTURE-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 790SIGN-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 791SOURCE-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 793SUM-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 795TYPE-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 804USAGE-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 809VALUE-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 810

  • Inhalt

    U41112-J-Z125-6

    10.3 Sprachelemente PROCEDURE DIVISION . . . . . . . . . . . . . . . . . . . . . 811GENERATE-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 811INITIATE-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 814TERMINATE-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 815USE BEFORE REPORTING-Anweisung . . . . . . . . . . . . . . . . . . . . . . . 816

    10.4 Sonderregister des Listenprogramms . . . . . . . . . . . . . . . . . . . . . . . 818LINE-COUNTER-Sonderregister . . . . . . . . . . . . . . . . . . . . . . . . . . . 818PAGE-COUNTER-Sonderregister . . . . . . . . . . . . . . . . . . . . . . . . . . 819PRINT-SWITCH-Sonderregister . . . . . . . . . . . . . . . . . . . . . . . . . . . 820CBL-CTR-Sonderregister . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 821Funktion 1 des CBL-CTR-Sonderregisters . . . . . . . . . . . . . . . . . . . . . . 822Funktion 2 des CBL-CTR-Sonderregisters . . . . . . . . . . . . . . . . . . . . . . 824

    11 XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 825

    11.1 Allgemeine Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 825

    11.2 Sprachelemente ENVIRONMENT DIVISION . . . . . . . . . . . . . . . . . . . . 827FILE-CONTROL-Paragraf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 827SELECT-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 828ASSIGN-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 829ACCESS MODE-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 831FILE STATUS-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 832ORGANIZATION-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 834

    11.3 Sprachelemente DATA DIVISION . . . . . . . . . . . . . . . . . . . . . . . . . . 835Dateierklärung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 837EXTERNAL-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 838GLOBAL-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 839Datenerklärung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 840COUNT-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 842IDENTIFIED-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 843

    11.4 Sprachelemente PROCEDURE DIVISION . . . . . . . . . . . . . . . . . . . . . 848CLOSE-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 850CLOSE DOCUMENT-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . 851OPEN-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 852OPEN DOCUMENT-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . 853READ-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 856START-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 860XML-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 862

    11.5 Sonderregister für XML PARSE-Anweisung . . . . . . . . . . . . . . . . . . . . 865

  • Inhalt

    U41112-J-Z125-6

    © S

    iem

    ens

    Nix

    dorf

    Info

    rmat

    ions

    syst

    eme

    AG 1

    995

    Pfa

    d: F

    :\ger

    traud

    \CO

    BOL\

    Cob

    ol20

    00_V

    15\M

    anua

    le\C

    obol

    _SB\

    cob2

    bs.d

    \Ges

    amtb

    uch\

    cob2

    bs.iv

    z

    12 Allgemeine Konzepte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 869

    12.1 Dateiverarbeitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86912.1.1 Sequenzielle Dateiorganisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 869

    Satzsequenzielle Organisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 869Zeilensequenzielle Organisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 870Ein-/Ausgabe-Zustand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 870

    12.1.2 Relative Dateiorganisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 873Relative Organisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 873Sequenzieller Zugriff auf Datensätze . . . . . . . . . . . . . . . . . . . . . . . . . . 873Wahlfreier Zugriff auf Datensätze . . . . . . . . . . . . . . . . . . . . . . . . . . . 874Dynamischer Zugriff auf Datensätze . . . . . . . . . . . . . . . . . . . . . . . . . . 874Ein-/Ausgabe-Zustand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 875

    12.1.3 Indizierte Dateiorganisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 878Indizierte Organisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 878Sequenzieller Zugriff auf Datensätze . . . . . . . . . . . . . . . . . . . . . . . . . . 878Wahlfreier Zugriff auf Datensätze . . . . . . . . . . . . . . . . . . . . . . . . . . . 879Dynamischer Zugriff auf Datensätze . . . . . . . . . . . . . . . . . . . . . . . . . . 879Ein-/Ausgabe-Zustand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 879

    12.1.4 Ein-/Ausgabe-Anweisungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88312.1.5 Schlüsselfehler-Bedingung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88412.1.6 Ende-Bedingung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 884

    12.2 Ausnahmesituationen und Ausnahmezustände . . . . . . . . . . . . . . . . . . 885

    12.3 Initial- und „last used“-Zustand . . . . . . . . . . . . . . . . . . . . . . . . . . . 888

    12.4 Programmkommunikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88912.4.1 Begriffe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88912.4.2 Steuerung der Programmkommunikation . . . . . . . . . . . . . . . . . . . . . . . 891

    Ablaufsteuerung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89112.4.3 Regeln für Programmnamen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89212.4.4 Initialzustand bei der Programmkommunikation . . . . . . . . . . . . . . . . . . . . 89412.4.5 Verwendung gemeinsamer Daten . . . . . . . . . . . . . . . . . . . . . . . . . . . 896

    Externe und interne Daten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 896Lokale und globale Namen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 897

    12.4.6 Sprachelemente für die Programmkommunikation . . . . . . . . . . . . . . . . . . . 901Übersicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 901

    12.5 Sortieren von Datensätzen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90212.5.1 Sortieren und Mischen von Dateien . . . . . . . . . . . . . . . . . . . . . . . . . . 902

    Ablauf eines Sortiervorgangs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 902Ablauf eines Mischvorgangs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 903Sortieren und Mischen ohne Ein-/Ausgabeprozeduren . . . . . . . . . . . . . . . . 904Sortieren mit Ein-/Ausgabeprozeduren . . . . . . . . . . . . . . . . . . . . . . . . . 905

  • Inhalt

    U41112-J-Z125-6

    Übersicht über die Sprachelemente . . . . . . . . . . . . . . . . . . . . . . . . . . 90612.5.2 Sonderregister für Dateien-SORT . . . . . . . . . . . . . . . . . . . . . . . . . . . 90812.5.3 Sortieren zweistelliger Jahreszahlen mit Jahrhundertfenster . . . . . . . . . . . . . 91012.5.4 Sortieren mit erweiterten Zeichensätzen (XHCS) . . . . . . . . . . . . . . . . . . . 912

    12.6 Zeichendarstellung durch UTF-16 . . . . . . . . . . . . . . . . . . . . . . . . . 91412.6.1 Nationale Daten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91412.6.2 Datenstrukturen, Klauseln . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91412.6.3 Nationale Literale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91512.6.4 Übertragung von nationalen Datenfeldern . . . . . . . . . . . . . . . . . . . . . . 91612.6.5 Nationale Datenfelder in Bedingungen . . . . . . . . . . . . . . . . . . . . . . . . 91612.6.6 Konvertierungen zwischen EBCDIC und UTF-16-Darstellung . . . . . . . . . . . . 91712.6.7 Fehlerbehandlung bei Konvertierungen . . . . . . . . . . . . . . . . . . . . . . . . 918

    12.7 Objektorientierte Konzepte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91912.7.1 Grundbegriffe des objektorientierten Programmierens . . . . . . . . . . . . . . . . 91912.7.2 Parametrisierte Klassen und Interfaces . . . . . . . . . . . . . . . . . . . . . . . . 92712.7.3 Dateien in Objekten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93512.7.4 Konformität . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 938

    Konformität zwischen Schnittstellen . . . . . . . . . . . . . . . . . . . . . . . . . 938Konformität von Parametern und Rückgabe-Elementen . . . . . . . . . . . . . . . 941Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 941Rückgabe-Elemente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 944

    12.7.5 Die Systemklasse BASE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 946Methode NEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 946Methode FactoryObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 948

    12.7.6 Automatische Speicherfreigabe (Garbage Collection) . . . . . . . . . . . . . . . . 948

    12.8 Datentypen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 949Schwach typisierte Datenbeschreibungen . . . . . . . . . . . . . . . . . . . . . . 949Stark typisierte Datenbeschreibungen . . . . . . . . . . . . . . . . . . . . . . . . 951

    12.9 Adressen und Zeiger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 952Datenadressen und Datenzeiger . . . . . . . . . . . . . . . . . . . . . . . . . . . 952Verwendung von Datenzeigern . . . . . . . . . . . . . . . . . . . . . . . . . . . . 952Programmadressen und Programmzeiger . . . . . . . . . . . . . . . . . . . . . . 954Verwendung von Programmzeigern . . . . . . . . . . . . . . . . . . . . . . . . . 955Typbezogene Zeiger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 956

    12.10 Sprachmittel zur Verarbeitung von XML . . . . . . . . . . . . . . . . . . . . . . 95712.10.1 Strukturorientierte Verarbeitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95812.10.1.1 XML-Dokument als Baum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95812.10.1.2 COBOL-Sprachmittel zur Beschreibung eines XML-Dokuments . . . . . . . . . 96012.10.1.3 Definition eines XML-Dokuments in einem COBOL-Programm . . . . . . . . . 96612.10.1.4 Anweisungen für die XML-Verarbeitung . . . . . . . . . . . . . . . . . . . . . 96912.10.1.5 OPEN, CLOSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 974

  • Inhalt

    U41112-J-Z125-6

    © S

    iem

    ens

    Nix

    dorf

    Info

    rmat

    ions

    syst

    eme

    AG 1

    995

    Pfa

    d: F

    :\ger

    traud

    \CO

    BOL\

    Cob

    ol20

    00_V

    15\M

    anua

    le\C

    obol

    _SB\

    cob2

    bs.d

    \Ges

    amtb

    uch\

    cob2

    bs.iv

    z

    12.10.1.6 OPEN DOCUMENT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97512.10.1.7 CLOSE DOCUMENT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97712.10.1.8 READ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97912.10.1.9 START . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99412.10.1.10 Fehlerbehandlung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99912.10.1.11 Namensraum (namespace) . . . . . . . . . . . . . . . . . . . . . . . . . . . 100412.10.2 Ereignisorientierte Verarbeitung . . . . . . . . . . . . . . . . . . . . . . . . . . . 100912.10.2.1 XML-Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100912.10.2.2 Sonderregister . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101112.10.2.3 Verarbeitungsprozedur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101212.10.3 XML Common Syntactic Constructs . . . . . . . . . . . . . . . . . . . . . . . . . 1018

    12.11 Testhilfen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1020

    13 Segmentierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1021

    13.1 Allgemeine Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102113.1.1 Organisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102113.1.2 Fester Teil des Programms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102213.1.3 Unabhängige Segmente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1022

    13.2 Allgemeine Regeln für die Segmentierung . . . . . . . . . . . . . . . . . . . . 1023

    13.3 Sprachelemente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102513.3.1 Sprachelemente ENVIRONMENT DIVISION . . . . . . . . . . . . . . . . . . . . 1025

    SEGMENT-LIMIT-Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102513.3.2 Sprachelemente PROCEDURE DIVISION . . . . . . . . . . . . . . . . . . . . . . 1027

    Segmentnummer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1027

    14 Zusammenfassung der obsoleten Elemente . . . . . . . . . . . . . . . . . . . 1029

    Literatur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1031

    Stichwörter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1033

  • Inhalt

    U41112-J-Z125-6

  • U41112-J-Z125-6 17

    Dok

    usch

    ablo

    nen

    19x2

    4 Ve

    rsio

    n 7.

    32de

    für F

    ram

    eMak

    er V

    7.x

    vom

    28.

    03.2

    007

    © c

    ogni

    tas

    Gm

    bH 2

    001-

    2007

    13. M

    ai 2

    009

    Sta

    nd 1

    3:05

    .18

    Pfa

    d: F

    :\ger

    traud

    \CO

    BOL\

    Cob

    ol20

    00_V

    15\M

    anua

    le\C

    obol

    _SB

    \cob

    2bs.

    d\G

    esam

    tbuc

    h\co

    b2bs

    .k01

    1 Einleitung

    1.1 Kurzbeschreibung des Produkts

    Bei der Lösung kommerzieller Probleme werden überwiegend große Datenmengen verar-beitet. Dafür eignet sich COBOL besonders. COBOL-Programme sind weitgehend unab-hängig von den Eigenheiten einer bestimmten Datenverarbeitungsanlage. Die Sprache ist in einem offiziellen Standard-Dokument vom Normungsinstitut der USA, American National Standards Institute (ANSI), unter folgendem Namen exakt festgelegt:

    „American National Standard for Information Systems- Programming Language COBOL -ANSI X3.23-1985“

    Es handelt sich dabei um eine Überarbeitung des Standards von 1974. Die internen Stan-dardfunktionen sind im Addendum „ANSI X3.23a-1989, Intrinsic Function Module“ spezifi-ziert.

    Die deutsche Norm DIN 66028-1986 und die internationale Norm ISO 1989:1985 entspre-chen dem American National Standard. Den internen Standardfunktionen nach ANSI ent-spricht die internationale Norm „ISO/IEC 1989 Amendment 1, Intrinsic Function Module“.

    Das Standard-Dokument teilt die COBOL-Sprache zur Beschreibung in einen Nukleus und in elf funktionelle Moduln ein, von denen fünf optional sind (Report Writer, Communication, Debug, Segmentation, Intrinsic Functions). Jeder dieser Moduln enthält wiederum ein bis zwei funktionelle Ausbaustufen, wobei jeweils die untere Stufe eine echte Untermenge der höheren Stufen desselben Moduls darstellt.

    Seit Dezember 2002 ist für COBOL die internationale Norm ISO 1989:2002 gültig, in der der Inhalt der Norm ISO 1989:1985 ohne die bisherige Aufteilung in Moduln, das Amendment1 “Intrinsic Function Module“ und zahlreiche neue Sprachmittel zusammen-gefasst sind.

    Der Compiler COBOL2000 (BS2000) unterstützt den COBOL-Sprachumfang „High“ des ANS85. Die optionalen Sprachmoduln Report Writer und Segmentation werden ebenfalls entsprechend dem High-level des ANS85 unterstützt. Aus der nun gültigen Norm ISO1989:2002 bietet der Compiler COBOL2000 (BS2000) dar-über hinaus bereits eine große Teilmenge der Sprachfunktionalität an.

  • Zielgruppe und Konzept des Handbuchs Einleitung

    18 U41112-J-Z125-6

    Die im neuen Standard entfallenen optionalen Sprachmoduln Communication und Debug werden nicht unterstützt. Ersatz für das Communication-Modul ist im BS2000 das Produkt openUTM, für das Debug-Modul das Produkt AID.

    1.2 Zielgruppe und Konzept des Handbuchs

    Dieses Handbuch richtet sich an Programmierer und Schulungskräfte. Es soll als Arbeits-grundlage zur Programmerstellung und -wartung sowie als Ergänzung zu Schulungsmate-rialien dienen. Es ist weder ein COBOL-Lehrbuch noch ein Benutzerhandbuch.Allgemeine Programmierkenntnisse und Grundkenntnisse der COBOL-Sprache werden vorausgesetzt.

    Wie der Compiler bedient und ein ablauffähiges COBOL-Programm erstellt wird, ist im „COBOL2000 Benutzerhandbuch“ [1] beschrieben.

    Das Handbuch enthält alle zum Erstellen von COBOL-Programmen möglichen Sprach-elemente, gegliedert nach Funktion, Format, Syntaxregeln, Allgemeinen Regeln und Bei-spielen:

    Funktion gibt eine knappe, allgemeine Beschreibung der einzelnen Sprachelemente. Falls mehrere Formate vorhanden sind, werden deren funktionelle Unterschiede kurz erklärt.

    Format definiert die spezifische Art von Zeichenfolgen und Trennsymbolen, damit sie eine zulässige Klausel, Anweisung oder zusammengesetzte Struktur ergeben. Das Auftreten spezifischer Zeichenfolgen und Trennsymbole und die Reihenfolge, wie sie im Format ge-zeigt werden, ist ausschlaggebend.

    Die besondere Notation zur Beschreibung der Formate wird unter „Allgemeines Format“ erklärt.

    Ist mehr als eine spezifische Anordnung erlaubt, werden die Formate mit „Format 1, Format 2“ usw. bezeichnet.

    Syntaxregeln beschreiben die speziellen Anforderungen und Einschränkungen für eine Funktion und bieten zusätzliche Erläuterungen und Anwendungsvorschriften.

    Allgemeine Regeln beschreiben die Anwendung der Sprachstruktur innerhalb des Pro-grammkontexts, d.h. in Abhängigkeit von vorausgehenden und nachfolgenden sowie von über- und untergeordneten Strukturen und im Zusammenhang mit Aufrufen und Querver-weisen von anderen Sprachelementen, die eigentlich unabhängig von der bezeichneten Struktur sind. Beschränkungen für die Reihenfolge der Wirkungen beim Programmlauf wer-den erklärt. Alle diese Hinweise befassen sich im Allgemeinen mit Elementen, die nicht di-rekt im Format erscheinen.

  • Einleitung Zielgruppe und Konzept des Handbuchs

    U41112-J-Z125-6 19

    Dok

    usch

    ablo

    nen

    19x2

    4 Ve

    rsio

    n 7.

    32de

    für F

    ram

    eMak

    er V

    7.x

    vom

    28.

    03.2

    007

    © c

    ogni

    tas

    Gm

    bH 2

    001-

    2007

    13. M

    ai 2

    009

    Sta

    nd 1

    3:05

    .18

    Pfa

    d: F

    :\ger

    traud

    \CO

    BOL\

    Cob

    ol20

    00_V

    15\M

    anua

    le\C

    obol

    _SB

    \cob

    2bs.

    d\G

    esam

    tbuc

    h\co

    b2bs

    .k01

    Beispiel zeigt den konkreten Einsatz des beschriebenen Sprachmittels.

    Die verwendeten Fachausdrücke entsprechen den in DIN 66028 festgelegten deutschen Übersetzungen der englischen COBOL-Fachausdrücke, z.B. Anweisung für statement usw.

    Der Aufbau des Handbuchs orientiert sich an der Struktur des Standard-Dokuments für COBOL.

    Einige Sprachmittel sind farbig gekennzeichnet, und zwar mit folgenden Unterscheidungen:

    Das Inhaltsverzeichnis gibt Aufschluss über die gesamte Gliederung des Handbuchs.

    Die Stichwörter sichern einen schnellen Zugriff auf die gewünschte Information.

    Im Abschnitt „Begriffserklärungen“ sind in alphabetischer Reihenfolge die wichtigsten in diesem Handbuch verwendeten Begriffe und Ausdrücke der Sprache COBOL definiert.

    Literaturhinweise werden im Text in Kurztiteln angegeben. Der vollständige Titel jeder Druckschrift, auf die verwiesen wird, ist im Literaturverzeichnis aufgeführt.

    Der Abschnitt „Begriffserklärungen“ und das Stichwortverzeichnis sind von der Farbkenn-zeichnung ausgenommen.

    blaugrüne Schrift Spracherweiterungen des COBOL2000-Compilers gegenüber dem COBOL-Standard 1985. Dazu gehören:–herstellerspezifische Erweiterungen, –Erweiterungen aus dem „Journal of Development“ (JOD) –Erweiterungen aus dem X/OPEN Portability Guide–Erweiterungen aus dem COBOL-Standard 2002

    orange Schrift Sprachmittel, die in neuen Programmen nicht verwendet werden sol-len, weil sie von künftigen COBOL-Normen nicht mehr unterstützt werden (obsolete elements). Ihre Entfernung aus alten Programmen ist ratsam.

  • Änderungen gegenüber der Vorgängerversion Einleitung

    20 U41112-J-Z125-6

    1.3 Änderungen gegenüber der Vorgängerversion

    Verarbeiten von XML-Dateien

    ● IDENTIFIED- und COUNT-Klausel

    ● neue Formate der OPEN-, CLOSE-, READ- und START-Anweisung

    ● XML PARSE-Anweisung

  • Einleitung Anerkennung (Acknowledgment)

    U41112-J-Z125-6 21

    Dok

    usch

    ablo

    nen

    19x2

    4 Ve

    rsio

    n 7.

    32de

    für F

    ram

    eMak

    er V

    7.x

    vom

    28.

    03.2

    007

    © c

    ogni

    tas

    Gm

    bH 2

    001-

    2007

    13. M

    ai 2

    009

    Sta

    nd 1

    3:05

    .18

    Pfa

    d: F

    :\ger

    traud

    \CO

    BOL\

    Cob

    ol20

    00_V

    15\M

    anua

    le\C

    obol

    _SB

    \cob

    2bs.

    d\G

    esam

    tbuc

    h\co

    b2bs

    .k01

    1.4 Anerkennung (Acknowledgment)

    Die in diesem Handbuch beschriebene Programmiersprache COBOL basiert auf der im Standarddokument „American National Standard for Information Systems - Programming Language - COBOL X3.23-1985“ festgelegten Sprache. In Anerkennung der Entwicklungs- und Standardisierungsarbeiten für die COBOL-Sprache ist es üblich, einer COBOL-Beschreibung folgenden, im Original wiedergegebenen Text voranzustellen:

    „Any organization interested in reproducing the COBOL standard and specifications in who-le or in part, using ideas from this document as the basis for an instruction manual or for any other purpose, is free to do so. However, all such organizations are requested to repro-duce the following acknowledgment paragraphs in their entirety as part of the preface to any such publication (any organization using a short passage from this document, such as in a book review, is requested to mention ’COBOL’ in acknowledgment of the source, but need not quote the acknowledgment):

    COBOL is an industry language and is not the property of any company or group of com-panies, or of any organization or group of organizations.

    No warranty, expressed or implied, is made by any contributor or by the CODASYL COBOL Committee as to the accuracy and functioning of the programming system and language. Moreover, no responsibility is assumed by any contributor, or by the committee, in connec-tion therewith.

    The authors and copyright holders of the copyrighted materials used herein

    FLOW-MATIC (trademark of Sperry Rand Corporation), Programming for theUNIVAC (R) I and II, Data Automation Systems copyrighted 1958, 1959, by Sperry Rand Corporation; IBM Commercial Translater Form No. F 28-8013, copyrighted 1959 by IBM; FACT, DSI 27A5260-2760, copyrighted 1960 by Minneapolis-Honeywell

    have specifically authorized the use of this material in whole or in part, in the COBOL spe-cifications. Such authorization extends to the reproduction and use of COBOL specifications in programming manuals or similar publications.“

  • Readme-Datei Einleitung

    22 U41112-J-Z125-6

    1.5 Readme-Datei

    Funktionelle Änderungen und Nachträge der aktuellen Produktversion zu diesem Hand-buch entnehmen Sie bitte der produktspezifischen Readme-Datei. Sie finden die Readme-Datei auf Ihrem BS2000/OSD-Rechner unter dem DateinamenSYSRME.COBOL2000-GEM.015.D. Die Benutzerkennung, unter der sich die Readme-Datei befindet, erfragen Sie bitte bei Ihrer zuständigen Systembetreuung.

    Der vollständige Pfadname wird auch durch folgendes Kommando ausgegeben:

    /SHOW-INSTALLATION-PATH INSTALLATION-UNIT=COBOL2000-GEM,LOGICAL-IDENTIFIER=SYSRME.D

    Die Readme-Datei können Sie mit dem Kommando /SHOW-FILE oder mit einem Editor an-sehen oder auf einem Standarddrucker mit folgendem Kommando ausdrucken:

    /PRINT-DOCUMENT , LINE-SPACING=*BY-EBCDIC-CONTROL

  • U41112-J-Z125-6 23

    Dok

    usch

    ablo

    nen

    19x2

    4 Ve

    rsio

    n 7.

    32de

    für F

    ram

    eMak

    er V

    7.x

    vom

    28.

    03.2

    007

    © c

    ogni

    tas

    Gm

    bH 2

    001-

    2007

    13. M

    ai 2

    009

    Sta

    nd 1

    3:05

    .19

    Pfa

    d: F

    :\ger

    traud

    \CO

    BOL\

    Cob

    ol20

    00_V

    15\M

    anua

    le\C

    obol

    _SB

    \cob

    2bs.

    d\G

    esam

    tbuc

    h\co

    b2bs

    .k02

    2 Einführung in die COBOL-Sprache

    2.1 Begriffserklärungen

    Mit den nachfolgend definierten Ausdrücken wird in diesem Handbuch die COBOL-Spra-che beschrieben. Die Bedeutung der Ausdrücke für COBOL trifft nicht unbedingt auf andere Programmiersprachen zu.

    In den Begriffserklärungen sind die wesentlichen Merkmale kurz zusammengefasst. Detail-lierte Angaben und syntaktische Regeln sind den nachfolgenden Kapiteln zu entnehmen.

    AblaufeinheitRun Unit

    Eine bestimmte Anzahl von Zielprogrammen, die zur Ausführungszeit als Einheit fungieren.

    Absteigender SortierschlüsselDescending Key

    Ein Schlüssel, nach dessen Werten die Daten sortiert werden, und zwar vom höchsten bis zum niedrigsten Wert des Schlüssels, entsprechend den Regeln für den Vergleich von Datenfeldern.

    AdresseAddress

    Adressen können sich auf Daten oder Programme beziehen.

    Aktueller DatensatzCurrent Record

    Der Satz, der im Satzbereich einer Datei verfügbar ist.

  • Begriffserklärungen Einführung in die COBOL-Sprache

    24 U41112-J-Z125-6

    Alphabetisches ZeichenAlphabetic Character

    Einer der folgenden Buchstaben:

    A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, zund das Leerzeichen.

    AlphabetnameAlphabet-Name

    Ein benutzerdefinierter Name im SPECIAL-NAMES-Paragrafen der ENVIRONMENT DIVISION, der einem speziellen Zeichensatz und/oder einer Sortierfolge einen Namen zuweist.

    Alphanumerische DatengruppeAlphanumeric Group Item

    Jede Datengruppe mit Ausnahme von nationalen oder stark typisierten Datengruppen.

    Alphanumerisches ZeichenAlphanumeric Character

    Ein Zeichen dargestellt mit dem EBCDIC Zeichensatz, unabhängig davon, ob es eine bild-liche Darstellung besitzt.

    Alternativer SatzschlüsselAlternate Record Key

    Ein zum primären Satzschlüssel unterschiedlicher Schlüssel, mit dem ein Satz aus einer indizierten Datei bezeichnet werden kann.

    AngabePhrase

    Eine geordnete Folge von einer oder mehreren COBOL-Zeichenfolgen, die einen Teil einer COBOL-Anweisung oder -Klausel bilden.

    AnweisungStatement

    Eine syntaktisch richtige Kombination von Wörtern und Symbolen, die mit einem Verb beginnt und in der PROCEDURE DIVISION geschrieben wird.

  • Einführung in die COBOL-Sprache Begriffserklärungen

    U41112-J-Z125-6 25

    Dok

    usch

    ablo

    nen

    19x2

    4 Ve

    rsio

    n 7.

    32de

    für F

    ram

    eMak

    er V

    7.x

    vom

    28.

    03.2

    007

    © c

    ogni

    tas

    Gm

    bH 2

    001-

    2007

    13. M

    ai 2

    009

    Sta

    nd 1

    3:05

    .19

    Pfa

    d: F

    :\ger

    traud

    \CO

    BOL\

    Cob

    ol20

    00_V

    15\M

    anua

    le\C

    obol

    _SB

    \cob

    2bs.

    d\G

    esam

    tbuc

    h\co

    b2bs

    .k02

    AnzeigenbereichIndicator Area

    Spalte 7 des COBOL-Referenzformates.

    ArgumentArgument

    Ein Bezeichner, ein Literal oder ein arithmetischer Ausdruck zur Angabe eines Wertes, der für die Auswertung einer Funktion verwendet wird.

    Arithmetischer AusdruckArithmetic Expression

    Ein arithmetischer Ausdruck kann sein:

    – ein Bezeichner für ein numerisches Datenelement,

    – ein numerisches Literal,

    – zwei arithmetische Ausdrücke, die durch einen arithmetischen Operator getrennt sind,

    – ein arithmetischer Ausdruck, der in Klammern eingeschlossen ist.

    Arithmetischer OperatorArithmetic Operator

    Ein einzelnes Zeichen oder eine Zwei-Zeichen-Kombination der folgenden Art:

    Aufgerufenes Ablaufelementactivated runtime element

    Ein Programm oder eine Methode, die in einer CALL- bzw. INVOKE-Anweisung bezeichnet werden und zur Ablaufzeit mit dem aufrufenden Programmteil eine Ablaufeinheit bilden.

    Aufrufendes Ablaufelementactivating runtime element

    Ein Programm oder eine Methode, die die aufrufende Anweisung enthalten.

    Zeichen Bedeutung+-*/**

    AdditionSubtraktionMultiplikationDivisionPotenzierung

  • Begriffserklärungen Einführung in die COBOL-Sprache

    26 U41112-J-Z125-6

    Aufsteigender SortierschlüsselAscending Key

    Ein Schlüssel, nach dessen Werten die Daten sortiert werden, und zwar vom niedrigsten bis zum höchsten Wert des Schlüssels, entsprechend den Regeln für den Vergleich von Datenfeldern.

    AusführungszeitExecution Time

    Die Zeit, während der ein Zielprogramm ausgeführt wird.

    AusgabedateiOutput File

    Eine Datei, die entweder im Ausgabemodus oder im Erweiterungsmodus eröffnet wird.

    AusgabemodusOutput Mode

    Der Zustand einer Datei nach Ausführung einer OPEN-Anweisung mit OUTPUT- oder EXTEND-Angabe und vor Ausführung einer CLOSE-Anweisung für diese Datei.

    AusgabeprozedurOutput Procedure

    Eine Folge von Anweisungen, die während der Ausführung einer SORT-Anweisung jedes-mal ausgeführt wird, nachdem ein sortierter Satz an die Sortierdatei übergeben oder wäh-rend der Ausführung einer MERGE-Anweisung, nachdem der nächste zu mischende Satz ausgewählt worden ist.

    AusnahmesituationException

    Eine Situation zur Laufzeit, die anzeigt, dass ein Fehler bzw. eine Abweichung zur norma-len Ausführung entstanden ist.

    AusnahmesituationsnameException-Name

    Wort, das eine Ausnahmesituation benennt.

    AusnahmezustandException-Condition

    Eine ausgelöste Ausnahmesituation.

  • Einführung in die COBOL-Sprache Begriffserklärungen

    U41112-J-Z125-6 27

    Dok

    usch

    ablo

    nen

    19x2

    4 Ve

    rsio

    n 7.

    32de

    für F

    ram

    eMak

    er V

    7.x

    vom

    28.

    03.2

    007

    © c

    ogni

    tas

    Gm

    bH 2

    001-

    2007

    13. M

    ai 2

    009

    Sta

    nd 1

    3:05

    .19

    Pfa

    d: F

    :\ger

    traud

    \CO

    BOL\

    Cob

    ol20

    00_V

    15\M

    anua

    le\C

    obol

    _SB

    \cob

    2bs.

    d\G

    esam

    tbuc

    h\co

    b2bs

    .k02

    Ausnahmezustand auslösenRaising of an Exception-Condition

    Übergang einer Ausnahmesituation in einen Ausnahmezustand durch:1. eine durch die TURN-Direktive eingeschaltete Überprüfung der Ausnahmesituation.2. die Ausführung einer RAISE-Anweisung für diese Ausnahmesituation.

    Bedingte AnweisungConditional Statement

    Eine bedingte Anweisung veranlasst das Prüfen des Wahrheitswertes einer Bedingung und bestimmt, dass die darauffolgende Aktion des Zielprogramms von diesem Wahrheitswert abhängt.

    BedingungCondition

    Ein Zustand eines Programms während der Ablaufzeit, für den ein Wahrheitswert ermittelt werden kann. Der Ausdruck „bedingung“ (bedingung-1, bedingung-2,...) repräsentiert in der vorliegenden Beschreibung entweder eine einfache Bedingung oder eine zusammen-gesetzte Bedingung, die eine syntaktisch zugelassene Kombination von einfachen Bedin-gungen, logischen Operatoren und Klammerpaaren enthält, für die ein Wahrheitswert ermittelt werden kann.

    BedingungsausdruckConditional Expression

    Eine einfache oder komplexe Bedingung, die in einer IF-, PERFORM-, EVALUATE- oder SEARCH-Anweisung vorkommt.

    BedingungsnameCondition-Name

    Ein benutzerdefinierter Name, der einem bestimmten Wert, einer Gruppe von Werten oder einer Folge von Werten, die eine Bedingungsvariable annehmen kann, zugeordnet ist, bzw. ein benutzerdefinierter Name, der dem Zustand eines Prozess- oder Benutzerschalters zugeordnet ist.

    Bedingungsnamen-BedingungCondition-Name Condition

    Bewirkt, dass eine Bedingungsvariable geprüft wird, um zu entscheiden, ob ihr Wert gleich einem der Werte ist, die zu einem bestimmten Bedingungsnamen gehören.

  • Begriffserklärungen Einführung in die COBOL-Sprache

    28 U41112-J-Z125-6

    BedingungsvariableConditional Variable

    Ein Datenfeld, dessen Wert (oder mehreren Werten) ein Bedingungsname zugeordnet ist.

    BegrenzerDelimiter

    Ein Zeichen (oder eine Folge von benachbarten Zeichen), das das Ende einer Zeichenfolge anzeigt und das eine Zeichenfolge von weiteren Zeichenfolgen trennt. Ein Begrenzer ist nicht Teil der Zeichenfolgen, die er trennt.

    Benutzerdefinierter NameUser-Defined Word

    Ein COBOL-Wort, das vom Programmierer entsprechend dem Format einer Klausel oder Anweisung gewählt wird.

    BezeichnerIdentifier

    Eine syntaktisch richtige Kombination von Zeichen und Trennzeichen, die ein Datenfeld benennt. Der Bezeichner besteht aus einem Datennamen und den entsprechenden Kenn-zeichnern, Subskripten und Teilfeld-Selektoren, soweit diese für die Eindeutigkeit der Bezugnahme erforderlich sind. Der Bezeichner einer Funktion (Intrinsic Function) ist gesondert unter dem Begriff „Funktionsbezeichner“ definiert.

    BezugsschlüsselKey of Reference

    Der primäre oder alternative Satzschlüssel, über den aktuell auf Datensätze einer indizier-ten Datei zugegriffen wird.

    BibliotheksnameLibrary-Name

    Ein benutzerdefinierter Name, der eine Übersetzungseinheit-Bibliothek bezeichnet, die mehrere COBOL-Texte mit verschiedenen Namen enthalten kann.

    BibliothekstextLibrary-Text

    Zeichenfolgen und/oder Trennsymbole in einer COBOL-Bibliothek.

  • Einführung in die COBOL-Sprache Begriffserklärungen

    U41112-J-Z125-6 29

    Dok

    usch

    ablo

    nen

    19x2

    4 Ve

    rsio

    n 7.

    32de

    für F

    ram

    eMak

    er V

    7.x

    vom

    28.

    03.2

    007

    © c

    ogni

    tas

    Gm

    bH 2

    001-

    2007

    13. M

    ai 2

    009

    Sta

    nd 1

    3:05

    .19

    Pfa

    d: F

    :\ger

    traud

    \CO

    BOL\

    Cob

    ol20

    00_V

    15\M

    anua

    le\C

    obol

    _SB

    \cob

    2bs.

    d\G

    esam

    tbuc

    h\co

    b2bs

    .k02

    Binäres SuchenBinary Search

    Eine Methode, eine auf- oder absteigend geordnete Tabelle nach einem bestimmten Ele-ment zu durchsuchen. Die Suche wird in jeweils halbierten Bereichen vorgenommen. Dabei wird bei jedem Suchschritt geprüft, ob das Element, das sich in der Mitte befindet, größer, kleiner oder gleich dem gesuchten ist. Dieses Halbieren und Vergleichen setzt sich fort, bis das geprüfte Element mit dem gesuchten übereinstimmt.

    BlockBlock

    Eine physische Dateneinheit, die normalerweise aus einem oder mehreren logischen Sät-zen oder aus einem Teil eines logischen Satzes besteht. Die Größe eines Blocks hängt nicht unmittelbar mit der Größe der Datei zusammen, in der der Block enthalten ist, oder mit der Größe der logischen Sätze, die entweder im Block enthalten sind oder ihn überlap-pen. Block ist gleichbedeutend mit „Physischer Satz“.

    COBOL-WortCOBOL Word

    siehe „Wort“.

    COBOL-ZeichenvorratCOBOL Character Set

    Die Menge von Zeichen, mit denen sich die Syntax einer COBOL-Übersetzungsgruppe schreiben lässt, mit Ausnahme von Kommentaren und dem Inhalt von nicht-hexadezimalen alphanumerischen und nicht-hexadezimalen nationalen Literalen.

    COMMON-ProgrammCommon Program

    Ein inneres Programm einer geschachtelten Quelleinheit, dessen Name mit dem COMMON-Attribut versehen ist. Ein solches Programm kann außer vom direkt übergeord-neten Programm auch von jedem „Geschwisterprogramm“ und dessen „Abkömmlingen“ aufgerufen werden.

    DateiFile

    Eine Sammlung von Datensätzen.

  • Begriffserklärungen Einführung in die COBOL-Sprache

    30 U41112-J-Z125-6

    DateierklärungFile Description Entry

    Eine Erklärung in der FILE SECTION der DATA DIVISION, die aus der Stufenbezeichnung FD, einem Datennamen und einer Folge von Dateiklauseln besteht.

    DateiklauselFile Clause

    Eine Klausel, die als Teil einer der folgenden Erklärungen in der DATA DIVISION vorkommt:

    Dateierklärung (FD)

    Sortierdateierklärung (SD)

    Listenerklärung (RD)

    DateinameFile-Name

    Ein benutzerdefinierter Name, der eine Datei bezeichnet, die in einer Dateierklärung oder Sortierdateierklärung in der FILE SECTION der DATA DIVISION beschrieben ist.

    DateiorganisationFile Organization

    Eine unveränderliche, logische Dateistruktur, die zum Zeitpunkt der Dateierzeugung fest-gelegt wird.

    DateisteuerbereichFile Connector

    Ein Speicherbereich, der Informationen über eine Datei enthält. Er wird verwendet als Ver-knüpfung zwischen einem Dateinamen und einer physischen Datei sowie zwischen einem Dateinamen und dem zugeordneten Satzbereich.

    DateipositionsindikatorFile Position Indicator

    Eine logische Informationseinheit, die eine Positionsbeschreibung des Satzes enthält, auf den bei der nächsten READ-Anweisung zugegriffen wird. Falls kein solcher Satz existiert, zeigt der Dateipositionsindikator an, warum der Satz nicht existiert, d.h. „ungültig“ ist. Der Dateipositionsindikator wird nur durch die Anweisungen CLOSE, OPEN, READ und START verändert.

  • Einführung in die COBOL-Sprache Begriffserklärungen

    U41112-J-Z125-6 31

    Dok

    usch

    ablo

    nen

    19x2

    4 Ve

    rsio

    n 7.

    32de

    für F

    ram

    eMak

    er V

    7.x

    vom

    28.

    03.2

    007

    © c

    ogni

    tas

    Gm

    bH 2

    001-

    2007

    13. M

    ai 2

    009

    Sta

    nd 1

    3:05

    .19

    Pfa

    d: F

    :\ger

    traud

    \CO

    BOL\

    Cob

    ol20

    00_V

    15\M

    anua

    le\C

    obol

    _SB

    \cob

    2bs.

    d\G

    esam

    tbuc

    h\co

    b2bs

    .k02

    DatenadresseData-Address

    Eine Datenadresse ist eine konzeptuelle Dateneinheit, die den Speicherort eines Datums identifiziert. Eine Datenadresse kann in einem Datenzeiger gespeichert werden.

    DatenelementElementary Item

    Ein Datenfeld, das nicht noch weiter logisch unterteilt ist.

    DatenerklärungData Description Entry

    Eine Erklärung in der DATA DIVISION, die aus einer Stufennummer, gegebenenfalls einem Datennamen und einer Folge von Datenklauseln besteht.

    DatenfeldData Item

    Eine Dateneinheit (ausgenommen Literale), die durch ein COBOL-Programm oder durch die Regeln einer Funktionsauswertung definiert ist.

    DatenklauselData Clause

    Eine Klausel, die in einer Datenerklärung der DATA DIVISION vorkommt und die Informa-tion für die Beschreibung eines bestimmten Attributs eines Datenfeldes liefert.

    DatennameData-Name

    Ein benutzerdefinierter Name, der ein Datenfeld bezeichnet, das in einer Datenerklärung der DATA DIVISION beschrieben ist. Wenn da