Skip to content

Statements

A statement is a command in action logic that does something and sits on its own line: assign a value, seize a resource, set a time, branch, or route an entity. This section is the reference for every statement, grouped by what it does:

For where and how you type these, see Action Logic. For the value-returning calls you use inside them, see Functions.

Four statements read the entities waiting in a queue: COUNT, SUM, MIN and MAX. Name the queue, and for SUM, MIN and MAX the attribute to total or compare. WHERE limits the entities used to those that meet a condition, written as an attribute, an operator and a value:

// How many are waiting, and how many of them are priority 1
COUNT Waiting
COUNT Waiting WHERE a_Priority = 1
// The total weight waiting, and the largest cost among them
SUM Waiting a_Weight
MAX Waiting a_Cost

The answer is stored in a variable named for the statement and the queue, such as COUNT_Waiting. In the Action Logic Builder, the same statements are the Queue Aggregation card, under Queries in Add Action.

A few older statements have been replaced:

  • A timed pause is now TIME 5 min, not WAIT 5 min or PROCESS TIME.
  • A direct assignment is v_X = 5 (or SET v_X TO 5); the old ASSIGN keyword is gone.
  • To seize several resources at once, use GET … AND … in place of JOINTLYGET.
LegacyHow this worked in the previous version

Statements are simply commands to be executed at particular stages in an entity’s progress through the process. The following pages explain in detail each statement listed below.

System reserved words cannot be used as variable names, attributes, or scenario parameters.