COM連携で省略引数としてNULLを渡しているCOBOLプログラムを実行すると、エラーが発生するようになりました。

NetCOBOL運用環境製品をバージョンアップ後、COM連携で省略引数としてNULLを渡しているCOBOLプログラムを実行すると、エラーが発生するようになりました。
PowerCOBOL97 V6.1以降、COM連携のレイトバインド時の省略引数の指定の方法が変更になりました。
PowerCOBOL97 V6.0以前のCOM連携機能のレイトバインドでは、NULLオブジェクトを省略引数として扱っていたため、COMサーバにNULL値を渡すことができませんでした。V6.1以降ではCOMのNULL値にNULLオブジェクトを、省略引数にOMITTEDを対応付けることで、NULL値が渡せるようにすると共に、COBOLとCOMのデータの対応を分かりやすくしました。このため、省略時パラメーターにNULLオブジェクトを指定している場合は、実行時に以下のようなエラーメッセージが出るなどエラーが発生することがあります。エラー現象はCOMサーバの作り方に依存します。
  JMP0930I-U 特殊クラス´$1´の´$2´メソッドでエラーが発生しました。
  SCODE=$3 $4 $5 $6

以下のいずれかの処置を行ってください。
  • 省略パラメーターにNULLオブジェクトではなくOMITTEDを指定するように修正して、リビルドする。

  • 実行環境変数@CBR_COM_NULL=OMITTEDを指定する。

製品・サービス情報
対象製品NetCOBOL
プラットフォームWindows x86
アンサー種別 運用/保守
このページの先頭へ