2.5.2 How Oracle TMA TCP for IMS Processes an IMS Client Request

  1. An IMS transaction issues a client request by inserting a properly formatted message into the IMS message queue specifying the TMA TCP for IMS OTMA client (through the use of the appropriate IMS user exit) as the destination.

    Note:

    For information about the IMS user exits, refer to the Sample JCL and User Exits.
  2. Once the request has been inserted into the Message Queue, the requester is effectively “decoupled” from the request; that is, processing of the request by TMA TCP for IMS proceeds asynchronously with respect to execution of the requesting transaction. The request includes the name (transaction code) of a response transaction that is scheduled by TMA TCP for IMS to process the response to the request.
  3. The TMA TCP for IMS gateway retrieves the request from IMS and validates it for proper format. If any errors are detected, the specified response transaction is immediately scheduled with appropriate return codes.
  4. The requested service name is located in the directory of services offered by remote systems to which TMA TCP for IMS has access. If the requested service cannot be found, or the required remote gateway is currently inaccessible, an error is recognized and the response transaction is immediately scheduled with appropriate return codes.
  5. If a remote service provider is successfully identified for the request, an outbound session is established with the remote system (if one is not available) and the request is sent to the remote system for processing.
  6. If a response is required, TMA TCP for IMS schedules the response transaction (with any response data) when the response is received.
  7. Eventually, if no response is received from the remote system, the request times out, an error is recognized, and the response transaction is scheduled with appropriate return codes.