Activating Route State-Based Blocking

State-based blocking can be set up for non-document content items in a route. If you specify a block promotion state for an item, the system prevents the item from being promoted from that state until the route is completed. You can configure which types of items you want to use for state-based blocking.

See Selecting Objects for Routes.

For example, suppose a buyer is routing an RFQ to be reviewed internally before sending it to suppliers. The buyer can make sure the RFQ is not sent to suppliers until the route (and associated review) is complete by specifying Initial Review as the block promotion state. Similarly, suppliers can make sure a quotation is not returned to the buyer until its route (which lets others in their company review it) is complete by choosing Review as the block promotion state.

  1. Open the Run MQL window:
    1. From the compass, select Collaboration and Approvals.
    2. In the navigation pane, click Utilities > Run MQL.
    To run an MQL command, enter the command in the MQL Command box and click Run or press Enter.
  2. To set the context for the MQL session, run this command:

    set context user creator;

  3. To find the triggers defined for the policy that governs the object type, run this command:

    print policy <POLICYNAME>;

    where <POLICYNAME> is the required policy.

  4. Determine if a promote trigger already exists for the required state. For example, the Issue policy includes this promote trigger for the Assign state:

    trigger PromoteAction:emxTriggerManager(PolicyIssueStateAssignPromoteAction)

  5. Determine the sequence number to use for the new promote trigger. If the state does not have an existing promote trigger, skip this step.
    1. To determine the revision level of the existing promote trigger, run this command:

      temp query businessobject "eService Trigger Program Parameters" <TRIGGERNAME> *;

      where <TRIGGERNAME> is the name within the parentheses for emxTriggerManager. For example:

      temp query businessobject "eService Trigger Program Parameters" PolicyIssueStateAssignPromoteAction *

      The results show the Name, Type, and Revision. For example:

      eService Trigger Program Parameters PolicyIssueStateAssignPromoteAction SetActualStartDate

    2. To find the sequence number used by the existing eService Trigger Program Parameters object, run this command:

      print businessobject "eService Trigger Program Parameters" <NAME> <REVISION>;

      For example:

      print businessobject "eService Trigger Program Parameters" PolicyIssueStateAssignPromoteAction SetActualStartDate;

      Note the value of the eService Sequence Number attribute.

  6. To create a new eService Trigger Program Parameters object for the trigger that will block promotions, run this command:

    add businessobject "eService Trigger Program Parameters" <NAME> <REVISION>
         vault "eService Administration"
         policy "eService Trigger Program Policy";
         "eService Program Name" eServiceCheckRoutes_if.tcl
         "eService Sequence Number" <N> ;

    where:

    • <NAME> uses this format:
      <ADMINTYPE><NAME>State<STATENAME>PromoteCheck
    • <REVISION> uses this format:
      CheckRoutesFor<STATENAME>State
    • <N> is the next available sequence number, based on the sequence number determined in step 4. For example, if that value was 2, enter 3. If the state did not already have a promote trigger, enter 1.

  7. Promote the new object to the active state:

    modify businessobject "eService Trigger Program Parameters" <NAME> <REVISION> current Active;

  8. Restart the web or app server.