Allows you to override the internal value provided by the client request for the given COBOL program's Linkage Section item.
Syntax:
typedef cblt_rtncode (*PFI_IDP_EXIT)(mf_uns32 exit_point,
IDP_EXIT_INFO *exit_info);
On Entry:
- exit point
- 2 = Internal data value modification - input parameter
- exit_info
-
version
|
Version of structure format
|
flags
|
0
|
data_size
|
Size of data ddressed by data_ptr
|
ext_value_size
|
Size of data addressed by ext_value
|
funcs
|
User exit support functions
|
field_name
|
Name of data item in COBOL program's Linkage Section
|
data_ptr
|
Internal data value associated with field_name
|
ext_param_name
|
Name of external parameter
|
ext_value
|
External data value associated with field_name
|
request_cxt
|
Request context
|
exit_data
|
User exit-specific data
|
On Exit:
- exit_info
-
exit_data
|
User exit-specific data
|
Return codes:
- IDP_EXIT_CONTINUE
- 0 = Continue with default parameter mapping
- IDP_EXIT_STOP
- 1 = Terminate mapping processing. No service will be invoked. An error response will be required
- IDP_EXIT_HANDLED
- 2 = The exit has overridden the supplied internal value
Comments:
This exit gives you the opportunity to override the internal data value created by the request handler’s default mapping from the external data value provided by the client request for the given COBOL program Linkage Section data item name. data_ptr addresses the memory created by the request handler to be passed to the user program as part of its Linkage Section. If the exit chooses to override this parameter, it must only modify up to data_size bytes starting at data_ptr, and must return IDP_EXIT_HANDLED.
The user exit program owns the exit_data field of the IDP_EXIT_INFO structure. You would typically use it to preserve context information between exit point invocations. You can use it when returning any of the IDP_EXIT_ return values.