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