Google
オフコン練習帳内を検索
インターネット全体を検索

NECオフコン関連
オフコン一般
情報

[掲示板に戻る]


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