Skip to content

Flow Modeling#

Estimated time to read: 13 minutes

Flow Modeling is a simple graphical representation of how information and objects flow through the system as it is used. It is a view of how users in each work role and other system entities interact and communicate to get work done within an organization.

The basic system flow and steps of the work domain, its components, and interconnections among them can be represented through flow modelling through Data Flow Diagrams (DFD), conventional visual representations of the information flows and steps within a system.

This document will guide you through the setup and usage of Steps and Flows. It assumes that the Facilities, Areas, Resources as well as other supporting objects (e.g.: Services) are created and in place.

Overview#

The following table defines some key concepts that are relevant for this tutorial:

Concept Description
Step A Step is the smallest process tracking unit for a material.
Flow A Flow defines a sequence of Steps that a certain Material must follow. It’s possible to define a default Flow for every Product and Product Group that will be assigned automatically by the system when first creating a Material of that Product or Product Group. A flow can either contain Sub-Flows or Steps. Because a Flow may contain duplicate Sub-Flows or Steps, a specific position within the Flow is called a Flow Path and it has a unique address within the Flow.
Product A Product is a specification of what a current Material is or what it’s intended for the Material to become. A Product being a specification has no physical existence.
Material A Material is a physical instantiation of a Product and it has a quantity associated with it. A Material, in Critical Manufacturing MES, is a very generic object and it can represent raw materials, semi-finished and finished goods, durables and work-in-progress (WIP). In addition to a reference to a Product, it has a reference to a Flow, to a Step and to a Facility.
Service A Service is a certain process capability that is required by a Material for a certain context, and that are provided by Resources. When a Resource provides the Service that is required by the Material, the Material can be dispatched and processed at that Resource.
Reason A Reason is used to categorize losses and bonuses as well as to justify reworks, off-flows and holds.

Table: Core concepts

The next figure describes the simplified Flow object model:

graph TD
    A1[Flow] -.- A2[Flow]
    A1 -.- A3[Step]
    A3 --> A4[Reason]

classDef mermaid_title color:#000, fill:#fafafa, stroke:#fafafa, stroke-width:0x, font-size:100%, font-weight:200;
classDef mermaid_start color:#000, fill:#fafafa, stroke:#fafafa, color:#fafafa, stroke-width:0x, font-size:100%, visibility: hidden;
classDef mermaid_businessdata color:#000, fill:#65CDE8, stroke:#65CDE8, stroke-width:0px, font-size:100%;
classDef mermaid_nonbusinessdata color:#000, fill:#B7DEE8, stroke:#B7DEE8, stroke-width:0px, font-size:100%;
classDef mermaid_entity color:#000, fill:#FB9F53, stroke:#FB9F53, stroke-width:0px, font-size:100%;
classDef mermaid_entitylinked color:#000, fill:#FCD5B5, stroke:#FCD5B5, stroke-width:0px, font-size:100%;
classDef mermaid_context color:#000, fill:#B9CDE5, stroke:#B9CDE5, stroke-width:0px, font-size:100%;
classDef mermaid_optional color:#000, fill:#B7DEE8, stroke:#65CDE8, stroke-width:1px, font-size:100%, stroke-dasharray: 5 5;
class Main mermaid_entity
class A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12 mermaid_businessdata
class L1,L2,L3,L4,L5,L6 mermaid_entitylinked
class C1,C2,C3,C4,C5,C6 mermaid_context
class N1,N2,N3,N4,N5,N6 mermaid_nonbusinessdata

click Main "../../userguide/business-data/kpi"
click A1 "../../userguide/business-data/parameter"

Step Details#

Each Step defines several relevant properties that determine the Material tracking and other behavior as listed in the next table:

Property Description
Sub-Material Track State Depth Defines the Material level for which track-in and track-out will be enabled for the Step.
Default Logistic Future Action Execution Mode Defines whether logistic Future Actions (Split and Merge) will be executed manually or automatically by default for the Step.
Processing Type There are three possible processing types:
- Process – in this case, the system maintains the Last Process Step Resource property with the Resource where the Material was last tracked-in
- Metrology
- Logistical
Material Sort Rule Set Specifies the Sort Rule Set used to sort Material to be displayed in the Step View page.
Resource Sort Rule Set Defines the Sort Rule Set used to sort Resource for Material on this Step. This is used for pushing Material to Resources (What is the next Resource for Material?).
Split Checklist Mode Defines what should happen to the Material Checklist Instance when a Material is split in-process:
- Create Note – no Checklist Instance is created
- Create Copy – creates a copy of the Checklist Instance preserving the current state
- Create New – creates and initializes a new Checklist Instance
Shipping Allowed Specifies whether Shipping of Material to another Facility is allowed from this Step or not.
Decimal Quantity Allowed Specifies whether decimal quantities are allowed on Material operations in this Step. When set to false, only discrete quantities are possible.
Marks Product Completion Defines when using Order Management, that the Material must be considered completed when it reaches this Step.
Auto Split by Product Specifies that when using Binning/Grading at the Step, that the Material will be automatically split-by-product after Track-Out of this Step.
Material Transfers Allowed Defines whether Material Transfers can be requested or fulfilled from this Step.
Enable Step Certification Requirements Defines whether the Certification Requirements Context for the Step needs to be checked in addition to the Resource Personnel Requirements for employees performing Material operations on this Step.
Enable Time Constraints Defines whether Time Constraints are allowed to or from this Step. Only if Time Constraints are enabled it will be possible to edit the Time Constraints Context.
Set Units Defines whether the Step defines (enforces) the Material Primary and Secondary Units. If a Step is defined with Set Units, the Primary Units need to be defined.
In-Step Sampling Specifies whether In-Step Sampling (requires Sub-Materials) is enabled for the Step or not. When enabled, the Sampling Pattern Context must be edited.
Track-Out Losses Mode What type of loss screen must be displayed when Tracking-Out material in this Step:
- None – no screen is displayed
- Main Material – screen is displayed for the main material
- Sub Materials – screen is displayed for the sub materials
Pass-Through Defines whether the Material is Pass-Through or not. In a Pass-Through Step, a Material only has to perform a Move-Next. If the Step is not Pass-Through, a Material needs need to be Dispatched, Tracked-In, Tracked-Out and Moved-Next.
Storage Services These properties define the required storage services for storing Material in both Queued and Processed state in this Step.
Include in Planning Defines whether the Step must be included in Schedule Scenarios of type Planning or not.
Include in Scheduling Defines whether the Step must be included in Scheduling or not.
Loss Reasons Defines the Loss Reasons applicable for the Step. Each Loss Reason can be checked to specify whether they apply to:
- Record Loss
- Terminate
- Assemble
A Loss Reason at the Step can also specify what was the actual Step where the loss was incurred.
Loss Classifications Defines up to four loss classifications that further classify losses reported on this Step.
Hold Reasons Defines the Hold Reasons applicable for the Step. A material on hold cannot be moved from its current Step or current State.
Off-Flow Reasons Defines the Off-Flow reasons applicable for the Step. Each Off-Flow reason can be configured to specify whether it applies to:
- Rework
- Temporary Off-Flow
The difference between Rework and Temporary Off-Flow is the following:
- Reworks must always be defined in advance and thus, they must be configured as part of the flow.
- The rework return point can be any Step in the flow.
- Rework can only be performed for Materials in state Queued or Processed, but when a Material returns from a Rework it always goes to the state Queued
- Temporary Off-Flows are not defined in advance. A Material can be sent temporarily to any Flow.
- The Temporary Off-Flow return point is always the Step from which the Material was sent to Temporary Off-Flow.
- Temporary Off-Flows can be performed for Materials in state Queued, Dispatched or Processed, and when a Material returns from a Temporary Off-Flow, it always returns to the same state from which it was sent, and to the same Resource (if any).
The difference between Rework and Temporary Off-Flow is illustrated in the picture below.

Rework vs Temporary Flow
ℹ The system supports nesting of reworks and temporary off-flows.
Bonus Reasons Defines the Bonus Reasons applicable for the Step. A bonus is the opposite of a loss and it indicates that the material quantity is increased. A common bonus case consists of adding some material which has previously been considered scrap and has been recorded as a loss.

Table: Step relevant properties

Flow Details#

The table below describes important Flow characteristics

Characteristic Description
Versioning A flow is versioned object that is subject to change control.
Context Resolution A Material is always at a Flow and at a Step, therefore it’s common for both the Flow and the Step be part of context resolution. Because a Step can be re-used in multiple Sub-Flows, the Flow that is used in context resolution is not the top-level Flow of the Material, but rather the immediate parent Flow of the current Material Step. In the picture below, a simplified version of the Service Context smart table is shown. For Step 1, if a Material would be in Flow 1 the context resolution would resolve the required Service as Service 1; if a Material would be in Flow 2 it would resolve to Service 2; and for all other Flows it would resolve to Service 3.
Important Flow characteristics

Table: Flow characteristics

Feature Description
Optional Steps An optional Step is a Step that can be skipped. The decision to be skipped or not needs to be taken at the time of moving the Material to the next Step and it must be made manually or automatically by a business rule. In the example below, Step 2 is optional which means that when moving from Step 1, a Material can either go to Step 2 or Step 3.

Optional Steps
ℹ Steps are marked as optional at the Flow level.
The counter/time-based sampling functionality makes use of optional Steps to determine whether a particular Material should be sent for sampling or not.
Non-Sequential Blocks A non-sequential block defines a set of Steps (typically testing/metrology Steps) that need to be performed on a certain Material but for which the order of execution is not relevant.
In the example below, the sequences Step 1 – Step 2 – Step 3; Step 2 – Step 1 – Step 3; and Step 3 – Step 1 – Step 2; are all valid sequences for the Material

Non-Sequential Blocks
Alternate Flows When a flow is alternate, only one of its branches, be it made of Sub-Flows or Steps, will be taken by a Material. That is, each Sub-Flow or Step that makes up the Flow is mutually exclusive.

Alternate Flows
Rework Flow Paths When a Flow consists of Steps, it’s possible to define at every Step one or more Rework Paths. A Rework Path can be linked with an Off-Flow Reason associated with the Step that is applicable to Rework, and it defines the Go-To Flow Path and the Return point within the Flow. Because the same Flow can be re-used by different Flows, the return point must always belong to the current Flow.

Rework Flow Paths
There are no limits to the number and levels of Rework. A Material which is in Rework, can be sent to Rework.

Table: Flow features

Setting Up Flows#

In order to be able to use the Flows it's necessary to follow the steps as described in the table below:

Step Title Description
1 Create the Necessary Master Data Create the necessary Facilities, Areas, Reasons as well as the necessary Lookup Table entries.
2 Create the Necessary Steps Create as many Steps as required to be used by the different Flows.
3 Create the Necessary Flows Create as many Flows as required. If a Flow consists of Sub-Flows or it will refer to Rework Flows, those Flows must be created in Advance.

Table: Setting up Flows

The individual steps are explained in more detail in the sub-sections below.

Create the Necessary Master Data#

The necessary master data for setting up Flows is described in the table below:

Master Data Item Item Type Description
Units Lookup Table This lookup table contains the different possible units of measure that can be defined as Primary or Secondary units of a Step.
StepType Lookup Table This lookup table defines the different Step types.
FlowType Lookup Table This lookup table defines the different Flow types.
Services Object The Services are required to specify the Storage Services as well as the Service Context that defines the Service required for Material at that Step.
Reasons Object There are four different types of Reasons that may be referenced by the Step:
- Loss
- Bonus
- Hold
- Rework
Facilities Object A Facility is required because a Step must be always associated with at least one Facility via the Area object.
Areas Object A Step must be associated with at least one Area. A Step can be associated with multiple Facilities but always through different Areas.

Table: Master Data preparation

Create the Necessary Steps#

A Step is a regular system object that can be created and edited just as any other system object. More details about Creating a Step can be found in the User Guide.

Step creation wizard

Create the Necessary Flows#

A Flow is a versioned object and it is subject to change control. More details about creating a Flow can be found in the User Guide.

Flow structure management

Info

When setting a new version of a Flow effective, the system will check that the new Flow version maintains the system integrity (e.g.: by checking that if in a certain Flow version some Steps are removed, that there are no Materials currently in those Steps that have been removed).

Using Flows#

To use a Flow, it’s only necessary to create a Material that references that Flow. Note that if a Product or Product Group define a default Flow Path, the Material will be assigned to that Flow by default when creating the Material. The Material will automatically follow the Flow as defined.

Material creation wizard

Info

The Flow and/or Step of a Material can be changed at any time using the transaction Change Material Flow/Step.