• 締切済み

COBOLのプログラムで・・。

現在COBOLプログラムを作ってまして以下のプログラムで表示結果が「EQUAL」となるようにしたいのですがどうやったらいいでしょうか?回答のほうよろしくお願いします、以下がプログラムです。 IDENTIFICATION DIVISION. PROGRAM-ID. TEST9. DATA DIVISION. * WORKING-STORAGE SECTION. * 01 GR01. 02 DATA1 PIC N(2). * 01 DATA2 PIC N(2). 02 SPACE TO DATA2 * PROCEDURE DIVISION. * MOVE SPACE TO GR01. * MOVE SPACE TO DATA2. IF DATA1 = DATA2 THEN DISPLAY "EQUAL" ELSE DISPLAY "NOT EQUAL" END-IF. * * STOP RUN. * END PROGRAM TEST9.

みんなの回答

  • ultraCS
  • ベストアンサー率44% (3956/8947)
回答No.2

富士通ということからちょっと気になったので 富士通の漢字コード(JEF)の場合、全角スペースは4040H(JISは2121H)で、EBCDIC/Kの空白(40H)が二つ連なったものと同じですから、この比較方法では判定できません。KI/KOのシフト状態をあわせて判定する必要があります。 JISやSJISの話であれば、読み捨ててください。

nainai446
質問者

補足

問題はどうにか解決しました。回答してくださったみなさんありがとうございました

回答No.1

このソースは、どういう状況(フラグはない等)のものですか? ENVIRONMENT DIVISIONがないけど、これでフラグは立たないのでしょうか? 「01 DATA2 PIC N(2).   02 SPACE TO DATA2」 この記述も、フラグは立たないのでしょうか? どこ(メーカー等)の何というCOBOLコンパイラを使用しているのでしょうか?

nainai446
質問者

補足

これは、日本語空白と英数字空白の文字コードで非互換が発生するのを解消させようとしてましてそのために作ったテストプログラムです。メーカーは富士通でNetCOBOL V9.0を使ってます。

関連するQ&A