--- alias: manage-material-future-actions description: "Manage Material Future Actions allows you to maintain actions for a Material, defining triggers, states, and execution modes. It supports" --- # Manage Material Future Actions :lock: Material.**ManageFutureActions** ## Overview The Manage Material Future Actions is used to maintain Future Actions for a **Material**. When updating an existing Material Future Action, you can only edit the Future Actions created by you. To be able to modify any Future Action, you need to use the [[user-guide-special-manage-future-actions]] instead. ## Setup No special setup is required other than to meet the preconditions of the transaction. ## Preconditions * **Material** is Active. * To edit a Future Action, the Future Action system state must not be Waiting or Error. * It is not possible to create a Future Action for a Pass-Through Step if the Action field is Set Resource or Set Service. * It is not possible to create a Future Action for a Pass-Through Step if the State field is Queued. * If a Distribution List is defined, it must be well formed - it must contain valid email addresses, and if multiple email addresses are provided, they must be separated by a semicolon. ## Sequence of Steps ### Step 1: Future Actions This screen captures all the necessary information for the transaction. 1. Add, edit or remove any Future Action for the **Material**, defining for each one: * The details of the context where the Future Action is triggered. You have three selection modes: * **Flow Path** - where you choose the **Flow** and **Step** using the original entity names. * **Logical Flow Path** - where you choose the **Flow** and **Step** using the logical entity names. * **Step** - where you only choose the **Step**. * The State from which the Future Action must be triggered: Queued or Processed. !!! note For Future Actions of type Split For Step, the State must be Queued. * The type of Action - currently the system supports the following types of Future Actions: * **Change Flow And Step** - changes the **Flow** and **Step** of the **Material**. * **Collapse** - collapses the **Material** and merges the Sub-Materials back into the Parent **Material**. * **Create Send-Ahead Run** - creates a **Send-Ahead Run** for this **Material**. * **Detach** - detaches the **Material** from its Parent **Material**. * **Execute Rule** - executes a **Rule** of scope Material Future Action. * **Hold** - puts the **Material** on Hold. * **Merge** - merges two or more **Materials**. * **Send Mail** - sends an email notification. * **Set Note** - sets a note for the **Material**. * **Set Resource** - sets the Required Resource for the **Material**. * **Set Service** - sets the Required Service for the **Material**. * **Skip Process** - allows a **Material** to bypass a skippable **Step**, and the **Material** state automatically changes from Queued to Processed. * **Split** - splits the **Material**. * **Split For Step** - splits the **Material** at a **Step** in State Queued and merges it back at the end of the **Step** in State Processed. * **Temporary Off-Flow** - sends the **Material** to a Temporary Off-Flow. * **Terminate** - terminates the **Material**. !!! note If Feature Security Level is enabled, you will need access requirements (feature linked to the function) to perform or execute Future Actions. For more information, see the [[manage-material-future-actions#future-action-feature-level-security|Future Action Security Feature table]]. * The Execution Mode - with the exception of Merge, Split, and Split For Step, the Execution Mode is always set as Automatic and overrides the value of the **Step** property Default Future Logistic Action Execution Mode. * The Precedence - Standard or High. This property allows you to override the default execution of an Experiment Definition for a specific **Material** and the system defined priority for the execution of the Future Actions. !!! note The priority of Future Actions is determined based on the following criteria: 1. Precedence (High or Standard) 2. Priority of context key (see [[user-guide-future-actions-precedence-keys]]) 3. Implicit priority assigned to the action type (see [[user-guide-perform-future-action#system-defined-priority|System Defined Priority]]) For Future Actions of type Hold and Send Mail, it will not be possible to choose a Precedence; they will always be defined as Standard. * The Create Notification - with the exception of Set Note, Set Resource and Set Service, you must specify whether or not to Create Notification (default is `false`). If Create Notification is enabled, you must specify the Assignment Type: * **Employee** - this is the default and the Assigned To Employee field is mandatory (default to current user). * **Everyone**. * **Role** - the Assigned To Role field is mandatory. * Optionally, a Distribution List to be notified when the Future Action is triggered. * Optionally, a comment for the operation. 2. For Future Actions of type Hold, specify: * The Hold Reason, which must be associated with the **Step** of the Future Action. * Optionally, a Release Role. * Optionally, a Release Code. 3. For Future Actions of type Change Flow And Step, specify: * The **Flow** and **Step** to send the **Material**. !!! note In cases where the same Step is repeated in the Flow and the Material is in a Processed state, you may opt to enable Force Queued State. Otherwise, the Material will stay in the Processed state (see [[change-material-flow-step]]). Furthermore, you can define the default value for the Force Queued State by editing the entry Context = `Material.ChangeFlowAndStep` for the Element = `ForceQueuedState` in the [[guielementdefaultvalue-gt]] Generic Table. 4. For Future Actions of type Temporary Off-Flow, specify: * The **Reason** to be used when sending the **Material** on the Off-Flow. * The **Flow** and **Step** to use. 5. For Future Actions of type Terminate, specify: * The **Reason** to be used when terminating the **Material**. 6. For Future Actions of type Set Note, specify: * The **Step** on which to set the note. * Optionally, the Flow Path context for the **Step**. 7. For Future Actions of type Set Resource, specify: * The **Resource** to be used by the **Material** at the specified context. * Whether Automatic Dispatching is to take place. 8. For Future Actions of type Set Service, specify: * The Service to be used by the **Material** at the specified context. 9. Future Actions of type Split and Split For Step will need further specifications on the Split Mode, Type of Material and Quantity to be Split. For more information on how to define these criteria, see Step 2. 10. For Future Actions of the type Send Mail, specify: * The Distribution List to be used. 11. For Future Actions of type Create Send-Ahead Run, specify: * The Selection Mode and the **Steps** and **Flows** to configure the Send-Ahead Run: * **Step** * Flow Path * If the Selection Mode was defined as **Step**, define the **Steps** for the Evaluate and Merge stages. * If the Selection Mode was defined as Flow Path, you must define **Flows** and **Steps** for Evaluate and Merge stages. * Define the Results Capture Mode: * Data Collection Within Limits (this is referring to the Error Limits of the **Data Collection**) * Manual * Manual At Track Out * SPC With No Violation * Define the Send-Ahead Split Type that will be performed to the **Material** that will be kept in the Waiting State: * Logical * Physical * Define how the Sub-Materials will be selected for the **Send-Ahead Run**: * **Manual** - define a format to apply to the selection. This format should follow these rules: `[Container]':'[Position]` separated by semi.colons, for example: `'C:1,P:1;C:Right-1,P:Bottom+2'`. * **Rule** - specify the **Rule** to be used for the selection through the execution of a **DEE Action**. See [[user-guide-rule-index]] and [[user-guide-dee-actions]] for more information. * **Sub-Material Ids** - specify the Ids of the Sub-Materials that will be selected. * **System** - allows the MES system to select the Sub-Materials. Define the number of Sub-Materials to select and how they will be picked from the Main **Material**: * Bottom - selects the defined count of Sub-Materials that were attached last to the Main **Material**. * Middle - selects the defined count of Sub-Materials from the middle of the Sub-Materials stack of the Main **Material**. * Random - selects the defined count of Sub-Materials randomly from the Main **Material**. * Spread - selects the defined count of Sub-Materials spread evenly from the Main **Material**. * Top - selects the defined count of Sub-Materials that were attached first to the Main **Material**. 12. For Future Actions of type Execute Rule, specify: * A **Rule** of scope Material Future Action to be used by the system. 13. For Future Actions of type Skip Process: * The Execute Mode must be Automatic. * The **Material** must be in the Queued state. * The **Step** must have the Is Skippable property set to `true`. ![Screenshot showing a stake management interface with processed step details.](images/material_manage_future_actions.png) ### Step 2: Split/Merge Materials 1. This wizard will enable you to define: * The number of Child **Materials**. * Optionally, a name for the Child **Material** and a percentage of the quantity for the Child **Material**. 2. For Future Actions of type Merge, Split, and Spilt For Step, specify for the Future Action: * The name of the **Materials** that will be split/merged, which must refer to valid active **Materials**. 3. Select **Update** to complete the transaction. !!! warning Only one Future Action of type Split, Split For Step, Merge, Terminate, Detach, Collapse, Change Flow and Step, Temporary Off-Flow, Create Send-Ahead Run, Execute Rule or Skip Process can be specified for the same context. A Material cannot simultaneously be referenced as both Main Material and Child Material in different Future Actions for the same context of a Merge Material. ![Screenshot showing a list of available future actions, including Split and Merge options.](images/manage_material_future_actions_split.png) ![Screenshot showing a list of 10 future actions for managing materials.](images/manage_material_future_actions_child_materials.png) ### Future Action Feature Level Security | | | | | | | | | | | | | | | | | | -------------------- | -------------------------- | ----------------- | --------------------- | --------------- | ------------- | -------------- | ----------------- | ---------------- | -------------------- | ------------------- | -------------- | --------------------- | ------------------------- | ----------------------- |---------------| | **Future Action** | Change Flow and Step | Collapse | Create Send-Ahead Run | Detach | Hold | Merge | Send Mail | Set Note | Set Resource | Set Service | Skip Process| Split | Split For Step | Temporary Off-Flow | Terminate | Execute Rule | | **Security Feature** | Material.ChangeFlowAndStep | Material.Collapse | SendAheadRun.Create | Material.Detach | Material.Hold | Material.Merge | Material.SendMail | Material.SetNote | Material.SetResource | Material.SetService | Material.SkiProcess | Material.Split | Material.SplitForStep | Material.TemporaryOffFlow | Material.Terminate | Material.ExecuteRule| Table: Feature Level Security Access Requirements for Future Actions !!! info There is a System Configuration for Material Tracking to resolve pending manual Future Actions when there is a Material that has not yet arrived at the right Step and State: `/Cmf/System/Configuration/MaterialTracking/GUI/WaitIndicatorsBehavior/`. It provides the following options: - Merged (to merge icons) - Separate (to have separate icons) For more information, see [[system-configuration-entries#cmfsystem]].