Flow maps are associated with the spot type and they tell you what data to collect using these scenarios:
- When a defect is applied to a Pass Fail check item that is configured with a Spot Type.
- When a NCM is created on an MTS control that has a spot type.
- When an out of spec Numeric Variable is saved and the check item is configured with a Spot Type and Spec Limits.
- When an Alpha Variable is saved with a value other than the default and the check item is configured with a Spot Type and a Default Value other than NONE.
The flow map parts detail where each part gets data from as well as interactions with other flow map parts. Each check item type has a particular part assigned to it. In defining a flow map part, we have to use the following details:
- A brief description of the part.
- What "DATA" value to use when defining the part.
- Main table where data is pulled from.
- Interactions with other Parts.
- Notes on Required Flags.
- Sample Code.
- Other Details.
Flow Map Parts
DEFECT
The Defect flow map part is the most basic flow map part and is REQUIRED in all Flow Maps. In cases where a flow map is NOT defined for a spot type, a default Flow Map with Defect is applied.
DATA: "DEFECT"
Table: DEFECT_CODES.
Interactions With Other Parts: The Defect part can interact with the CAUSE part in the following ways. If Defect comes before Cause, the selected defects will filter the causes based on the DEFECT_CAUSES table. If the Cause comes before the Defect, then the Defect list will be filtered by the selected Cause Code.
Notes on Required: This part should ALWAYS be a required field.
Other Details: This is the ONLY part that allows the user to enter Multiple Values based on the check item. property MULTI_DEFECT_SELECTION.
EXAMPLE:
[{data: "DEFECT", label: "Select Defect", required: "REQUIRED"}, {data: "CAUSE", label: "Select Cause", required: "REQUIRED"}] .
Optional CAUSE:
[{data: "DEFECT", label: "Select Defect", required: "REQUIRED"}, {data: "CAUSE", label: "Select Cause", required: ""}] .
HOLDCODE
DATA: "HOLDCODE" .
Table: Hold_Codes .
Interaction with other parts: When a Hold Code part comes AFTER a Cause Part, the Hold Codes are filtered by the selected Hold Causes in addition to the main filters outlined in the Other Details section below.
Notes on Required:
Other Details: Selection are filtered by Plant, Spot_type, and Area.
EXAMPLE:
[{data: " HOLDCODE ", label: "Select Hold Code", required: "REQUIRED"}, {data: "CAUSE", label: "Select Cause", required: "REQUIRED"}]
[{data: " HOLDCODE ", label: "Select Hold Code", required: "REQUIRED"}, {data: "CAUSE", label: "Select Cause", required: "REQUIRED"}]
Not required:
[{data: " HOLDCODE ", label: "Select Hold Code", required: "REQUIRED"}, {data: "CAUSE", label: "Select Cause", required: ""}]
CAUSE
DATA: "CAUSE" .
Table: Defect_Causes (core database), or Cause_Resp (customer interim database) .
Interaction with other parts: When a defect part is done BEFORE a Cause part, the cause codes will be filtered by the selected defect. In cases where the cause is BEFORE the defect part, the defect list will be filtered by the selected cause. In cases where the Cause comes AFTER a Hold part, the cause of the Hold will be carried over and the Cause selection will be skipped.
Other Details: Causes are filtered by Plant and Spot Type
EXAMPLE - with defect codes, required:
[{data: "DEFECT", label: "Select Defect", required: "REQUIRED"}, {data: "CAUSE", label: "Select Cause", required: "REQUIRED"}]
EXAMPLE - with hold codes, required:
[{data: " HOLDCODE ", label: "Select Hold Code", required: "REQUIRED"}, {data: "CAUSE", label: "Select Cause", required: "REQUIRED"}]
[{data: "CAUSE", label: "Select Cause", required: "REQUIRED"}, {data: " HOLDCODE ", label: "Select Hold Code", required: "REQUIRED"}]
Not required:
[{data: " HOLDCODE ", label: "Select Hold Code", required: "REQUIRED"}, {data: "CAUSE", label: "Select Cause", required: ""}]
RESPONSIBLE .
DATA: "RESPONSIBLE"
Table: Repair_Resp (Interim database)
Interaction with other parts: In cases where the Responsible comes AFTER a HOLDCODE part the responsible selection of the Hold will be carried over and the Responsible selection will be skipped.
Notes on required:
Other Details: Responsible values are filtered by Plant, Product and Area .
EXAMPLE - with defect codes, required:
[{data: "DEFECT", label: "Select Defect", required: "REQUIRED"}, {data: "RESPONSIBLE", label: "Select Responsible", required: "REQUIRED"}]
EXAMPLE - with hold codes, required:
[{data: " HOLDCODE ", label: "Select Hold Code", required: "REQUIRED"}, {data: "RESPONSIBLE", label: "Select Cause", required: "REQUIRED"}]
[{data: "RESPONSIBLE", label: "Select Cause", required: "REQUIRED"},{data: " HOLDCODE ", label: "Select Hold Code", required: "REQUIRED"}]
SEVERITY
DATA: "SEVERITY"
Table: defect_severity
Interaction with other parts: This part can be place anywhere in the flow and information is stored in Severity_Score field. To set up Severity, you must have records in DEFECT_SEVERITY base table.
Notes on required:
Other details: The defect severity is filtered based on the Plant and Spot Type .
EXAMPLE:
[{data: "DEFECT", label: "Select Defect", required: "REQUIRED"}, {data: "SEVERITY", label: "Select Severity", required: "REQUIRED"}]
Not Required:
[{data: "DEFECT", label: "Select Defect", required: "REQUIRED"}, {data: "SEVERITY", label: "Select Severity ", required: ""}]
PART
DATA: "PART"
Table: PART_LIST and SUB_ASSEMBLY
Interaction with other parts:
Notes on Required:
Other Details: The Part flow map is unique in being the only flow map that can be recursive in its selection. The Selections available are based on the Sub Assembly column "Assy_Part_id", these parts MUST exist in Part_List. The initial selection data is based on the checksheet_assignment column "Part_list" matching the Sub_Assembly column "base_part_id". After the initial selection, the part list is re-evaluated with the Sub_Assembly column .
"Base_Part_ID" matching the selected Part, if this list returns NO items, then the flow map continues to the next part.
EXAMPLE:
[{data: "DEFECT", label: "Select Defect", required: "REQUIRED"}, {data: "PART", label: "Select Part", required: "REQUIRED"}]
Spot Type
DATA: "SPOTTYPE"
Table: SPOT_TYPE, DEFECT_CODES
Interaction with other parts: The Spot_Type selection should ALWAYS come first.
Notes on Required:
Other Details: The Spot type selection data is unique based on the check item type. For Runtime items the Spot Types come from the Spot_Type data filtered by Plant and Area. For other control types, the Spot Type selections come from the Child_Spot_Type column in Defect_Codes filtered by Plant and Spot_Type of the Check Item.
EXAMPLE: For a detailed example, see this article: Detailed Example - Spot Type Selector Setup
Yes/No
DATA: "YESNO"
Table:
Interaction with other parts:
Notes on Required:
Other Details: The Yes No selection is a precursor to the flow map part directly after the YesNo part. If the user selects "Yes" then the flow map continues to the next part, if the user selects "No" then the flow map will skip the very next flow part.
Downtime
DATA: "DOWNTIME"
Table: v_downtime_events (Interim DB view)
Interaction with other parts: If a down time is selected, the Cause and Responsible values in the downtime will override any Cause and Responsible selection parts in the flow map.
Notes on Required:
Other Details: The selections are only filtered by PSN.
Machine
DATA: "MACHINE"
Table: MACHINE
Interaction with other parts: If the Machine part comes AFTER a Hold Selection, and the user has selected a valid Hold, then the Machine data is also filtered by Process matching the Cause of the Hold.
Notes on Required:
Other Details: The Machine selections are filtered by Plant and Area.
Subassembly
DATA: "SUBASSEMBLY"
Table: machine_sub_assembly
Interaction with other parts:
Notes on Required:
Other Details: Sub Assembly selections are filtered by the Machine_id and this flow map part should ONLY come after a Machine part.
Comment
Comment flow maps should generally always come AFTER a Defect flow part
DATA: "COMMENT"
Table: N/A
Interactions With Other Parts: The Comment Flow Part will display the selected defects and present the user with the ability to add comments to 1 or more of the defect using a standard Comment Bubble and the standard Comment Popup.
Notes on Required: This Flow Map Part will work regardless of the Required state
Other Details: There are no limits to the number of comments that a user can collect. If the control is marked as required, each selected defect must have at least 1 comment before the user is allowed to continue/complete the flow.
Allowed Flow Map Parts by Check Item Type
MTS Allowed Flow Map Parts
- Part
- Defect
- Cause
- Responsible
- Spot Type
- Downtime
- Yes/No
Pass Fail Allowed Flow Map Parts
- Part
- Defect
- Severity
- Cause
- Responsible
- Spot Type
- Yes/No
- Downtime
- Comment
Variable Allowed Flow Map Parts
- Part
- Defect
- Severity
- Cause
- Responsible
- Spot Type
- Yes/No
- Downtime
Runtime Allowed Flow Map Parts
- Spot Type
- Hold Code
- Cause
- Responsible
- Yes/No
- Machine
- Subassembly
Configuring check items to use the flow map
Pass Fail:
To configure a Pass Fail to use a flow map, define the needed Spot Types within the given Plant and Area. Each spot type can have a unique flow map if desired.
MTS and Runtime:
To configure MTS/Runtime item to use a flow map, define the needed Spot Type and assign to the check item using the Spot_Type column.
Variable:
To configure a Variable item, create and assign a Spot Type to the check item (similar to an MTS/Runtime item). In addition to the basic setup, variable items must be configured with a valid default value other than "NONE", usually this should be "Target" or "Prior", and if a Numeric variable, needs to have a valid Target, USL, and LSL.
Defining a Flow Map
Flow Map Part
Flow Map Parts are defined using the following format:
{data: "<Desired Data>", label: "<your label here>", required: "required"}
The data value should be set to the desired Data field outlined in the Parts above. The Label can be any desired label for the flow selection. The Required field can be set to either "required" or "false" and determines if the user can skip the part without selecting a value.
Combining Parts
Multiple Flow Map parts can be combined by comma separating the parts and wrapping them by square brackets. For example:
[{data: "DEFECT", label: "Select Defect", required: "REQUIRED"}, {data: "PART", label: "Select Part", required: "REQUIRED"}]
Assigning to a Spot Type
A given flow map can be assigned to the Spot Type by putting the desired map text in the Flow_Map column of the desired Spot Type. This can be done using the Base Table Editor or through import.