Skip to content

Product Characteristics#

In a manufacturing environment, products often come with various configurable characteristics that demand for flexibility in production. These characteristics define specific attributes of a product, such as material type, size, color, or additional features. These different configurations can play a key role in managing BOM Variants and process-related entities, including services, documents, checklists, and data collections, among others.

Overview#

This tutorial will walk you through the setup and usage of the Product Characteristics functionality in Critical Manufacturing MES.

We will explore:

  • BOM variants
  • Product Characteristic and Rules, including context for Data Collection, Checklists, and Documents
  • Single Alternate Flows with condition expressions
  • Checklist Items with condition expressions

Scenario#

For this scenario, consider a Louvers Product, an air conditioning device. The product structure can vary based on two key characteristics:

  • Number of blades - either 3 or 4
  • Finishing type - Paint, Polish, or Varnish

As a result, a single product (Louvers) can have six different configurations based on these characteristics.

This tutorial will follow the production Flow outlined below:

    flowchart LR
    A[Assembly Step] --> B{Metal Finish}
    B -->  |Varnish|C[Varnish Finish Step]
    B -->|Paint| D[Paint Finish Step]
    B -->|Polished| E[Polished Finish Step]

    classDef mermaid_title fill:#fafafa, stroke:#fafafa, stroke-width:0x, font-size:100%, font-weight:200;
    classDef mermaid_start fill:#fafafa, stroke:#fafafa, color:#fafafa, stroke-width:0x, font-size:100%, visibility: hidden;
    classDef mermaid_initial_state fill:#274b76, stroke-width:0px, color:#fafafa, font-size:100%;

    class Title mermaid_title
    class Start mermaid_start
    class A,B,C,D,E mermaid_initial_state

Assembly Step#

In the Assembly Step, two major consumptions must be considered:

  • Blades - The quantity varies depending on the number of blades.
  • Primary Coat - The type of coating depends on the metal finishing type.
graph TD
    A[Louvers] --> B{Number Of Blades}
    B -->|3| D[Blade <br>BOM Item Consumption <br> 3 Units]
    B -->|4| E[Blade <br>BOM Item Consumption <br> 4 Units]
    A --> C{Metal Finish}
    C -->|Paint| G[Paint Primary Coat <br> BOM Item Consumption <br> 1 L]
    C -->|Polished| H[Polished Primary Coat <br> BOM Item Consumption <br> 2 L]
    C -->|Varnish| F[Varnish Primary Coat <br>BOM Item Consumption <br> 3 L]  

    classDef mermaid_title fill:#fafafa, stroke:#fafafa, stroke-width:0x, font-size:100%, font-weight:200;
    classDef mermaid_start fill:#fafafa, stroke:#fafafa, color:#fafafa, stroke-width:0x, font-size:100%, visibility: hidden;
    classDef mermaid_initial_state fill:#274b76, stroke-width:0px, color:#fafafa, font-size:100%;

    class Title mermaid_title
    class Start mermaid_start
    class A,B,C,D,E,F,G,H mermaid_initial_state

Additionally, for each combination of Number of Blades and Metal Finishing, specific Checklist, Data Collection, and Document need to be triggered.

Finishing Step#

In the Finishing Step, there will be a single Checklist, but the items displayed will vary based on the Product Characteristics. The Checklist will have six different items, each corresponding to a unique Number of Blades and Metal Finishing combination.

Modeling#

In this section, we will build the model to accommodate Product Characteristics and their impact on context variations.

In the following video, we cover:

  • Product Characteristics Management - Defining and handling Product attributes.
  • Product Rule Configuration - Defining context rules for Data Collections, Checklists, and Documents.
  • BOM Configuration - Setting up the Bill of Materials and its variants.
  • Single Alternate Flow Configuration - Configuring condition expressions for process variations.
  • Checklist Item Configuration - Setting up conditional Checklist items.

Warning

Basic model configurations will not be covered in this video.

Note

You may have noticed that for the Assembly Step, where Product Characteristic Rules were set, there was no Smart Table context configuration for Data Collection, Checklists, or Documents. This is because when a Production Order is created a new entry is automatically generated based on its Product Characteristics.

Product Characteristics#

The first crucial configuration is to Manage Characteristics of the Product , where specific characteristics are defined. This data can have free-text values or reference predefined values from Lookup Tables.

Screenshot showing a table with product characteristics, including "Hy Louvers" and other details.

BOM#

When performing Manage BOM Items of the Material BOM, both the quantities and the items themselves can vary depending on the characteristics of the Product.

In more complex scenarios, these variations may depend on a combination of multiple characteristics rather than just one. For example, in this scenario, the Blades BOM item could vary based on both the Number of Blades and the Metal Finish.

Screenshot showing a Bill of Materials (BOM) document with details including "BB Tomers" and "Waters".

BOM Context#

Since the BOM remains the same across all Product variations, and the BOM Items account for those variants, it can be configured in the BOMContext Smart Table.

Screenshot showing a table or list displaying Bill of Materials (BOM) context information.

Useful documentation

Data Collection Example#

There is a Data Collection and a Data Collection Limit Set to be triggered for each combination of characteristics.

Screenshot showing a data collection interface with multiple fields and settings.

Document Example#

There is a Document to be triggered for each combination of characteristics.

Screenshot showing a document example with the title "HB Dot Sparen (A) Avzeta #1".

Useful documentation

Checklist Example: Assembly step#

For the Assembly Step, a Checklist needs to be triggered for each combination of characteristics. This Checklist consists of tree items: a generic manual task, a BOM assembly manual task, and a Data Collecion manual task.

Screenshot showing a checklist for assembly with blades and parts listed. Screenshot showing a checklist for assembly with items labeled "BCL 3B leges", "Portia", "# Seas", and "+ 4 Pew". Screenshot showing a checklist for assembly steps. Screenshot showing a checklist for assembly with items listed.

Product Rules#

Considering all the necessary variations, the BOM configuration already accounts for the product configuration variants. The setup for Data Collection, Documents, and Checklists is managed by performing Manage Rules on the page of the main Product.

Screenshot showing a product rules interface with "Lowers BT" and "$0.20" displayed. Screenshot showing a document with details about product rules.

Checklist Example: Finishing Step#

For all Finishing Steps, the same Checklist is triggered, but the displayed items vary based on the Product Characteristics combination. Each of the six items has a condition expression that defines its specific combination.

Screenshot showing a checklist with items "CLlowers", "Fe sh", "[B3]", "Cetst e", and "Eee y" in a finished state. Screenshot showing a checklist with six items, illustrating the finishing step of a project.

Material Checklist Context#

The Finishing Checklist must be included in the MaterialChecklistContext Smart Table, as its configuration already determines which items will be displayed.

Screenshot showing a material checklist with fields for quantity, unit, and description.

Useful documentation

Flow#

The Flow begins with an Assembly Step, after which the Material enters a Single Alternate Flow. Based on its characteristics, it is directed to one of three available steps.

Screenshot showing a product configuration interface with a title "5 Lovers Producwonth:) A Se4t + 1 ENC ™" and options for "ortais 1" and "CD 1".

Useful documentation

Modeling Notes#

Managing Rules#

When managing product rules, multiple entities can be selected to define a context rule, including:

Expressions for Rules#

Here are some more examples of Product Characteristic Rules:

  • NumberOfBlades>='4' and MetalFinish!='Varnish': Applies when the product has 4 or more blades, but the metal finish is not varnish
  • NumberOfBlades>'3' and (MetalFinish ='Polished' or MetalFinish ='Paint'): Applies when the product has more than 3 blades and the metal finish is either polished or painted
  • (NumberOfBlades='4' or NumberOfBlades ='3') and MetalFinish!='Paint': Applies when the product has 4 or 3 blades, as long as the metal finish is not painted.

For more details on JSONata query syntax for Product Characteristic Rule Conditions, see Manage Rules or JSONata Homepage ⧉.

GUI Element Default Value#

When a Production Order is created and the Product has characteristics, there is an option to "Use Product Characteristic Rules". If this setting is enabled, the system automatically generates a new entry in the Smart Tables involved in the Product Rule Context, based on the Product Characteristics assigned to the Production Order.

This option can have a default value (true or false), which can be set in the GUIElementDefaultValue Table under: ProductionOrder.Create context, UseProductCharacteristicRules element.

Screenshot showing a GUI element with default value "3%" in the context of creating a production order.

Execution#

In this section, we will follow the configured model in action, from Production Order creation to Flow completion.

If the configuration is complete and you need a summary of the existing rules for a specific Product Characteristic combination, the Preview option provides that overview.

Execution Notes#

Inheritance and Characteristics Change#

  • When a Product of a Production Order has characteristics and rules, an entry is automatically created in the Smart Tables upon its creation (example of the Material Checklist, Document and Data Collection Context of the scenario of this tutorial)
  • If the Product Characteristic values are modified, the system updates the corresponding Smart Tables entry to reflect the new contexts. These high-precedence key rows are resolved when processing Materials associated with that Production Order
  • When a Material is created through the Production Order, it inherits the Product Characteristic values.

Warning

If the Product Characteristic values in the Material are changed and no longer match the Production Order, the required entities associated with Smart Tables may not be triggered correctly.

Context Conflicts#

To prevent conflicts when multiple rules apply to the same Step and context, the system uses the rule sequence to determine the evaluation order.

To illustrate this, consider a Production Order where the Product Configuration has 3 blades and a varnish metal finish. The following rules are defined:

  • Rule 1: If the number of blades is 3, the system needs to display the checklist "CL 3Blades:Paint".
  • Rule 2: If the metal finis is varnish, the system needs to display the checklist "CL 4Blades:Varnish".

Since both rules apply, this would create a conflict. To resolve this, the system evaluates rules in sequence and applies the first one that evaluates to true. In this case, the system will add the CL "3Blades:Paint" checklist to the MaterialChecklistContext, and the second rule is ignored.

Screenshot showing a system configuration interface with rules management options.

Master Data#

This is the Master Data file used to create this model.

Please Note:

  • This feature is available in version 11.0.
  • The model was created in version 11.1.
  • At the time this tutorial was written, the Master Data file should be uploaded in two phases:
    • Phase I: Load the entire file excluding <DM>ProductCharacteristicRule.
    • Phase II: Load the entire file or only <DM>Product and <DM>ProductCharacteristicRule.