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 抽出後ファイル.