COBOLアプリケーションの実行時に数字転記異常となる原因の検出方法について
NetCOBOLのよくあるご質問を検索できます。
- COBOLアプリケーションの実行時に数字項目に数字以外の値を転記すると異常終了してしまいます。原因となるプログラムの箇所を特定する方法はありますか?
- 翻訳オプションCHECK(NUMERIC)またはCHECK(ALL)を指定して翻訳・実行することで、プログラムの問題箇所を検出することができます。
実行時に出力されるメッセージに表示されたデータ項目に属性と異なる属性のデータが格納されています。メッセージのOPDに示されたデータ項目の属性および格納されたデータをデバッガなどを使用して確認し、属性に合ったデータを格納するよう、プログラムまたは取り扱うデータを修正してください。
表示されるメッセージの形式は以下のとおりです。JMP0828I-E/U 属性と異なる形式のデータが格納されています. プログラム名 LINE=ステートメント番号 OPD=データ名
詳細については、「NetCOBOL使用手引書」"CHECK機能の使い方" を参照してください。
問題検出プログラムの例 : 初期化漏れによる不当な値の検出IDENTIFICATION DIVISION. PROGRAM-ID. CHECK01. ENVIRONMENT DIVISION. DATA DIVISION. WORKING-STORAGE SECTION. 01 AAA PIC S9(5). 01 BBB PIC S9(5). PROCEDURE DIVISION. * 翻訳オプションにCHECK(0,NUMIRIC)を指定 COMPUTE AAA = AAA + BBB. *> AAA および BBB にJMP0828I-E MOVE 0 TO AAA. COMPUTE AAA = AAA + BBB. *> BBB にJMP0828I-E MOVE 0 TO BBB. COMPUTE AAA = AAA + BBB. END PROGRAM CHECK01.
製品・サービス情報 |
|
||||
---|---|---|---|---|---|
アンサー種別 | 技術サポート |