ページの先頭行へ戻る
Interstage Business Application Server トラブルシューティング
FUJITSU Software

9.2.2 復帰値やOUTパラメタが空またはNULLで正常復帰する

クライアントアプリケーションからの呼出しが正常復帰したにもかかわらず、クライアントアプリケーションで復帰値やOUTパラメタの値を確認すると値が設定されていない場合、以下の可能性があります。

サーバアプリケーションのエラー処理で正常終了している

サーバアプリケーションでエラー処理が定義されている場合、前処理/業務処理で異常終了した場合に、エラー処理で正常終了すると、クライアントアプリケーションへは復帰値とOUTパラメタが空、またはNULLで返却されます。
クライアントにおいてもエラーとしたい場合は、エラー処理で異常終了するようにしてください。

OUTパラメタの領域を確保していない(C言語)

OUTパラメタの領域を、サーバアプリケーション内で獲得していないため、スコープが外れた際に設定したデータが破棄されている可能性があります。OUTパラメタに文字列やバイナリデータなどを設定する場合には、malloc関数などで領域を獲得し、strncpy関数やmemcpy関数などで設定してください。なお、文字列を設定する場合、NULL終端になるように設定してください。
基本データ型のOUTパラメタの場合は、領域を獲得する必要はありません。

注意

COBOLサーバアプリケーションの場合は、OUTパラメタに文字列やバイナリデータなどを設定する場合に領域を獲得する必要はありません。なお、C言語アプリケーションを使用できるのは、同期アプリケーション連携実行基盤だけです。