mqsichangeflowuserexits command

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.

Supported operating systems

  • Windows
  • Linux® and UNIX systems
  • z/OS®. Run this command in one of two ways - as a console command, or by customizing and submitting the BIPCHUE utility; see Contents of the integration node PDSE

Purpose

The order of precedence is message flow, integration server, then integration node 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 integration node 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 integration node's active list, are invoked in the order in which they were specified when the integration node 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.

After successful command completion, if a user exit becomes invalid, the following action is taken, depending on which list the user exit appeared in:
  • If the user exit was specified in the message flow's active or inactive list, the flow fails to start and a BIP2315 message is written to system log.
  • If the user exit was specified in the integration server's active or inactive list, the integration server fails to start and a BIP2314 message is written to system log.
A user exit might become invalid for one of the following reasons:
  • The integration node or integration server is restarted after you change the MQSI_USER_EXIT_PATH variable by removing the directory containing the user exit library.
  • The integration node or integration server is restarted after you change the userExitPath integration node property by removing the directory containing the user exit library.
  • The user exit library (or one of its dependencies) is removed, or the integration node is unable to load it.
Select the appropriate link for details of this command on the platform, or platforms, that your enterprise uses:

Authorization

For information about platform-specific authorizations, see the following topics: If you have enabled integration node administration security, you must also set up the authority that is detailed in Tasks and authorizations for administration security.