Implementing the asynchronous callout function
To issue an asynchronous callout request from your IMS™ application, issue the ISRT ALTPCB call and specify the OTMA destination descriptor name or the DFSYPRX0 and DFSYDRU0 routing exit routines.
Any response to the callout request that is returned to IMS is handled as a new incoming transaction. If there is a response, the requesting application or a different IMS application must be coded to handle the response that is returned in a separate transaction.
Unlike synchronous callout requests, asynchronous callout requests do not require the IMS application program that issues the request to wait for a response in the dependent region. After it issues an asynchronous callout request, the application program can terminate and free the dependent region. Any response to the callout request that is returned to IMS is handled as a new incoming transaction and IMS schedules a new application program instance to process it.
If an asynchronous callout request generates a response, however, the benefit gained by freeing dependent regions might be offset by the additional complexity of managing the response. For asynchronous callout responses, your installation is responsible for developing the method for correlating the response to the original request. For synchronous callout requests, IMS manages that correlation.
The following high-level steps provide an overview of implementing and deploying your asynchronous callout application and function.