IMS Connect transaction expiration support

IMS Connect can adjust the expiration time for IMS transactions to match the timeout value of the socket connection on which the transaction is submitted.

If an expiration time is specified in IMS, transactions can expire and be discarded if IMS does not process them before the expiration time is exceeded.

The transaction expiration time for a transaction is set in the definition of the transaction in IMS and is not specific to OTMA. In IMS, you can set or modify the expiration time for a transaction in the following ways:
  • When a transaction is defined during IMS system definition, by specifying the EXPRTIME parameter in the TRANSACT stage-1 system definition macro.
  • When a transaction is created during runtime by using dynamic resource definition, by specifying the EXPRTIME keyword on the CREATE TRAN type-2 command.
  • For a transaction created by the Destination Creation exit routine (DFSINSX0), the exit routine can set the expiration time.
  • For an existing transaction, by specifying the EXPRTIME keyword on the UPDATE TRAN SET(EXPRTIME) type-2 command. Dynamic resource definition does not need to be enabled.

A transaction expiration time set by IMS Connect overrides any transaction expiration time that is specified in the definition of the transaction in IMS.

The following IMS Connect user message exits support setting a transaction expiration time:

  • HWSSMPL0
  • HWSSMPL1
  • HWSSOAP1

IMS Connect clients that use HWSSMPL0, HWSSMPL1, or a user-written exit routine can instruct IMS Connect to set the expiration time for transactions by specifying X'01' (IRM_F1_TRANEXP) in the user section of the IRM prefix. IMS Enterprise Suite SOAP Gateway clients can modify the HWSSOAP1 user message exit routine to set the IRM_F1 TRANEXP field.

To match the expiration time to the timeout value of the socket connection, IMS Connect calculates when the client socket connection will time out by reading the value of either the TIMEOUT parameter of the TCPIP configuration statement or the IRM_TIMER field in the fixed section of the IRM prefix of input messages. IMS Connect then places that time in the user data section of the OTMA message prefix in store clock (STCK) format and notifies OTMA of the new expiration time by setting fields OMHDRXP1 and OMHDRSXP in the state data section of the OTMA message prefix.

When transaction expiration is enabled for transactions submitted by IMS Connect, OTMA monitors the processing of the transaction and, if the transaction expiration time has passed, OTMA discards the transaction and returns a message to IMS Connect.

Depending on when the transaction times out, OTMA might return either a NAK response to IMS Connect or message DFS3688I.

For detailed information about when OTMA checks for expired transactions, see Specifying an expiration time for transactions to OTMA.

If IMS Connect does not set a transaction expiration time, the transaction can still expire if the EXPRTIME parameter was specified when the transaction was originally defined to IMS.