--- pdfexport: true alias: tutorials-submaterialprocessing timetoread: true tutorial: full description: "This document explains how to track sub-materials within Critical Manufacturing MES, utilizing configurable step and resource properties" --- # Sub-Material Processing The processing and tracking of **Sub-Materials** needs to follow procedures so that nothing deviates from its planned or expected path. **Sub-Material Processing** is only possible when a main **Material** has **Sub-Materials** and the needed configurations are set at the **Step** and **Resource**. Moreover, a **Sub-Material** is part of a main **Material**, and the **Sub-Material Processing** working mode, besides reducing Cycle Time, optimizes the handling of **Materials** throughout the process. The image below shows **Materials** held in a PCB magazine, and each **Material** has **Sub-Materials** attached to it: ![Screenshot showing a PCB magazine with sub-material processing settings.](../../images/submat_pcb_magazine.png) This document will guide you through the actions required for **Sub-Material Processing** in Critical Manufacturing MES. ## Overview Critical Manufacturing MES implements a hierarchical **Material** and **Resource** model. When it comes to tracking **Material** with **Sub-Materials** there are different possibilities which are determined by two properties: - **Step** - Sub-Material Track State Depth - defaults to `0` (main **Material** only) and determines the desired tracking depth. - **Resource** - Enable Sub-Material Tracking - defaults to `false` and determines whether the immediate **Sub-Material** level can be tracked in and tracked out individually. To better illustrate the usage of these two properties, some scenarios are presented here. In all the scenarios below, the color code should be interpreted as shown in this table: |Entity|Color|Description| |:--:|:-:|:-:| |Material|![queued](diagrams/queued.drawio.svg)|Queued| |Material|![inprocess](diagrams/inprocess.drawio.svg)|In Process| |Material|![processed](diagrams/processed.drawio.svg)|Processed| |Resource|![resource](diagrams/mainresource.drawio.svg)|Main| |Resource|![subresource](diagrams/subresource.drawio.svg)|Sub| |Resource|![subsubresource](diagrams/subsubresource.drawio.svg)|Sub-Sub| Table: Sub-Material Tracking Legend !!! info In the examples below, the case of In-Step Sampling for Sampling Pattern where a Sub-Material is marked as Skipped is not considered. When a Sub-Material is marked as Skipped, that Sub-Material cannot be tracked in or tracked out at the Step. ## Scenario Summary | Scenario | Sub-Material Depth | Sub-Material Track State Depth | Enable Sub-Material Tracking | Sub-Resource Configuration | |:---------:|:-----------------:|:--------------------------------:|:--------------------------:|:-------------------------:| | **1** | 2 | 0 | False | No Sub-Resources | | **2** | 2 | 1 | True | No Sub-Resources | | **3** | 2 | 1 | True | 2 :material-pencil-circle: | | **4** | 2 | 2 | True | 2 :material-pencil-circle: | Table: Summary of Sub-Material Tracking Scenarios !!! note Scenario 3 - All Resources allow Sub-Material tracking. Scenario 4 - Only the main Resource allows Sub-Material tracking. It is important to mention that Critical Manufacturing MES supports up to three **Material** depth levels: `0`,`1`, and `2`. This is, level `0` is used for the main **Material**, level `1` for the **Sub-Material**, and level `2` for the **Sub-Sub-Material**. A good example of this is the Semiconductor industry in which a lot is processed at level `0`, wafers from this lot are processed at level `1`, and if needed, each die of the wafers can be processed at level `2`. ## Scenario 1 | Sub-Material Depth | Sub-Material Track State Depth | Enable Sub-Material Tracking | Sub-Resource Configuration | |:-----------------:|:--------------------------------:|:--------------------------:|:-------------------------:| | 2 | 0 | False | No Sub-Resources | Table: Sub-Material Tracking Scenario 1 In this case, because the **Resource** does not allow **Sub-Material** tracking, only the main **Material** is tracked in and tracked out regardless of the **Step** state depth value. ![Sub-Material tracking Scenario 1](diagrams/scenario1.drawio.svg) ## Scenario 2 | Sub-Material Depth | Sub-Material Track State Depth | Enable Sub-Material Tracking | Sub-Resource Configuration | |:-----------------:|:--------------------------------:|:--------------------------:|:-------------------------:| | 2 | 1 | True | No Sub-Resources | Table: Sub-Material Tracking Scenario 2 In this case, the **Resource** allows **Sub-Material** tracking. The **Step** state depth defines tracking until level `1`, so each **Sub-Material** until level `1` needs to be individually tracked in and tracked out. ![Sub-Material tracking Scenario 2](diagrams/scenario2.drawio.svg) ## Scenario 3 | Sub-Material Depth | Sub-Material Track State Depth | Enable Sub-Material Tracking | Sub-Resource Configuration | |:-----------------:|:--------------------------------:|:--------------------------:|:-------------------------:| | 2 | 1 | True | 2 | Table: Sub-Material Tracking Scenario 3 !!! note All the Resources of this structure allow Sub-Material tracking. In this example, each **Material** and **Sub-Material** needs to be tracked in and tracked out individually. ![Sub-Material tracking Scenario 3](diagrams/scenario3.drawio.svg) ## Scenario 4 | Sub-Material Depth | Sub-Material Track State Depth | Enable Sub-Material Tracking | Sub-Resource Configuration | |:-----------------:|:--------------------------------:|:--------------------------:|:-------------------------:| | 2 | 2 | True | 2 | Table: Sub-Material Tracking Scenario 4 !!! note All the Resources allow Sub-Material tracking. In this example, the **Step** defines a tracking depth of `2`, and all the **Resources** within the structure support **Sub-Material** tracking. This means that after the main **Material** is tracked in, the **Sub-Material** (level `1`) must also be tracked in at the **Sub-Resource**. After that, the **Sub-Sub-Material** (level `2`) is tracked in at the **Sub-Sub-Resource** because its main **Material** was tracked in at the **Sub-Resource** 1.2. ![Sub-Material tracking Scenario 4](diagrams/scenario4.drawio.svg)