[掲示板に戻る]
Re: 久々COBOL85を見ました。(A... 江須扇 2015-7-16 11:02 |
Re: 久々COBOL85を見ました。(A... gai 2015-7-17 13:14 |
4 | Re: 久々COBOL85を見ました。(AT END が無視されて、再度、DELETE処理を行い、 不正十進数エラーで アボートしてしまいます) |
江須扇 2015-7-16 11:02
[返信] [編集] 私も久々に見るので、記憶違いかもしれませんが、 プログラム内でFILE STATUSを一か所も使ってない場合は AT END で再読み込みを実行すると命令実行順序エラーで エラー表示するのではと記憶しております。 しかしながらFILE STATUSを使っている場合は その命令でOSからのエラーは表示されず。 次の行で必ずSTATUSをIF命令で確かめる必要が あると思います。 また、DELETE命令で不正十進数はエラー出ないと記憶しております。 説明上省略してあるのでしょうがREADの後、何らかの処理でエラーが出ていると考えます。 対応方法は 1.全てのFILE STATUSをコメントにして OSのエラー機能のみで実行する 2.全ての入出力命令(OPEN、CLOSE、READ、DELETE等)の直後でSTATUSを確認して全て自己管理にする のどちらかにする必要があります。 中途半端(すいません言葉がきついかも)にSTATUSを確認すると正しい判定ができません。 まずはそこをご確認ください。 PS: それにしても旧100からCOBOLがあったのでそれを引き継いだプログラムが多いので GO TO ありありのプログラムはやむを得ないかもしれませんが 新規であればCOBOL85はEND−XXXとPERFORM を使った構造化プログラムが作成が可能になります。 データベースのSELECTと命令と組み合わせると かなりすっきりしたプログラムになります。 いまさらですが参考の為に蛇足を書きました。 |
|
7 | Re: 久々COBOL85を見ました。(AT END が無視されて、再度、DELETE処理を行い、 不正十進数エラーで アボートしてしまいます) |
gai 2015-7-17 13:14
[返信] [編集] ありがとうございます。 FILE STATUSでソースを検索したところ、 FILE-CONTROL.で なんこかのSELECT で FILE STATUS IS XXXXX と書いてありました。 file statusとは この記述のことでしょうか? ここで定義しておきながら、 実際のprocedure divisionでは、 file status xxxx は使っておりませんが。 したがって、FILE status を全処理で DISPLAYしてみます。 |
BluesBB ©Sting_Band