--- alias: user-guide-material-index description: "This documentation outlines the structure and management of materials within a system" --- # Material :lock: Material.**Show** ## Overview **Material** is one of the most important objects in the system as it represents any raw material, inventory or work-in-progress (wafers, dies, modules, printed circuit boards, capacitors, etc.). A **Material** can also be a Durable - tools used in the manufacturing of other **Materials**. A **Material** can represent an aggregation of **Materials** (a batch is an aggregation of lots, which, in turn, is an aggregation of wafers). A **Material** can have Maintenance Plans associated with it. All **Materials** in the system require a unique system wide identifier (ID). The following diagram shows possible **Material** configurations: ```mermaid graph LR subgraph "Ingot to Wafer" A1[Ingot] --> A2[Brick] A2 --> A3[Wafer] end subgraph "Lot to Wafer" A4[Lot] --> A5[Wafer] end 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; classDef mermaid_state color:#000, fill:#d7e4bd, stroke:#000, stroke-width:1px, font-size:100%, font-weight:300; class A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12 mermaid_entity ``` A **Material** is always in a **Facility**, **Step**, **Flow** (more specifically in a Flow Path) and always has a **Product** associated with it. A **Material** can contain Sub-Materials to any depth. Sub-Materials are added and removed from **Material** using the **Attach Material** and **Detach Material** operations. A **Material** can have up to two quantities: one for the primary quantity and another for the secondary quantity. The units of the two quantities are defined by the **Step** in which the **Material** currently is. Since a **Material** can have Sub-Materials, the **Material** also keeps track of the count of Sub-Materials, as well as their quantities. A **Material** can have **Future Holds**, defined when using **Future Actions**. A **Material** can also have one or more **Time Constraints**, which define minimum or maximum time intervals between **Steps**. ## State Model All **Materials** follow the state model detailed in the diagram below. The traditional processing flow is highlighted in bold: ```mermaid graph LR Start -->|Create Material| A1[Queued] A1 --> |Attach| E1[Durable] E1 --->|Detach| A1 A1 --> |Attach| E2[Consumable] E2 --->|Detach| A1 A1 --->|"Move-Next (Pass-through)"| A1 A1 ==>|Dispatch| A2[Dispatched] A2 -->|Undispatch| A1 A5[Skipped] -->|Move-Next| A1 A1 -.->|"Sub-Material Track-In (with Sampling)"| A5 A2 ==>|Track-In| A3[In Process] A3 ==>|Track-Out| A4[Processed] A4 ==>|Move-Next| A1 A4 -->|Ship| A6[In Transit] A1 -->|Ship| A6[In Transit] A6 -->|Unship| A4 A6 -->|Unship| A1 A6 -->|Receive| A1 A4 -.->|Sub-Material Track-In| A3 A3 -.->|Sub-Material Track-In| A1 A3 -->|Abort| A1 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; classDef mermaid_state color:#000, fill:#d7e4bd, stroke:#000, stroke-width:1px, font-size:100%, font-weight:300; classDef mermaid_initial_state fill:#d7e4bd,stroke:#92d050,stroke-width:3px,color:#000; classDef mermaid_final_state fill:#a7e2f2,stroke:#65CDE8,stroke-width:3px,color:#000; class Start mermaid_start class A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12 mermaid_initial_state class E1,E2 mermaid_entity ``` ## Tying Everything Together ```mermaid graph LR A1[Resource] --- L1[Material Resource] A2[Container] --- L2[Material Container] L1 --- Main[Material] L2 --- Main A3[Service] --- Main N3[Schedule Scenario Job] --- Main A5[Product] --- Main A6[Facility] --- Main A7[Protocol Material] --- Main A8[Data Collection Instance] --- Main A9[Material Transfer Material] --- Main N1[Future Action] --- Main Main ---|Parent| Main Main --- N2[Material Time Constraint] Main --- A10[Production Order] Main --- L5[Non-sequential Step] Main --- L3[Material Holds] L3 --- A12[Reason] Main --- L4[Material Rework Path] Main --- A13[Flow] Main --- A14[Step] Main --- A15[Notification] 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; classDef mermaid_state color:#000, fill:#d7e4bd, stroke:#000, stroke-width:1px, font-size:100%, font-weight:300; class Main mermaid_entity class A1,A2,A3,A5,A6,A7,A8,A9,A10,A12,A13,A14,A15 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 "../../business-data/material" click A1 "../../business-data/resource" click A2 "../../business-data/container" click A3 "../../business-data/service" click A5 "../../business-data/product" click A6 "../../business-data/facility" click A7 "../../business-data/material" click A8 "../../business-data/data-collection/data-collection-instance" click A9 "../../business-data/material" click A10 "../../business-data/production-order" click A12 "../../business-data/reason" click A13 "../../business-data/flow" click A14 "../../business-data/step" click A15 "../../business-data/notification" ``` ## Sequence Of Steps The necessary steps for correctly using a **Material** are the following: 1. Create a **Facility**. 2. Create a **Product**. 3. Create a **Step**. 4. Create a **Flow**. 5. Create the **Material**. {{ generate_index() }}