End of Input Request Processing (Exit Point 4)

Allows you to initialize parameter values in the internal data areas addressed by argv other than those initialised during external parameter mapping.

Syntax:

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

On Entry:

exit point
4 = End of input request processing
exit_info
version
Version of structure format
flags
0
funcs
User exit support functions
request_cxt
version Version of structure format
argc Parameter count of loaded service
service_type Type of client request
accept_buf_len Length of data in accept_buf
cmd_line_len Length of data in cmd_line
flags Request context control flags
argv Parameter list of loaded service
service_name Name of loaded service
pgm_name Name of the main program associated with the service
epoint_name Name of the entry point to invoke
accept_buf Data to be used for ANSI ACCEPT statements
cmd_line String to be used to resolve ACCEPT FROM COMMAND-LINE statements
exit_data
User exit-specific data

On Exit:

exit info
flags
0
request_cxt
argc Parameter count of loaded service
service_type Type of client request
accept_buf_len Length of data in accept_buf
cmd_line_len Length of data in cmd_line
flags Request context control flags
argv Parameter list of loaded service
service_name Name of loaded service
pgm_name Name of the main program associated with the service
epoint_name Name of the entry point to invoke
accept_buf Data to be used for ANSI ACCEPT statements
cmd_line String to be used to resolve ACCEPT FROM COMMAND-LINE statements
exit_data
User exit-specific data

Return codes:

IDP_EXIT_CONTINUE
0 = Continue with processing
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 one or more of the returned request context fields

Comments:

This exit gives you the opportunity to initialize parameter values in the internal data areas addressed by argv other than those initialized during external parameter mapping. The exit can optionally modify any of the returned request fields listed above. The exit should use the fn_alloc_mem support function of the exit_info funcs structure to allocate any memory used to replace request context strings (for example, service_name or epoint_name) or argv fields. If the exit chooses to override any of the request context fields, it 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.