* HINA004 - 編集出力(GETPUT) >>SOURCE FORMAT IS FREE * レイアウト編集 レコード入出力 * 期待: 2ファイル, 1 IF, 5 段落 IDENTIFICATION DIVISION. PROGRAM-ID. HINA004. ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT IN-FILE ASSIGN TO "IN.DAT" ORGANIZATION IS LINE SEQUENTIAL. SELECT OUT-FILE ASSIGN TO "OUT.DAT" ORGANIZATION IS LINE SEQUENTIAL. DATA DIVISION. FILE SECTION. FD IN-FILE. 01 IN-REC. 05 IN-ID PIC X(05). 05 IN-NAME PIC X(20). 05 IN-AMT PIC 9(07)V99. FD OUT-FILE. 01 OUT-REC PIC X(80). WORKING-STORAGE SECTION. 01 WS-EOF PIC X VALUE 'N'. 88 WS-EOF-Y VALUE 'Y'. 01 WS-HEADER PIC X(80). 01 WS-DETAIL PIC X(80). 01 WS-LINE-CNT PIC 9(02). PROCEDURE DIVISION. 0000-MAIN. OPEN INPUT IN-FILE. OPEN OUTPUT OUT-FILE. MOVE "ID NAME AMOUNT" TO WS-HEADER. WRITE OUT-REC FROM WS-HEADER. MOVE 0 TO WS-LINE-CNT. PERFORM 1000-READ. PERFORM 2000-PROCESS UNTIL WS-EOF-Y. CLOSE IN-FILE OUT-FILE. STOP RUN. 1000-READ. READ IN-FILE INTO IN-REC AT END MOVE 'Y' TO WS-EOF-Y. 2000-PROCESS. IF WS-LINE-CNT > 50 THEN MOVE SPACES TO WS-DETAIL STRING "--- PAGE BREAK ---" DELIMITED BY SIZE INTO WS-DETAIL WRITE OUT-REC FROM WS-DETAIL MOVE 0 TO WS-LINE-CNT. STRING IN-ID IN-NAME IN-AMT DELIMITED BY SIZE INTO WS-DETAIL. WRITE OUT-REC FROM WS-DETAIL. ADD 1 TO WS-LINE-CNT. PERFORM 1000-READ.