IDENTIFICATION DIVISION. PROGRAM-ID. FRMCHG01. AUTHOR. JIRO SUZUKI. *------------------------------------------------------------ * フォーム変更プログラム *------------------------------------------------------------ ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT IN01 ASSIGN TO IN01NAME ACCESS MODE IS SEQUENTIAL. SELECT OUT1 ASSIGN TO OUT1NAME ACCESS MODE IS SEQUENTIAL. DATA DIVISION. FILE SECTION. FD IN01. COPY I-EMPLOYEE. FD OUT1. COPY O-EMPLOYEE. WORKING-STORAGE SECTION. 01 IN01NAME. 03 PIC X(16) VALUE "/HOME/OWNER/DAT/". 03 NAME PIC X(12) VALUE "FRMCHG01IN01". 03 PIC X(04) VALUE ".DAT". 01 OUT1NAME. 03 PIC X(16) VALUE "/HOME/OWNER/DAT/". 03 NAME PIC X(12) VALUE "FRMCHG01OUT1". 03 PIC X(04) VALUE ".DAT". 01 CNS-AREA. 03 CNS-INIT-MSG. 05 PIC X(10) VALUE "----- PGM=". 05 PIC X(08) VALUE "FRMCHG01". 05 PIC X(11) VALUE "START -----". 03 CNS-TERM-MSG. 05 PIC X(10) VALUE "----- PGM=". 05 PIC X(08) VALUE "FRMCHG01". 05 PIC X(11) VALUE "END -----". 03 CNS-SECTION-SYSTEM PIC X(06) VALUE "S00001". 01 CNT-AREA. 03 CNT-IN01 PIC 9(12) VALUE ZERO. 03 CNT-OUT1 PIC 9(12) VALUE ZERO. 01 SW-AREA. 03 SW-END-IN01 PIC 9(01) COMP-3 VALUE ZERO. *------------------------------------------------------------ PROCEDURE DIVISION. MAIN SECTION. *>全体処理 PERFORM INIT-PROC THRU INIT-EXIT. PERFORM MAIN-PROC THRU MAIN-EXIT. PERFORM TERM-PROC THRU TERM-EXIT. STOP RUN. *------------------------------------------------------------ INIT-PROC. *>初期処理 DISPLAY CNS-INIT-MSG. OPEN INPUT IN01 OUTPUT OUT1. INIT-EXIT. *------------------------------------------------------------ MAIN-PROC. *>主処理 PERFORM READ-IN01. PERFORM UNTIL SW-END-IN01=1 PERFORM FORM-CHANGE PERFORM WRITE-OUT1 PERFORM READ-IN01 END-PERFORM. MAIN-EXIT. *------------------------------------------------------------ TERM-PROC. *>終了処理 CLOSE IN01 OUT1. DISPLAY "IN01=" CNT-IN01. DISPLAY "OUT1=" CNT-OUT1. DISPLAY CNS-TERM-MSG. TERM-EXIT. *------------------------------------------------------------ READ-IN01. *>IN01読込処理 READ IN01 INTO I-EMPLOYEE AT END MOVE 1 TO SW-END-IN01 NOT AT END ADD 1 TO CNT-IN01 END-READ. *------------------------------------------------------------ WRITE-OUT1. *>OUT1書込処理 WRITE O-EMPLOYEE. ADD 1 TO CNT-OUT1. *------------------------------------------------------------ FORM-CHANGE. *>フォーム変更処理 INITIALIZE O-EMPLOYEE. MOVE SPACE TO O-EMPLOYEE. * MOVE I-EMPLOYEE TO O-EMPLOYEE. MOVE CNS-SECTION-SYSTEM TO O-SECTIONID.