--- alias: user-guide-split-material description: "Splitting materials creates new child materials from a main material, requiring specific quantity and configuration settings" --- # Split Material :lock: Material.**Split** ## Overview Splits a **Material** into two or more **Materials**. There are many reasons to split a **Material**, logistical ones being the primary driver. As a naming convention, the **Material** being Split will be referred to as Main **Material** whereas the new **Material** that originates from the Split will be called Child **Material**. ## Setup No special setup is required other than to meet the preconditions of the transaction. ## Preconditions * Main **Material** exists, is Active and is not In Transit. * If **Material** Package Count is greater than `0`, the **Material** must be Top-Most. * If **Material** is Top-Most and **Material** Assembly Type is Packing (or the property Packing Step of the **Step** associated to the **Material** is set to `true` and the **Material** currently has its System State set to In Process), for the Parent and for the Child **Materials**, the system must ensure that: * Either the **Material** Primary Quantity or the **Sub-Materials** Primary Quantity must be `0` (packing is single level). * The **Material** Primary Quantity plus the **Sub-Materials** Primary Quantity must be greater than `0`. * **Product** and **Flow** of the Main **Material** are Enabled. * Child **Material** Primary Quantity is greater or equal to `0` and less or equal to the Main **Material** Primary Quantity. * Main **Material** has the property Split Merge Restriction Type set to either No Split Or Merge Restrictions or Merges Not Allowed. * If Top-Most of Main **Material** is assigned to a **Resource**, the associated **Resource** must have the capacity to hold the Child **Material** - depending on the **Resource** Total Positions, Position Unit Type and Position Container Type. * If **Material** Current **Step** has the Is Decimal Quantity Allowed property set to `true`, you can specify a decimal Child **Material** Primary and Secondary (if defined) quantities, otherwise they must be integer. * If the Top-Most **Material** Current **BOM** Version is not `null`, and the **BOM** Assembly Type is different from Automatic At Track-Out: * If the mode is Split Assembled (`default`), the Child Quantity that matches the **BOM** must be ≤ to the Assembled Quantity. * If the mode is Split Not Assembled, the Child Quantity that matches the **BOM** must be ≤ to the `Main Material Quantity that matches the BOM − Main Material Assembled Quantity`. * Additionally, if the **BOM** Assembly Type is: * Weigh And Dispense, it is not allowed to perform a split. * Explicit Long Running, splitting is only allowed in Split Not Assembled mode, and after the split, both the Parent and Child Quantities that match the **Material** **BOM** Units must be > than `0`. * If **Material** is associated with a **Production Order**, the **Production Order** must not be Closed. * The Top-Most of Main **Material** must have the Transfer Material property set to `null`. * The Main **Material** must not have any open defects (Open Defect Count is `0`). * If the Main **Material Product** has its **Product** Type set to Part and the Part Type set to Repairable, the **Material** cannot be referenced in any active **Resource** Part. * If the **Material** current **Resource** has Track Positions set to `true`, the Auto-Generate Positions must also be set to `true` otherwise the Split operation will not be possible. !!! info This transaction is relevant for genealogy. * If the property Use Container Restrictions in the **Step** of the **Material** is `true`, the available containers will be the ones that match the restrictions applied by the context of that **Step**. For more information, see [[step-page#contexts-view|Contexts View]] or [[materialcontainertypecontext-st]]. !!! note The Container Used Positions must be less than the Container Max Usable Positions. * If the **Material** current **Checklist Instance** is not `null` and the Split Checklist Mode of the **Step** is different from Create None, the **Checklist Instance**, **BOM Instance**, and **Data Collection Instance** must be `null`. !!! note Split actions are only executed automatically under specific conditions: * The action is not in the Waiting state. * The action was not triggered by Experiment Actions. * The action is defined for the Main Material. * If the Qualification Count of the Parent **Material** is greater than `0` and the Child **Materials** meet the preconditions of [[user-guide-special-manage-qualification-materials]], the Child **Materials** are added to the same **MAOs** as the Parent **Material**. If the Child **Materials** do not meet those preconditions, the **Split** operation is completed and the Child **Materials** are not added to those **MAOs**. ## Preconditions for Bulk * In addition to the preconditions mentioned above, all Child **Materials** must: * Have the same Parent **Material**. ## Sequence of Steps ### Step 1: New Materials This screen captures the information regarding the Child **Materials**. If the Main **Material** has no **Sub-Materials** this wizard consists of only this one **Step**: 1. Verify the Main **Material** information. 2. Specify as many Child **Materials** as desired, specifying for each: * the Name - optional; if left unchanged a name generator is configured to generate it. * the Primary Quantity and if defined, the Secondary Quantity. * Optionally, a **Container** for the Child **Material**. If the **Container** does not automatically generate its positions, it is also necessary to specify the **Container** position. ![Screenshot showing a UI with a button labeled "Split" selected, highlighting the completion of an operation.](images/split_material.png) 3. Optionally, you can select the Options button on the top rightmost side of the screen to configure the additional options for the new **Material**: * Copy Contexts to the new Child **Material**. * Copy Future General Actions to the new Child **Material**. * Copy Future Splits and Merges to the new Child **Material**. * Copy Future Create Send Ahead Runs to the new Child **Material**. * Copy Future Holds to the new Child **Material**. * Terminate Material on zero Quantity and no Sub-Materials to terminate the Parent **Material** if these two conditions are met. ![Screenshot showing a split material options with "Spin Material" label.](images/split_material_options.png) 4. Optionally, enter a Comment. 5. Select **Split** to complete the operation. ![Screenshot showing a UI with a button labeled "Split" selected, highlighting the completion of an operation.](images/split_material.png) !!! info It is possible to define a default value for the Copy Contexts, Future Holds, Future Actions and Terminate Material on zero Quantity and no Sub-Materials by editing the entries under the Context = `Material.Split` in the [[guielementdefaultvalue-gt]] Generic Table. When splitting a Material and opting to Copy Future Splits and Merges, note that Future Actions of type Merge will not be copied. Instead, the new Child Material will be included in the Merge Future Action linked with the Parent Material. Additionally, the system will not copy Future Actions referencing invalid Flow Paths or Logical Flow Paths. If the Step where the Material will be split has the Print Material Labels Automatically property set to `true`, that information will be displayed on the bottom section of the wizard. ![Screenshot showing a step in the process with an option related to automatic print labeling of materials.](images/split_material_label_printing_automatically.png) !!! note Regardless of the options selected, Copy Set Note and Copy Send Mail are always applied to the Child Material. ### Step 2: Sub-Materials (Only if the Main Material has Sub-Materials) This step is used to assign **Sub-Materials** from the Parent **Material** to the new Child **Materials**. If the Child **Materials** that received the **Sub-Materials** were not assigned to a **Container**, this wizard ends in this **Step**: 1. Select the Child **Materials** on the right side. 2. Select the **Sub-Materials** to be transferred from the Main **Material** to the appropriate Child **Materials** and select the arrow button to complete the transfer. 3. Select **Split** to complete the operation. ### Step 3: Sub-Material Containers This step is used to assign **Sub-Materials** that have been transferred to a Child **Material** to a specific Position within the Child **Material** **Container**. 1. Select a Child **Material** on the left list to populate the middle list with the transferred **Sub-Materials**. 2. Select a **Sub-Material** from the middle list. 3. Define the **Container** and Container Position for the **Sub-Material**. You can also clear the **Container** field to remove the **Sub-Material** from its current **Container**. 4. Select **Split** to complete the operation. !!! note When a transferred Sub-Material is assigned to another Container, the Split operation transfers the Sub-Material to the selected Container and Container Position. When the Container field is cleared for a transferred Sub-Material, the Split operation removes the association between that Sub-Material and its current Container. ### Step 4: Transfer Packages (Only if there are Top Level Packages - Packages without Parents) This step is used to Transfer Packages to the new Child **Material**. 1. Select a Package on the left list. 2. Use the arrow at the top of the grid to transfer the package. 3. Select **Split** to complete the operation. ![Screenshot showing a UI with a list of packages, including "Spin Material" and "Porkoges", highlighting the step to select "Split".](images/split_material_transfer_package.png) !!! note If a Substrate Map was set in the Main Material, its properties, namely: Substrate Map, Substrate Map Layout Specifier, Substrate Map Units, and Substrate Map Last Synchronization Date, will not pass to the Child Material with the Split operation. If a Lane with Is Multilane Active enabled was set in the Main Material, the Child Material will inherit that Lane with the Split operation. For more information, see the [[tutorials-partialtrackout]] tutorial.