PERFORM Example Program


000100 IDENTIFICATION DIVISION.
000200 PROGRAM-ID. COPYFILE.
000300 AUTHOR. CHUNG.
000400 ENVIRONMENT DIVISION.
000500 INPUT-OUTPUT SECTION.
000600 FILE-CONTROL.
000700     SELECT F1 ASSIGN TO DISK 'TST.DAT'
000800            ORGANIZATION IS LINE SEQUENTIAL.
000900     SELECT F2 ASSIGN TO DISK 'TST.RES'
001000            ORGANIZATION IS LINE SEQUENTIAL.
001100 DATA DIVISION.
001200 FILE SECTION.
001300 FD F1 RECORD CONTAINS 35 CHARACTERS.
001400 01 INPUT-REC.
001500     03 NAME.
001600        05 LAST-NAME      PIC X(10).
001700        05 FIRST-NAME     PIC X(10).
001800     03 SSN               PIC X(9).
001900     03 DOB-YYMMDD        PIC X(6).
002000 FD F2 RECORD CONTAINS 35 CHARACTERS.
002100 01 OUTPUT-REC            PIC X(35).
002200 WORKING-STORAGE SECTION.
002300 01 FLAG                  PIC X VALUE 'M'.
002400
002500 PROCEDURE DIVISION.
002600 MAIN-PARA.
002700     OPEN INPUT F1 OUTPUT F2.
002800     DISPLAY 'Now Copying TST.DAT --> TST.RES'.
002900     PERFORM UNTIL FLAG = 'E'
003000        READ F1
003100          AT END      MOVE 'E' TO FLAG
003200          NOT AT END  MOVE INPUT-REC TO OUTPUT-REC
003300                      WRITE OUTPUT-REC
003400        END-READ
003500     END-PERFORM
003700     CLOSE F1 F2.
003800     STOP RUN.