IDENTIFICATION DIVISION. PROGRAM-ID. PV30. AUTHOR. RAINER NEHLS. DATE-WRITTEN. 20.02.94. ****************************************************************** * * KURZBESCHREIBUNG: DAS PROGRAMM ERSTELLT EINE KOMMA- * SEPARIERTE DATEI. * * INPUT: FM30-DATEI EINGABEDATEI * * OUTPUT: FV30-DATEI KOMMASEPARIERTE DATEI * ****************************************************************** * * AENDERUNGEN: VERSION 002 / 00.00.00 / NEHLS * XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX * ****************************************************************** ENVIRONMENT DIVISION. SPECIAL-NAMES. DECIMAL-POINT IS COMMA. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT FM30-DATEI ASSIGN TO Z-FM30 LOCK AUTOMATIC FILE STATUS Z-STATUS. SELECT FV30-DATEI ASSIGN TO Z-FV30 FILE STATUS Z-STATUS LOCK AUTOMATIC ORGANIZATION LINE SEQUENTIAL. DATA DIVISION. FILE SECTION. FD FM30-DATEI. 01 M30-RECRD. 05 M30-KDNR PIC 9(06). 05 M30-NAME PIC X(30). 05 M30-UMSATZ PIC S9(7)V99 COMP-3. FD FV30-DATEI. 01 V30-RECRD. 05 FILLER PIC X(50). WORKING-STORAGE SECTION. 01 WS-FELDER. 05 Z-FELDER. 10 Z-PGRNM PIC X(05) VALUE "PV30". 10 Z-VERS PIC S9(03) COMP-3 VALUE 001. 10 Z-FM30. 15 Z-FILLER PIC X(08) VALUE "FM30.DAT". 10 Z-FV30. 15 Z-FILLER PIC X(12) VALUE "FV30.TXT". 01 SW-FELDER. 05 SW-ERROR PIC X(01) VALUE SPACE. 01 U039-DATEN. 05 U039-SWNEU PIC X(01) VALUE "J". 05 U039-ANZST PIC 9(01) COMP-X VALUE 15. 05 U039-EIN-N PIC -Z(10)9(1),9999 BLANK ZERO. 05 U039-EIN-T PIC X(256). 05 U039-EIN-1 REDEFINES U039-EIN-T PIC 9(01). 05 U039-EIN-2 REDEFINES U039-EIN-T PIC 9(02). 05 U039-EIN-3 REDEFINES U039-EIN-T PIC 9(03). 05 U039-EIN-4 REDEFINES U039-EIN-T PIC 9(04). 05 U039-EIN-5 REDEFINES U039-EIN-T PIC 9(05). 05 U039-EIN-6 REDEFINES U039-EIN-T PIC 9(06). 05 U039-EIN-7 REDEFINES U039-EIN-T PIC 9(07). 05 U039-EIN-8 REDEFINES U039-EIN-T PIC 9(08). 05 U039-EIN-9 REDEFINES U039-EIN-T PIC 9(09). 05 U039-AUS PIC X(4096). PROCEDURE DIVISION. * A-00 : HAUPTSTEUERLEISTE A-00 SECTION. A-10. PERFORM B-00. IF SW-ERROR NOT = "J" PERFORM C-00. A-50. PERFORM Z-00. A-99. STOP RUN. * B-00 : VORLAUF B-00 SECTION. B-10. OPEN INPUT FM30-DATEI. IF Z-STATUS = ZERO GO TO B-22. B-21. MOVE "J" TO SW-ERROR. GO TO B-99. B-22. OPEN OUTPUT FV30-DATEI. IF Z-STATUS = ZERO GO TO B-50. GO TO B-21. B-50. * KOPFZEILE SCHREIBEN MOVE "J" TO U039-SWNEU. MOVE "Kundennr." TO U039-EIN-T. CALL "U039" USING U039-DATEN. MOVE "Name" TO U039-EIN-T. CALL "U039" USING U039-DATEN. MOVE "Umsatz" TO U039-EIN-T. CALL "U039" USING U039-DATEN. PERFORM D-00. B-99. EXIT. * C-00 : AUSGABE C-00 SECTION. C-10. READ FM30-DATEI AT END GO TO C-99. MOVE "J" TO U039-SWNEU. MOVE M30-KDNR TO U039-EIN-6. CALL "U039" USING U039-DATEN. MOVE M30-NAME TO U039-EIN-T. CALL "U039" USING U039-DATEN. MOVE M30-UMSATZ TO U039-EIN-N. CALL "U039" USING U039-DATEN. PERFORM D-00. GO TO C-10. C-99. EXIT. * D-00 : AUSGABESATZ SCHREIBEN D-00 SECTION. D-10. MOVE U039-AUS TO V30-RECRD. WRITE V30-RECRD BEFORE 1. D-99. EXIT. * Z-00 : ABSCHLUSSVERARBEITUNG Z-00 SECTION. Z-10. CLOSE FM30-DATEI FV30-DATEI. Z-99. EXIT. |