COBOL-Programme laufen meist auf Großrechnern (IBM z/OS), eingebettet in ein Ökosystem aus:
Baustein
Aufgabe
JCL (Job Control Language)
Stapeljobs beschreiben und starten
CICS
Online-Transaktionen (z. B. Geldautomat, Buchungssystem)
DB2 / IMS
Datenbanken, in COBOL per eingebettetem SQL (EXEC SQL ... END-EXEC)
VSAM
indexierte Dateien
JES
Job-Verwaltung
text
IDENTIFICATION DIVISION.
PROGRAM-ID. KONTOSTAND.
DATA DIVISION.
WORKING-STORAGE SECTION.
EXEC SQL INCLUDE SQLCA END-EXEC.
01 WS-KONTO PIC X(10).
01 WS-SALDO PIC S9(9)V99 COMP-3.
PROCEDURE DIVISION.
MOVE "DE12345678" TO WS-KONTO.
EXEC SQL
SELECT SALDO INTO :WS-SALDO
FROM KONTEN WHERE KONTO_NR = :WS-KONTO
END-EXEC.
IF SQLCODE = 0
DISPLAY "Saldo: " WS-SALDO
END-IF.
STOP RUN.
Beachte: Echter Mainframe-Code beginnt in Spalte 8 (Spalten 1 bis 6 Zeilennummern, Spalte 7 Kommentar-/Fortsetzungsmarkierung, Code Spalte 8 bis 72). Die Beispiele dieses Kurses verwenden das freie Format von GnuCOBOL.
Typische Aufgaben moderner COBOL-Entwickler: Altsysteme warten, Programme analysieren und dokumentieren, Schnittstellen zu Webdiensten (REST, MQ) bauen, schrittweise Migration in die Cloud. Werkzeuge: IBM Developer for z/OS, VS Code mit Zowe Explorer, GnuCOBOL zum Üben, Micro Focus / Rocket COBOL.
Datentypen auf einen Blick
Klausel
Bedeutung
PIC 9(5)
5 Ziffern (Zeichenformat)
PIC S9(5)V99
mit Vorzeichen, 2 Nachkommastellen
PIC X(20)
20 Zeichen
PIC Z(4)9.99
Ausgabeformat mit unterdrückten Nullen
COMP / BINARY
binär (schnell, kompakt)
COMP-3 / PACKED-DECIMAL
gepackte Dezimalzahl (2 Ziffern pro Byte), Standard für Geldbeträge
COMP-1 / COMP-2
Gleitkomma (selten)
Wichtige Anweisungen
Aufgabe
Anweisung
Ausgabe / Eingabe
DISPLAY, ACCEPT
Zuweisen
MOVE a TO b
Rechnen
ADD, SUBTRACT, MULTIPLY, DIVIDE, COMPUTE
Entscheiden
IF ... END-IF, EVALUATE ... END-EVALUATE
Wiederholen
PERFORM ... END-PERFORM, PERFORM VARYING, PERFORM n TIMES
Tabellen
OCCURS, SEARCH, SEARCH ALL (binär)
Text
STRING, UNSTRING, INSPECT, FUNCTION ...
Dateien
OPEN, READ, WRITE, REWRITE, DELETE, CLOSE
Programme
CALL, EXIT PROGRAM, STOP RUN, GOBACK
cobol
IDENTIFICATIONDIVISION.
PROGRAM-ID. FUNKTIONEN.
DATADIVISION.
WORKING-STORAGESECTION.
01 ZAHL PICS9(3) VALUE -17.
PROCEDUREDIVISION.
DISPLAY FUNCTION ABS(ZAHL).
DISPLAY FUNCTION MAX(394).
DISPLAY FUNCTION MOD(175).
DISPLAY FUNCTION SQRT(144).
DISPLAY FUNCTION INTEGER(3.7).
DISPLAY FUNCTION LENGTH("Hallo").
DISPLAY FUNCTION UPPER-CASE("abc") FUNCTION LOWER-CASE("DEF").
DISPLAY FUNCTION FACTORIAL(5).
DISPLAY FUNCTION INTEGER-OF-DATE(20250315).
DISPLAY FUNCTION DATE-OF-INTEGER(FUNCTION INTEGER-OF-DATE(20250315) + 20).
DISPLAY FUNCTION MEAN(2468).
STOPRUN.