How information is passed between CICS and the user exit

CICS® passes information to the dynamic transaction routing exit by means of a parameter list. The parameter list contains both a standard header structure (cics_UE_Header_t), which is passed to all user exits, and a structure that is specific to dynamic transaction routing called (cics_UE014025_t). Both these structures are included in the header file (cicsue.h). Some of the data that is passed to the dynamic transaction routing program in the parameter list is:
  • The system ID of the remote CICS region that is specified in the Transaction Definitions (TD)
  • The name of the remote transaction
  • A task-local user data area

You can write a dynamic transaction routing program that accepts these values, or changes them, or instructs CICS not to continue routing the transaction. The values that are used depend on the function that is to be performed; that is, some values might be ignored.

Throughout this section, references are made to the results of setting a parameter to a null string. A null string is a string that begins with a null character '\0'. For example, a null string can be placed into the system ID parameter of the parameter list of user exit UE014025 as follows:
strcpy (UE_specificptr->UE_Dyrsysid, "");

All other strings that are returned by the user exit must also be terminated with a null character.