IDENTIFICATION DIVISION.
PROGRAM-ID. SYU001.
*
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT 受注ファイル
ASSIGN TO infile
ORGANIZATION IS
LINE SEQUENTIAL.
SELECT 集計後ファイル
ASSIGN TO outfile2
ORGANIZATION IS
LINE SEQUENTIAL.
*
DATA DIVISION.
FILE SECTION.
FD 受注ファイル.
01 受注レコード.
03 部コード PIC X(03).
03 売上 PIC 9(07).
03 在庫数 PIC 9(07).
FD 集計後ファイル.
01 集計後レコード.
03 集計後−部コード PIC X(03).
03 集計後−売上 PIC 9(07).
03 集計後−在庫数 PIC 9(07).
WORKING-STORAGE SECTION.
01 END-FLG PIC 9(1).
01 NEW-KEY PIC X(03).
01 OLD-KEY PIC X(03).
01 SYUKEI PIC (07).
*
PROCEDURE DIVISION.
PERFORM 初期処理.
PERFORM 主処理
UNTIL END-FLG = 1.
PERFORM 終了処理.
EXIT PROGRAM.
初期処理 SECTION.
OPEN INPUT 受注ファイル.
OPEN OUTPUT 集計後ファイル.
PERFORM 受注ファイル読込
MOVE NEW-KEW TO OLD-KEY
MOVE 0 TO SYUKEI..
受注ファイル読込 SECTION.
READ 受注ファイル
AT END
MOVE 1 TO END-FLG
NOT AT END
MOVE 部コード TO NEW-KEY
END-READ.
主処理 SECTION.
IF NEW-KEY = OLD-KEY
COMPUTE SYUKEI = SYUKEI + 売上
ELSE
MOVE SYUKEI TO 集計後ー売上
WRITE 集計後レコード
MOVE NEW-KEY TO OLD-KEY
MOVE 0 TO SYUKEI
END-IF.
PERFORM 受注ファイル読込.
終了処理 SECTION.
CLOSE 受注ファイル.
CLOSE 抽出後ファイル.