The IMSplex affinity routing option of the DFSMSCE0 exit routine

In IMSplexes with shared queues, the IMSplex affinity routing option of the TM and MSC Message Routing and Control user exit routine (DFSMSCE0) can establish an affinity between a transaction instance and an IMS system in which the transaction is started with the affinity option.

MSC must be enabled in the IMS systems that use the IMSplex affinity routing option of the DFSMSCE0 exit routine.

When the DFSMSCE0 exit routine assigns an affinity to a transaction and the transaction is inserted to the shared queues, only the IMS system specified by the DFSMSCE0 exit routine is notified.

The IMSplex affinity routing option of the DFSMSCE0 exit routine enables back-end IMS systems in an IMSplex to process both APPC synchronous transactions and OTMA send then commit (CM1) transactions. The IMSplex affinity routing option overrides restrictions that would otherwise prevent the APPC and OTMA CM1 transactions from processing on back end IMS systems in the IMSplex. When the affinity option is invoked, APPC and OTMA transactions run in a mode that disconnects the transaction message from the client, similar to the mode in which MSC routes messages to remote IMS systems in an MSC network.

The DFSMSCE0 exit routine can be called to establish affinity at the following exit points:

Terminal routing (TR)
The DFSMSCE0 exit routine receives control and can set affinity for a message that is received from a terminal by an IMS system in an IMSplex.
Link receive (LR)
The DFSMSCE0 exit routine receives control and can set affinity for a message that is received from an MSC link by an IMS system in an IMSplex.
Program routing (PR)
The DFSMSCE0 exit routine receives control and can set affinity for a message when an application program running in an IMS system in an IMSplex issues a CHNG or ISRT call to insert the message.

The DFSMSCE0 exit routine establishes affinity for a transaction instance by appending the IMS ID or, in an XRF complex, the RSENAME of the destination IMS system to the shared queue name (SQNAME) in the message prefix.

Before a transaction instance can be processed by the IMS system with which it has affinity, the transaction type must be registered as having affinity on the IMS system.

To start a transaction with the affinity option in an IMS system, specify either of the following commands on the IMS system that processes the transaction:

IMS maintains the affinity status of a transaction type in an IMS system across warm starts and emergency restarts, but not across either a cold start or an export and import of a transaction definition to a resource definition data set.

To display transactions on the shared queues that have affinity to an IMS system, you can issue either of the following commands with the appropriate keywords:

After an IMS system retrieves a transaction with affinity from the shared queue, the affinity status of the transaction is displayed under LclStat as AFFIN. To see which transactions have local affinity status on an IMS system, you can issue the following type-2 command:

For example, if you issue QUERY TRAN NAME(APOL11 APOL12) SHOW(STATUS), the command output might look like the following:

Trancode MbrName   CC  LclStat
APOL11   IMS1      0          
APOL12   IMS1      0   AFFIN