Codierbeispiel: Auslesen einer Datei - Werte auf Null - zurückschreiben.
Autorin: Claudia Fabritius

Mit Hilfe des folgenden Programms kann man eine Datei auslesen, Kunden-Umsätze der letzten 12 Monate auf 0 setzen und die Datei dann zurückschreiben.

Jackson Baum

      Umrech
          │
          ├── Vorlauf
          │           │
          │           └── Datei initialisieren
          │
          ├── Hauptlauf
          │           │
          │           ├── Satz lesen
          │           │
          │           └── Verarbeiten (*)
          │                          │
          │                          ├── Element zurücksetzen (*)
          │                          │
          │                          ├── Zurückschreiben
          │                          │
          │                          └── Satz lesen
          │
          └── Nachlauf

* = mehrmals ...o = optional

IDENTIFICATION DIVISION.
PROGRAM-ID. Umrech.
AUTHOR. Fabritius.

ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
  SELECT KD-Dat ASSIGN TO "C:\Kunden.Dat"
    ORGANIZATION IS INDEXED
    ACCESS MODE IS SEQUENTIAL
    RECORD KEY IS KD-Nr.

DATA DIVISION.
FILE SECTION.
FD KD-Dat.
01 KD-Satz.
  02 KD-Nr PIC 9(6).
  02 KD-Umsatz PIC 9(7)v99 OCCURS 12.

WORKING-STORAGE SECTION.
77 EOF PIC 9.
77 i PIC 99.

PROCEDURE DIVISION.
  PERFORM Vorlauf.
  PERFORM Hauptlauf.
  PERFORM Nachlauf.
  STOP RUN.
Vorlauf.
  OPEN I-O KD-Dat.

Hauptlauf.
  PERFORM Satz-lesen.
  PERFORM UNTIL EOF = 1
    PERFORM Verarbeiten
  END-PERFORM.

Nachlauf.
  CLOSE KD-Dat.

Satz-lesen.
  READ KD-Dat
    AT END MOVE 1 TO EOF
    NOT AT END MOVE 0 TO EOF
  END-READ.

Verarbeiten.
  PERFORM VARYING i FROM 1 BY 1 UNTIL i>12
    MOVE 0 TO TO EOF
  END-PERFORM.
  REWRITE KD-Satz.
  PERFORM Satz-lesen.


...