Socket processing for transactions

For a transaction on either a transaction socket or persistent socket, the client application must always issue a TCP/IP READ following all TCP/IP SENDs.

The exceptions are for a TCP/IP SEND of SENDONLY or a TCP/IP SEND of an ACK with IRM_TIMER set to NO_WAIT (X'E9' char Z), which is issued in response to a READ of a RESUME_TPIPE single request.

The following scenarios describe transactions on a transaction socket. For transactions on a persistent socket, the process is the same as transactions on a transaction socket. However, the client application and IMS Connect do not disconnect. Also, the client application will receive a return code of X'28' if there is a timeout. The return code states a disconnect is not required.

For a Commit mode 0, Synch Level Confirm, non-conversational transaction on a transaction socket, the following scenario occurs:

  1. The client application issues a SEND to send the transaction data to IMS Connect.
  2. IMS Connect returns the output to the client application.
  3. The client application receives the output, sends an ACK, and must issue a READ to receive the next output or the timeout notification.
  4. IMS Connect issues a timeout notification with the return code of either X'20' or X'24' for a transaction socket, or an X'28' for a persistent socket. IMS Connect will disconnect the socket for the X'20' and X'24' return codes, and will keep the connection for the X'28' return code.
  5. The client application issues a disconnect for return codes X'20' and X'24'. The client can issue a disconnect for return code X'28' or send in the next input.

For a CM1, Synch Level Confirm, non-conversational transaction on a transaction socket, the following scenario occurs:

  1. The client application issues a SEND of the transaction data to IMS Connect.
  2. IMS Connect returns the output to the client application.
  3. The client application receives the output, sends an ACK or NAK, and issues a READ.
  4. After an ACK is sent, the client receives one of the following responses:
    • Deallocate commit if the IMS transaction completes successfully.
    • A DFS message if the IMS transaction failed.
    • A timeout notification with a return code of X'20' or X'24' for a transaction socket or a return code of X'28' for a persistent socket. The client application is required to issue a disconnect for return codes X'20' and X'24'.
  5. The client application issues a disconnect.

For a CM1, Synch Level Confirm, conversational transaction on a transaction socket, the following scenario occurs:

  1. The client application issues a SEND to send the transaction data to IMS Connect.
  2. IMS Connect returns the output to the client application.
  3. The client application receives the output, sends an ACK, and issues the next input. The client continues SEND, READ, ACK until the transaction is complete.
  4. IMS Connect issues an RSM deallocate commit, deallocate abort, or a timeout notification. The timeout notification returns either X'20' or X'24', which indicates that IMS Connect will disconnect.
  5. The client application issues a disconnect.