mqsichangeflowuserexits コマンドを使用して、アクティブまたは非アクティブ・ユーザー出口のリストを設定します。 アクティブ・ユーザー出口と非アクティブ・ユーザー出口のリストは、実行グループおよびメッセージ・フローごとに保守されます。 特定のフローのユーザー出口の有効な状態は、フローの開始時に決定されます。
優先順位は、メッセージ・フロー、実行グループ、ブローカー・デフォルトの順です。 アクティブ・リストは、メッセージ・フローおよび実行グループ設定の非アクティブ・リストに優先します。
メッセージ・フローの特定のユーザー出口の状態が設定されていない場合、その状態は実行グループ設定から取られます。 メッセージ・フローまたは実行グループの状態が設定されていない場合、暗黙的に非アクティブのデフォルト状態が使用されます。または、mqsichangebroker コマンドを介して、ブローカー・プロパティー activeUserExits で明示的にアクティブと定義することができます。
メッセージ・フローまたは実行グループのアクティブ・リストと非アクティブ・リストの両方に特定のユーザー出口名が存在する場合、アクティブ・リストが優先され、ユーザー出口はそのレベルでアクティブになります。 したがって、ユーザー出口をアクティブから非アクティブに変更する場合は、-i フラグを使用してユーザー出口を非アクティブ・リストに属するものとして指定すると同時に、-a フラグを使用して新しいアクティブ・リストを再指定し、ユーザー出口をアクティブ・リストから除去する必要があります。
特定のフローで複数の出口がアクティブになっている場合、それらの出口は定義された順序で起動されます。 最初にメッセージ・フローのアクティブ・リスト内の出口が、-a フラグで指定した順序で起動されます。
これらの出口の起動後に、実行グループのアクティブ・リスト内の出口 (メッセージ・フローのアクティブ・リストと非アクティブ・リストのいずれにも存在しない) が起動されます。 これらの出口は、-a フラグで指定した順序で起動されます。
ただし、ユーザー出口リストをクリアする場合は、そのクリアするユーザー出口リストに応じて、-i フラグまたは -a フラグで二重引用符を引数として使用する必要があります。
実行グループまたはメッセージ・フローのアクティブ・リストまたは非アクティブ・リストでは言及されておらず、ブローカーのアクティブ・リストに存在するすべてのユーザー出口は、ブローカー・プロパティー activeUserExits の設定時に指定された順序で起動されます。
アクティブ・リストまたは非アクティブ・リストに指定されているユーザー出口のいずれかがターゲット実行グループに登録されていない場合、コマンドは BIP8858 エラーで失敗します。