Timeout specifications on input messages

Each and every input message from the IMS Connect client can set a different timeout value in the IRM_TIMER field of the fixed portion of the IMS request message (IRM) header.

Set the IRM_TIMER value to an appropriate wait time for IMS to return data to IMS Connect.

The settings for the IRM_TIMER is enforced as described in the following list:

  1. If the IRM_TIMER is set at X'00', the following default values are used:
    • The default for all RESUME_TPIPE is two seconds.
    • The default for all RESUME_TPIPE non-single ACK is .25 seconds.
    • The value of the TIMEOUT parameter in the IMS Connect TCPIP configuration statement for all others.
  2. X'FF' and X'01' - X'9E' are used only when requested.
  3. X'E9' (char Z) NO_WAIT means do not wait for any IMS output. NO_WAIT is not valid on some Client SENDs. Because IMS Connect does not wait for output from IMS, on a transaction socket connection, IMS Connect disconnects the socket; and on a persistent socket connection, IMS Connect requests the next input from the client rather than disconnect the socket. If NO_WAIT is used, it is enforced as follows:
    • There is a two second delay for:
      • RESUME_TPIPE request
      • conversational transaction code
      • conversational data
      • ACK or NAK associated with a conversational transaction
      • non-conversational transaction code
    • A .25 second delay for each of the following is used:
      • an ACK or NAK associated with a non-conversational transaction commit mode one confirm
      • an ACK or NAK associated with a RESUME_TPIPE with Asynch output options AUTO or NOAUTO
      • an ACK or NAK associated with non-conversational transaction commit mode zero confirm
    • NO_WAIT can be used for the following:
      • a SENDONLY
      • an ACK or NAK associated with RESUME_TPIPE with Asynch output option SINGLE
      • an ACK or NAK associated with non-conversational transaction commit mode zero confirm with the IRM NOWAIT flag

Misuse of X'E9' can result in one of the following problems:

  1. The socket disconnects.
  2. An output message to the client on a transaction socket is lost.
  3. A hang condition occurs between the client and IMS Connect or IMS Connect and OTMA. For example, the client can be in a READ state waiting for output from IMS Connect while IMS Connect is in a READ state waiting for input from the client and OTMA is in READ state waiting for acknowledgment.
  4. The deallocate commit or deallocate abort notification for CM1 SynchLevel=Confirm is lost.
  5. Other unpredictable conditions occur.

To determine the appropriate wait time for IMS to return data to IMS Connect, consider the following guidelines: