Harald Gockel COBOL Programmierte Unterweisung 3. Auflage Hüthig Buch Verlag Heidelberg
Inhaltsverzeichnis Vorwort 1 1.1 Urhebernachweis 2 1.2 Hinweise zur Benutzung dieses Buches 3 Wie entsteht ein Programm? 5 2.1 Problemanalyse 5 2.1.1 Datenerfassung 7 2.1.2 Plausibilität der Eingabedaten 8 2.1.3 Änderungsdienst 9 2.2 Programmvorgabe 10 2.3 Programmierung 11 2.4 Was ist eine Programmiersprache? 12 2.5 Programmumwandlung (Compile) 14 Verschlüsselung der Zeichen 15 3.1 Das Dezimalsystem 15 3.2 Das Dualsystem 17 3.3 Umrechnung dual in dezimal 21 3.4 Umrechnung dezimal in dual 22 3.5 Speicherung in Halbbytes 23 3.5.1 Das Hexadezimal-System 24 3.5.2 Speicherung der Ziffern 26 3.5.3 Speicherung der Buchstaben 28 Einführung in COBOL 31 4.1 Geschichtliche Entwicklung 31 4.2 Was ist COBOL? 33 Aufbau eines COBOL-Programmes 37 5.1 Die vier Divisions 37 5.2 Definition von Datenfeldern 41 5.3 Die PICTURE-Eintragung 42 5.4 Alphanumerische Datenfelder 45 5.5 Alphabetische Datenfelder 46 5.6 Alphanumerische Übertragungen 48 5.7 Alphanumerische Wertzuweisungen 50 5.8 Der DISPLAY - Befehl 54 5.9 Der Datensatz 56 5.10 Das Stufenkonzept 58 5.11 Die Stufennummer 60 5.12 FILLER 63 5.13 Numerische Felder (Ganzzahlen) 65 5.14 Wertzuweisungen (Ganzzahlen) 67
5.15 Numerische Felder (Dezimalzahlen) 69 5.16 Wertzuweisungen (Dezimalzahlen) 72 5.17 Das Dezimalkomma 72 5.18 Übertragen von Dezimalzahlen 73 6 Arithmetische Anweisungen 75 6.1 Addition 76 6.2 Subtraktion 78 6.3 Multiplikation 80 6.4 Division 80 6.5 Berechnungen mit COMPUTE 81 6.6 Verarbeitung von Vorzeichen 82 7 Numerische Speicherungsformen 87 7.1 Gepackte Speicherung (packen) 87 7.2 Gepackte Speicherung (entpacken) 90 7.3 Binäre Speicherung von Zahlen 91 8 Druckaufbereitung 93 8.1 Numerische Druckaufbereitung 93 8.1.1 Das Dezimalkomma 93 8.1.2 Der Punkt (Lesbarkeitszeichen) 94 8.1.3 BLANKs (Leerstellen) 95 8.1.4 Nullenunterdrückung 95 8.1.5 Drucken von Vorzeichen 98 8.1.6 Drucken von Schutzsternen 100 8.1.7 BLANK WHEN ZERO 101 8.1.8 Erweiterung numerischer Werte 101 8.2 Alphanumerische Druckaufbereitung 104 8.3 Abschlußübung Datenübertragung 106 9 Programmieren in COBOL 107 9.1 Das erste Programm 107 9.2 Programmschema 121 9.3 Interpunktionsregeln 123 9.4 Bedingungsabfragen 123 10 Dateien- und Listenverarbeitung 139 10.1 Verarbeiten von Dateien 139 10.1.1 Definieren von Dateien 139 10.1.2 Der OPEN-Befehl 143 10.1.3 Der CLOSE-Befehl 143 10.1.4 Der READ-Befehl 144 10.1.5 Der WRITE-Befehl 147
10.2 Erstellen einer Liste 149 10.2.1 Der Zeilenabstand 150 10.2.2 Definition von Druckzeilen 152 10.2.3 Seitenvorschub beim Drucken 163 11 Blocken von Datensätzen 167 11.1 Ungeblockte Verarbeitung 168 11.2 Geblockte Verarbeitung 168 12 COBOL-Definitionsregeln m 13 Fallstudien 173 13.1 Programmbeispiel 1 173 13.2 Programmbeispiel 2 182 14 Unterprogrammtechniken 185 14.1 Unterprogrammtechnik PERFORM 185 14.1.1 Die PERFORM-Anweisung 186 14.2 Unterprogrammtechnik CALL 191 14.2.1 Die CALL-Anweisung 191 14.3 Fester oder dynamischer CALL 199 14.4 Die ENTRY-Anweisung 201 15 Tabellenverarbeitung 205 15.1 Eindimensionale Tabellen 205 15.1.1 Subscript Methode 208 15.1.2 Tabellen über Eingabedatei laden 215 15.1.3 VALUE-Eintragung bei Tabellen 217 15.1.4 Löschen einer Tabelle 221 15.1.5 Tabellen durch Programm laden 223 15.1.6 Tabellensuchen (allgemein) 225 15.1.7 Index-Methode 226 15.1.8 Tabellensuchen (SEARCH VARYING) 227 15.1.9 Tabellensuchen (SEARCH ALL) 230 15.2 Zweidimensionale Tabellen 232 15.3 Dreidimensionale Tabellen 235 15.4 Tabellensort 237 16 Speicherungs- und Zugriffsarten 241 16.1 Speicherungsarten allgemein 241 16.2 Sequentielle Speicherung 242 16.2.1 Feste Satzlänge 242 16.2.2 Variable Satzlänge 247 16.2.3 Undefinierte Satzlänge 252 16.3 Relative Dateien 254 16.3.1 Allgemeine Erläuterungen 255 16.3.2 Dateidefinition 257 16.3.3 Erstmaliges Erstellen 260
16.3.4 Verändern von Datensätzen 260 16.3.5 Neuaufnahme von Datensätzen 262 16.3.6 Löschen von Datensätzen 265 16.3.7 Dynamischer Zugriff 267 16.3.8 Verarbeitung mit START 268 16.4 Index-sequentielle Dateien 269 16.4.1 Allgemeine Erläuterungen 270 16.4.2 Dateidefinition 273 16.4.3 Erstmaliges Erstellen 274 16.4.4 Verändern von Datensätzen 276 16.4.5 Neuaufnahme von Datensätzen 277 16.4.6 Löschen von Datensätzen 278 16.4.7 Dynamischer Zugriff 280 16.4.8 Verarbeitung mit START 282 17 COBOL-SORT (Dateien sortieren) 285 18 COBOL-MERGE (Dateien mischen) 291 Anhang A - COBOL-Spezifikationen 297 A.l ACCEPT 299 A.2 ADD 300 A.3 ADD CORRESPONDING 301 A.4 ALTER 302 A.5 Bedingungsnamen 303 A.6 CALL 304 A.7 Fester oder dynamischer CALL 306 A.8 CLOSE 307 A.9 COMPUTE 308 A.10 CONFIGURATION SECTION 309 A.ll DATA DIVISION 310 A.12 DELETE 311 A.13 DISPLAY 312 A.14 DIVIDE 313 A.15 ENVIRONMENT DIVISION 315 A.16 EXHIBIT 316 A.17 FD 316 A.18 FILE STATUS 317 A.19 FILLER 319 A.20 GO TO 319 A.21 IDENTIFICATION DIVISION 321 A.22 IF 321 A.23 INPUT-OUTPUT SECTION 324 A.24 INSPECT 324 A.25 LINKAGE SECTION 326 A.26 MERGE 328 A.27 MOVE 329
A.28 MOVE CORRESPONDING 331 A.29 MULTIPLY 332 A.30 ON SIZE ERROR 333 A.31 OPEN 334 A.32 PERFORM 335 A.33 Programmende 337 A.34 PICTURE 338 A.35 PROCEDURE DIVISION 342 A.36 READ 343 A.37 REDEFINES 344 A.38 RELEASE 345 A.39 REWRITE 346 A.40 ROUNDED 346 A.41 SD 346 A.42 SEARCH ALL 347 A.43 SEARCH VARYING 348 A.44 SELECT 349 A.45 SET 351 A.46 SORT 352 A.47 START 354 A.48 STOP 355 A.49 STRING 356 A.50 SUBTRACT 358 A.51 SUBTRACT CORRESPONDING 359 A.52 TRACE 360 A.53 UNSTRING 361 A.54 WRITE 362 A.55 Reservierte COBOL-Wörter 364 Anhang B - Aufgaben 369 B.l Aufgabe 1 (Zinsrechnung) 369 B.2 Aufgabe 2 (Zinseszins-Rechnung) 372 B.3 Aufgabe 3 (Zahlenraten) 374 B.4 Aufgabe 4 (Plausibilität) 376 B.5 Aufgabe 5 (PERFORM) 378 B.6 Aufgabe 6 (CALL) 381 B.7 Aufgabe 7 (CALL, ENTRY) 383 B.8 Aufgabe 8 (Tabelle laden) 385 B.9 Aufgabe 9 (Tabellen, Subscript-Methode) 387 B.10 Aufgabe 10 (SEARCH ALL) 391 B.ll Aufgabe 11 (Tabellen-Sort) 393 B.12 Aufgabe 12 (Zweidimensionale Tabelle) 395 B.13 Aufgabe 13 (Dateienverarbeitung) 397 B.14 Aufgabe 14 (Variable Satzlänge) 401 B.15 Aufgabe 15 (Rechnungen drucken) 403 B.16 Aufgabe 16 (Relative Dateien) 408 B.17 Aufgabe 17 (Index-Dateien) 410 B.18 Aufgabe 18 (Update Index-Datei) 413 B.19 Aufgabe 19 (START-Befehl) 416
Anhang C - Lösungen 419 C.l Übung 1-7 419 C.2 Fallstudien 424 C.2.1 Programmbeispiel 1 (1. Schritt) 424 C.2.2 Programmbeispiel 1 (2. Schritt) 428 C.2.3 Programmbeispiel 1 (3. Schritt) 431 C.2.4 Programmbeispiel 1 (4. Schritt) 434 C.2.5 Programmbeispiel 2 440 C.3 Aufgaben 1-19 443 C.3.1 Aufgabe 1 443 C.3.2 Aufgabe 2 445 C.3.3 Aufgabe 3 447 C.3.4 Aufgabe 4 449 C.3.5 Aufgabe 5 452 C.3.6 Aufgabe 6 454 C.3.7 Aufgabe 7 455 C.3.8 Aufgabe 8 457 C.3.9 Aufgabe 9 461 C.3.10 Aufgabe 10 463 C.3.11 Aufgabe 11 465 C.3.12 Aufgabe 12 468 C.3.13 Aufgabe 13 471 C.3.14 Aufgabe 14 474 C.3.15 Aufgabe 15 475 C.3.16 Aufgabe 16 480 C.3.17 Aufgabe 17 481 C.3.18 Aufgabe 18 483 C.3.19 Aufgabe 19 486 Anhang D - Stichwortverzeichnis 489