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.