外部データ値の変更 - 出力パラメーター (出口ポイント 7)

アプリケーションの実行中に作成された内部データ値をオーバーライドできます。
制約事項: 本トピックは、Enterprise Server 機能が有効な場合にのみ該当します。

構文:

typedef cblt_rtncode (*PFI_IDP_EXIT)(mf_uns32      exit_point,
                                     IDP_EXIT_INFO *exit_info);

入力パラメーター:

exit_point
7 = 外部データ値の変更 - 出力パラメーター
exit_info
version 構造体形式のバージョン
flags 0
ext_value_size ext_value フィールドで指定されるデータのサイズ
funcs ユーザー出口サポート関数
field_name COBOL プログラムの連絡節のデータ項目名
ext_param_name 外部パラメーターの名前
ext_value field_name フィールドに関連付けられた外部データの値
request_cxt 要求コンテキスト
exit_data ユーザー出口に固有のデータ

出力パラメーター:

exit_info
ext_value_size ext_value フィールドで指定されるデータのサイズ。ユーザー出口が新しい ext_value 文字列にメモリを割り当てる場合にのみ更新される必要があります。
ext_value field_name に関連付けられた外部データの値。ユーザー出口が新しい ext_value 文字列にメモリを割り当てる場合にのみ更新される必要があります。
exit_data ユーザー出口に固有のデータ

戻りコード:

IDP_EXIT_CONTINUE
0 = デフォルトのパラメーター マッピングで継続します。
IDP_EXIT_STOP
1 = マッピング処理を終了します。エラー応答が必要です。
IDP_EXIT_HANDLED
2 = 出口処理は与えられた外部データの値を上書きしました。この値を使用して、COBOL プログラムの連絡節のフィールド名にデフォルトのマッピングを実行します。
IDP_EXIT_OMIT
3 = 出口処理は、与えられたパラメーターを応答に含めないことを決定しました。

説明:

この出口処理は、COBOL プログラムの連絡節のフィールド名に対するデフォルトのマッピング処理中に要求ハンドラーで作成された外部データ値を上書きする機会を提供します。出口処理が外部データの値を上書きすることを選択する場合は、IDP_EXIT_HANDLED を返し、ext_value を更新する (置換値が ext_value_size 以下の場合) か、サポート関数 fn_alloc_mem を使用して置換文字列を割り当てて ext_value および ext_value_size を設定する必要があります。要求ハンドラーは、そのデフォルトの応答処理で返された ext_value (IDP_EXIT_CONTINUE や IDP_EXIT_HANDLED) を使用します。

ユーザー出口プログラムは、IDP_EXIT_INFO 構造体の exit_data フィールドを所有します。通常、この情報を出口ポイントの起動間のコンテキスト情報を保持するために使用します。IDP_EXIT_ 戻り値を返す場合に、この情報を使用できます。