55 lines
1.8 KiB
COBOL
55 lines
1.8 KiB
COBOL
* 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.
|