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.