特定の 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_ 戻り値を返す場合に、この情報を使用できます。