Use the mqsichangeflowuserexits command to set the list of active or inactive user exits. A list of active and a list of inactive user exits is maintained for each integration server and message flow. The effective state of user exits for a given flow is decided when the flow starts.
The order of precedence is message flow, integration server, then broker default. The active list takes precedence over the inactive list in the message flow and integration server settings.
If the state for a given user exit is not set for the message flow, its state is taken from the integration server setting. If its state is not set for the message flow or integration server, it takes the default state which is implicitly inactive, or can be explicitly defined as active by the broker property activeUserExits, through the mqsichangebroker command.
If a particular user exit name is present in both the active and inactive lists for a message flow or integration server, the active list takes precedence and the user exit is active for that level. Therefore, if you want to change a user exit from active to inactive you must specify it as part of the inactive list, by using the -i flag and also remove it from the active list by re-specifying the new active list by using the -a flag.
When multiple exits are active for a given flow, they are invoked in a defined order. Those exits in the message flow's active list are invoked first in the order in which they were specified on the -a flag.
After those have been invoked, the exits in the integration server's active list (which were in neither the message flow's active nor inactive list) are invoked. These exits are invoked in the order in which they were specified on the -a flag.
Note, that to clear the user exit lists, double quotation marks must be used as an argument with the -i or -a flag, depending on which user exit list is to be cleared.
All user exits that are not mentioned in the integration server's or message flow's active or inactive list, but are in the broker's active list, are invoked in the order in which they were specified when the broker property activeUserExits was set.
If any of the user exits specified in either the active or inactive list are not registered for the target integration server, the command fails with a BIP8858 error.