• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:COBOLでのファイル作成方法)

COBOLでのファイル作成方法

このQ&Aのポイント
  • COBOLでのファイル作成方法について教えてください。
  • 2つのファイルをマッチングさせて出力ファイルを作成する方法について解説してください。
  • COBOLを使用して売上詳細ファイルを作成する際に、データが重複してしまう問題について解決策を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • SaKaKashi
  • ベストアンサー率24% (755/3136)
回答No.2

PERFORM SYOUSAI-FILE-WRITE-PROC. もしくは、 SYOUSAI-FILE-WRITE-PROC SECTION. ですね。 PERFORM SYOUSAI-FILE-WRITE-PROC. ここを IF 顧客IDがブレークした AND 顧客ID保存項目が空白でない THEN PERFORM SYOUSAI-FILE-WRITE-PROC MOVE 顧客ID TO 顧客ID保存項目 ELSE CONTINUE END-IF. として、顧客IDの保存用項目を定義して、 顧客IDの保存用項目は初期値空白にする、かな。 この辺りのブレーク処理はちょっと考えてください。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • SaKaKashi
  • ベストアンサー率24% (755/3136)
回答No.1

出力:売上詳細ファイル(SYOUSAIF)を出力しているところが無いので分かりませんが、 出力:売上詳細ファイル(SYOUSAIF)の書き出しで、顧客IDがブレークしたら書き出すようにすればいいのです。

nh582
質問者

お礼

早速ありがとうございました。出力しているところについて、追記しております。この内容だと、全件出力するような仕掛けになってますよね。ブレークした部分で書き出しということですが、SYOUSAI-FILE-WRITE-PROC SECTIONのところで指定してあげれば良いのでしょうか?どのようにコーディングしたらいいのか正直なところ悩んでるところです。 IF URIF-KOKID = MEISAIF-KOKID  THEN    PERFORM WITH TEST BEFORE       UNTIL URIF-KOKID > MEISAIF-KOKID      PERFORM MAKE-PROC    END-PERFORM    PERFORM MEISAIF-READ-PROC  ELSE    IF URIF-KOKID > MEISAIF-KOKID     THEN      PERFORM MEISAIF-READ-PROC         UNTIL MEISAI-KOKID NOT < URIF-KOKID     ELSE      PERFORM WITH TEST BEFORE         UNTIL MEISAI-KOKID NOT > URIF-KOKID        PERFORM URIF-READ-PROC      END-PERFORM    END-IF END-IF. MAKE-PROC SECTION. MAKE-PROC-010.  MOVE URIF-KOKID TO SYOUSAIF-KOKID.  MOVE URIF-NAME TO SYOUSAIF-NAME.  MOVE URIF-URIYMD TO SYOUSAIF-URIYMD.  MOVE URIF-TANTOU TO SYOUSAIF-TANTOU.  EVALUATE MEISAI-KUBUN   WHEN '01'    MOVE MEISAIF-KINGAK TO SYOUSAIF-KINGAK1   WHEN '02'    MOVE MEISAIF-KINGAK TO SYOUSAIF-KINGAK2   WHEN '03'    MOVE MEISAIF-KINGAK TO SYOUSAIF-KINGAK3  END-EVALUATE.  PERFORM SYOUSAI-FILE-WRITE-PROC. MAKE-PROC-999. SYOUSAI-FILE-WRITE-PROC SECTION. SYOUSAI-FILE-WRITE-010.  WRITE SYOUSAIF      INVALID KEY      MOVE '1' TO SYOUSAI-FILE-WRITE-INVALID.  IF SYOUSAI-FILE-WRITE-INVALID = '1'   THEN    CONTINUE   ELSE    ADD 1 TO SYOUSAI-FILE-CNT  END-IF. SYOUSAI-FILE-WRITE-999.  EXIT.

すると、全ての回答が全文表示されます。

関連するQ&A