COBOL2002 ユーザーズガイド

[目次][用語][索引][前へ][次へ]

39.4.2 整合性チェックの警告エラー出力

プログラム間の引数および返却項目に矛盾があっても,整合性エラーとしないでテストデバッグを実行したい場合,環境変数CBLPRMCHKWを指定します。

形式
CBLPRMCHKW={NOCHK|YES}

規則
  • 環境変数CBLPRMCHKWにNOCHKを指定した場合
    プログラム間の引数および返却項目について,整合性がチェックされません。この場合,プログラム間の引数および返却項目に不整合があっても異常終了しないで,メッセージも出力されません。
    -DebugCompatiまたは-DebugRangeオプションを指定したプログラムでも,プログラム間の引数および返却項目に不整合があっても異常終了しないで,メッセージも出力されません。ただし,プログラム間の引数および返却項目の整合性チェック以外のチェック(繰り返し回数の範囲チェックなど)は,実行されます。
  • 環境変数CBLPRMCHKWにYESを指定した場合
    -DebugCompatiおよび-DebugRangeオプションを指定しないプログラムのテストデバッグ中に,プログラム間の引数および返却項目に関するエラーが発生したときには,警告メッセージが出力され実行が継続されます。
    -DebugCompatiまたは-DebugRangeオプションを指定したプログラムでは,環境変数CBLPRMCHKWにYESを指定しても無効となり,エラー発生時にはメッセージが出力され異常終了します。
  • YES,またはNOCHK以外の文字を指定した場合は,この環境変数の指定は無効になります。

注意事項
  • この環境変数を指定した場合,引数および返却項目の矛盾した領域に対して不当な値を設定したり,不当な領域を参照したりすると,異常終了やシステムダウンすることがあります。また,引数および返却項目に次のような矛盾があるプログラム間で,データを受け渡しする場合はプログラムの見直しが必要です。
    ・RETURNING指定ありと,指定なしが混在している
    ・USING指定のデータ項目数が異なる
    ・データ項目の長さが8バイトを超えるデータと8バイト以下のデータとで受け渡しする
  • この環境変数の指定は,引数が不一致の場合のCOBOLの動作を保証するものではありません。
  • この環境変数の指定は,プログラムの呼び出し規約がstdcall呼び出し規約プログラムの呼び出しでは使用できません。stdcall呼び出し規約プログラムでは,引数を完全に一致させる必要があるため,引数が不一致の場合,Windowsでリンクエラーとなります。