PROGRAMM-ID. MOSPAR.CO. COMMENTS. FUEHRT DAS MONATSSPAREN DER IN DER DATEI. MONATS REGISTRIERTEN KONTEN AUS. AUFZURUFEN AN JEDEM MONATSENDE!. AUTOR. A VIGNOLD JANUAR 84. FILE-CONTROL. SELECT MONATS, ASSIGN TO DSK, ACCESS MODE IS RANDOM, ACTUAL KEY IS SATZNUMMER. SELECT KONTEN, ASSIGN TO DSK, ACCESS MODE IS RANDOM, ACTUAL KEY IS K-SATZNUMMER. DATA DIVISION. FILE SECTION. FD MONATS. 01 BILD. 02 KONTONUMMER PIC 9(3). 02 ENUMMER PIC 9(3). FD KONTEN. 01 K-BILD. 02 K-NUMMER PIC 9(3). 02 K-NAME PIC X(25). 02 K-STRASSE PIC X(25). 02 K-WOHNORT PIC X(25). 02 K-GEBOREN PIC X(10). 02 K-MAXIMALKREDIT PIC S9(7)V99. 02 K-ALTSTAND PIC S9(7)V99. 02 K-DATUM PIC X(10). 02 K-BEWART PIC X(30). 02 K-BEWEGUNG PIC S9(7)V99. 02 K-NEUSTAND PIC S9(7)V99. 02 K-ZINSSPEICHER PIC S9(7)V99. 02 K-SCHECKNUMMER PIC 9(3). 02 AUSZUGSNUMMER PIC 9(3). WORKING-STORAGE SECTION. 01 I PIC 99. 01 ARBEITSKTO PIC 9. 01 EKTO PIC 9. 01 UMBUCH PIC 9(7)V99. 01 BUBETR PIC 9(7)V99. 01 SATZNUMMER PIC 9(3). 01 K-SATZNUMMER PIC 9(3). 01 ABBRUCH PIC 9. 01 POSITIV PIC X. PROCEDURE DIVISION. PERFORM MONATSSPAREN. CALL MONHAU. MONATSSPAREN. MOVE 0 TO SATZNUMMER. MOVE 0 TO ABBRUCH. MOVE 0 TO BUBETR. PERFORM OEFFNEN. PERFORM ABFRAGE. IF ABBRUCH = 1 THEN PERFORM BUCHUNG. PERFORM SCHLIESSEN. OEFFNEN. OPEN INPUT MONATS, I-O KONTEN. MOLESEN. READ MONATS, INVALID KEY MOVE 1 TO ABBRUCH. KOLESEN. READ KONTEN, INVALID KEY DISPLAY "FALSCHE NR BEI KOLESEN". ABFRAGE. ADD 1 TO SATZNUMMER. PERFORM MOLESEN. SUBTRACT 99 FROM KONTONUMMER GIVING K-SATZNUMMER. PERFORM KOLESEN. IF K-NEUSTAND > 0.5 THEN PERFORM UMBUCHEN ELSE IF ABBRUCH = 0 THEN PERFORM ABFRAGE. UMBUCHEN. MOVE K-NEUSTAND TO K-ALTSTAND. MOVE "MONATSSPAREN " TO K-BEWART. SUBTRACT K-ALTSTAND FROM 0 GIVING K-BEWEGUNG. ADD 0.5 TO BUBETR. MOVE K-BEWEGUNG TO UMBUCH. MOVE ZERO TO K-NEUSTAND. WRITE K-BILD. DISPLAY "CALL AUSZUG.CO(K-SATZNUMMER)". SUBTRACT 99 FROM ENUMMER GIVING K-SATZNUMMER. PERFORM KOLESEN. MOVE K-NEUSTAND TO K-ALTSTAND. MOVE "MONATSSPAREN" TO K-BEWART. MOVE UMBUCH TO K-BEWEGUNG. ADD UMBUCH TO K-NEUSTAND. WRITE K-BILD. DISPLAY "CALL AUSZUG.CO(K-SATZNUMMER)". IF ABBRUCH = 0 THEN PERFORM ABFRAGE. BUCHUNG. MOVE 1 TO K-SATZNUMMER. PERFORM KOLESEN. MOVE K-NEUSTAND TO K-ALTSTAND. MOVE BUBETR TO K-BEWEGUNG. ADD BUBETR TO K-NEUSTAND. WRITE K-BILD. SCHLIESSEN. DISPLAY "MONATSSPAREN BEENDET!". CLOSE MONATS, KONTEN.