Logistics Execution > Setup > Constraints > Constraints
Constraints assist the user in filtering and prohibiting Constraints, at their very core, are user-defined queries that can be applied to a number of objects within the program.
You can use constraints to filter and prohibit the pairing and assignment of Assetsassets, Workersworkers, Positionspositions, and Orders orders during the creation of Activity Templates and execution of Activities. They activity template creation and activity execution.
Constraints can also be used to ensure that a Logistics Order logistics order has the required data necessary to execute an Activity under a given Operation. Constraints, at their very core, are simply user defined queries that may be applied to a number of objects within the AXLE data structure. Currently, any number of constraints may be applied to the following:Activity Templates4activity under an operation.
Info | ||
---|---|---|
| ||
Be cautious regarding the use of multiple constraints over large lists of assets. While it is possible to create very complicated scenarios of interrelated constraints, performance challenges may come into play if large amounts of data are also being constrained. |
Constraint Targets
Currently, any number of constraints may be applied to:
- Logistics Types
- Activity Masters
- Activity Templates
- Logistics Addresses
- Item Classifications
Similar to logistics type attributes, constraints follow a hierarchy, and the parent type's constraints are applied to the child type.
Logistics Execution > Setup > Constraints > Constraints
FIELD | DESCRIPTION |
---|---|
Validity | Identifies whether the constraint is valid. |
Constraint ID | Name of the constraint. |
Description | Description of what the constraint accomplishes. |
Constraint Type | Defines which logistics type is being constrained against and therefore limits which tables are selected within the related constraint query:
|
Logistics Type | Defines which logistics type is being constrained. |
Constraint Restriction | Controls whether a constraint failure stops the attempted process or a warning is issued. |
Expression Section
This section functions as the logic behind the constraint.
Set up a constraint expression to restrict and filter data against the selected logistics type.
Each new line within this section represents another clause in the expression. Multi-lined constraints are joined by the conjunctions AND or OR.
The rules and order of operations for crafting an expression mirrors that of SQL or a generic AX query build. Unlike AX build queries, constraints allow the use of unions, enabling you to create complex statements otherwise unavailable in AX.
Info | ||
---|---|---|
| ||
When creating a constraint, the operator of the first line should be WHERE. For all succeeding lines, AND or OR should be selected, depending on the query logic. AND requires both statements to return as true while OR only requires one statement or the other to return as true. |
Grouping
Use grouping to create complex union queries, similar to SQL.
Grouping is visually expressed through parentheses.
Info | ||
---|---|---|
| ||
Some shipments require refrigeration (e.g., perishable food) and often require extra visibility to ensure safe transit. The constraint might require either a Reefer trailer (i.e., refrigerator) or an asset with both a refrigerator and temperature control mechanism. The written logic would be written as: WHERE Asset Description == Reefer OR (Refrigerator == Yes AND Temperature Controlled == Yes) |
Operations Section
This section displays a list of operations that use the constraint.
Used By Section
This section displays locations where the constraint is currently being used.