Introduction

The ExpectNotices Instruction is used to check conditions of a number of Notices from JS7 - Notice Boards that have been added by a JS7 - PostNotices Instruction or by the user.

  • A workflow can include any number of ExpectNotices Instructions to wait for Notices from the same or from different Notice Boards.
  • Behavior with JS7 - Global Notice Boards
    • Expecting a Notice blocks further execution in a workflow until the Notice becomes available. The order in the expecting workflow will continue after it successfully found the Notice.
  • Behavior with JS7 - Schedulable Notice Boards
    • Expecting a Notice is configurable
      • to block further execution in an expecting workflow until the Notice becomes available. The order in the expecting workflow will continue after it successfully found the Notice.
      • to skip the condition and to immediately proceed with instructions following the ExpectNotices Instruction in the expecting workflow if no Notice is announced for the related day.
    • FEATURE AVAILABILITY STARTING FROM RELEASE 2.7.4

Starting from release 2.4.0 the ExpectNotice Instruction is replaced by the ExpectNotices Instruction allowing any number of Notices to be waited for from a single instruction. JS7 handles compatibility and automatically converts existing ExpectNotice Instructions to ExpectNotices Instructions.

Notice

  • A Notice is considered an event that the ExpectNotices Instruction is waiting for. One or more corresponding PostNotices Instructions create the Notice from the same or from different workflows.
  • Both PostNotices and ExpectNotices Instructions reference a common Notice Board identified by its name. The Notice Board implements expressions for the PostNotices Instruction and for the ExpectNotices Instruction to identify a common Notice ID. The Notice ID typically is identified from a common part of each Order ID of the posting order and the expecting order, for example, from the daily plan date.
    • Example
      • An Order ID #2021-07-24#T7142453954-myOrder1 is running in a workflow and meets a PostNotices Instruction. The Notice Board referenced by this instruction includes an expression for the posting order to create a Notice ID based on the daily plan date included with the Order ID. The expression extracts the date from the Order ID, i.e. 2021-07-24, and makes this date the Notice ID.
      • An expecting Order ID #2021-07-24#T7142454683-myOrder2 meets an ExpectNotices Instruction in its workflow. The instruction similarly applies the expression from the referenced Notice Board to create a Notice ID. In most situations the rule specifying what is to be extracted from an Order ID is the same for the posting order and for the expecting order.
        • If both instructions identify the same Notice ID, i.e. the daily plan date 2021-07-24, then the expectation is met and the order proceeds with the next step following the ExpectNotices Instruction.
        • If the expectation is not met, for example, if the Notice has not yet been created by a posting order, or if the daily plan date of the Notice ID is not the same for the posting order and for the expecting order, then the expecting order will wait until a matching Notice becomes available.
    • Users can manually add and delete Notices to/from a Notice Board to force ExpectNotices Instructions to be triggered.
  • Any number of workflows can implement PostNotices Instructions and ExpectNotices Instructions referencing the same or different Notice Boards.
  • Note that the JS7 - ConsumeNotices Instruction works similarly to ExpectNotices except for the fact that ConsumeNotices will remove related Notices.

Workflow Instruction: ExpectNotices

  • The instruction can be placed at any position in a workflow including nested instructions such as the JS7 - If InstructionJS7 - Try-Catch Instruction etc.
  • The instruction holds an expression to specify the Notice Boards from which Notices will be expected.
  • The instruction can be configured to wait for any Notices or to skip the Notice condition on days for which no Notices are announced.

The ExpectNotices Instruction is managed from a workflow in the Configuration view of JOC Cockpit:

Notice Boards

Users can select a single Notice Board from which a Notice is expected. As a result the ExpectNotices Expression holds the name of the Notice Board:


Alternatively, users can type an expression to specify a number of Notice Boards and respective conditions:


Explanations:

  • Expressions include use of
    • && as an "and" condition
    • || as an "or" condition
    • Parantheses specify the precedence by which conditions are evaluated.
  • Notice Board names in expressions must be quoted.

Processing Instructions

The following processing instructions are offered:

Explanations:

  • Wait: block further execution in the workflow until the Notice becomes available. The order will continue after it successfully found the Notice
  • The following Processing Instruction is available for use with JS7 - Schedulable Notice Boards.
    • Skip: skip the condition and proceed with instructions following the ExpectNotices Instruction if no Notice is announced for the related day.

Further Resources


  • No labels