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

特定の COBOL プログラムの連絡節項目について、クライアント要求によって提供された外部値をオーバーライドできます。

構文:

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

入力パラメーター:

exit_point
1 = 外部データ値の変更 - 入力パラメーター
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 プログラムの連絡節のフィールド名にデフォルトのマッピングを実行します。

説明:

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

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