Send-only programming model

Use the send-only programming model to run an IMS non-response mode transaction in the IMS Transaction Manager (IMS TM).

To run a non-response mode transaction in IMS TM, a Java™ application executes a SYNC_SEND interaction. In a SYNC_SEND interaction, the IMS TM resource adapter sends the request to IMS through IMS Connect and does not expect a response from IMS. Because the IMS TM resource adapter performs a send-only interaction with IMS, a SYNC_SEND interaction is typically used with a non-response mode transaction.

To use a SYNC_SEND interaction to run a transaction, your application must provide a value of SYNC_SEND for the interactionVerb property and a value of 0 for the commitMode property of the IMSInteractionSpec object that is used by the execute method. The SYNC_SEND interaction processing varies, depending on the type of persistent socket that is used (shareable or dedicated) and the type of IMS transaction that is run.

Important: The IMSInteractionSpec properties purgeAsycOutput, reRoute, and reRouteName do not apply to SYNC_SEND interactions and are ignored by the IMS TM resource adapter.

Shareable persistent socket processing model

The following scenarios describe a SYNC_SEND interaction on a shareable persistent socket connection for different types of transactions.
  • Non-response mode transaction

    The IMS application program associated with a transaction that is defined to IMS as non-response mode typically does not insert an output message to the I/O PCB. Therefore, an output message is not created and nothing is queued on a tpipe.

  • Response mode transaction

    The IMS application program associated with a transaction that is defined to IMS as a response mode transaction typically inserts an output message to the I/O PCB. Because the IMS TM resource adapter does not expect a response from a SYNC_SEND interaction, the output message, if inserted, is queued on the tpipe with the name of the generated client ID. However, interactions SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT or SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_WAIT can be used to retrieve the response, if they are performed following the SYNC_SEND interaction in the same application and on the same connection.

  • Non-response mode or response mode transactions that invoke an IMS application program that inserts a message to an alternate PCB

    A message that is inserted to an alternate PCB can be retrieved by executing an interaction on a dedicated persistent socket connection. To insert this message, see the discussion on retrieving asynchronous output on dedicated persistent socket connections in the "Asynchronous output programming model" topic.

Dedicated persistent socket processing model

The following scenarios describe a SYNC_SEND interaction on a dedicated persistent socket connection for different types of transactions. SYNC_SEND interactions use commit mode 0 and dedicated persistent socket connections can be used only for commit mode 0 interactions.
  • Non-response mode transaction

    The IMS application program associated with a transaction that is defined to IMS as non-response mode typically does not insert an output message to the I/O PCB. Therefore, an output message is not created and nothing is queued on a tpipe.

  • Response mode transaction

    The IMS application program associated with a transaction that is defined to IMS as response mode typically inserts an output message to the I/O PCB. Because the IMS TM resource adapter does not expect a response from a SYNC_SEND interaction, the output message, if inserted, is queued on the tpipe with the name that is provided for the client ID of the interaction. Messages queued to this type of tpipe can be retrieved by issuing a SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT or SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_WAIT interactions. The tpipe name is the client ID that is specified for the SYNC_SEND interaction. A client ID is required for interactions that use a dedicated persistent socket connection.

  • Non-response mode or response mode transactions that invoke an IMS application that inserts to an alternate PCB

    A message inserted to an alternate PCB can be retrieved by executing an interaction on a dedicated persistent socket connection. For more information, see the "Asynchronous output programming model" topic.