Data Dictionary
>
FPSAPP Tables
> FPSAPP.DASH_P_WIP_STEP_FUTURE
Table FPSAPP.DASH_P_WIP_STEP_FUTURE"
See comments in DASH_REF_P_WIP_STEP_FUTURE view.
-
Schema: FPSAPP
-
Tablespace: FPSDATA
-
Primary key: LOT, STEP, ROUTE, FACILITY
|
Column |
Type |
Nullable |
Comment |
|---|---|---|---|
|
LOT |
VARCHAR2(128) |
N |
A lot is a group of units that process together. Usually lot_id or lot_number in MES. All units in a lot are in the same carrier but there may be multiple lots in a carrier. (* from FPSINPUT.WIP_LOTS_STATIC) |
|
STEP |
VARCHAR2(256) |
N |
A single processing step within a route representing a single tool visit. Step is often a very complex string and should rarely be displayed. Instead we should use process_display. (* from FPSINPUT.RTG_ROUTE_STEPS) |
|
ROUTE |
VARCHAR2(256) |
N |
Route that has threading requirements (* from FPSINPUT.RTG_STEP_THREADING) |
|
FACILITY |
VARCHAR2(6) |
N |
Facility is included in almost every join in the DWH so this represents a definitive split. A route must have all steps on tools in the same facility. A tool must process all lots in the same facility. If your site has multiple buildings where lots run on routes using tools in multiple buildings then everything should be one facility. For example, multiple Fab buildings. But if your site has independent facilities like Fab and Test and Assembly where lot may progress from one to the next but on different routes then these should be different facilities. Since this column is in virtually every table it is critical that the value here is exactly matches what is in the MES if the MES has facility. Use facility_display for the display friendly name displayed in applications. See site_name comment for client/site/facility example. (* from FPSINPUT.GEN_FACILITIES) |
|
COMING_QTY |
NUMBER |
||
|
COMMON_STEP |
VARCHAR2(50) |
A display-friendly field that groups similar steps together for purposes of viewing the entire line. Typically the only duplicates within a single route will be optional ordered steps in the same segment. But we will often have steps across routes that share the same common step even though exact step definition is not identical. (* from FPSINPUT.RTG_COMMON_STEPS) |
|
|
CURR_BANK |
VARCHAR2(36) |
N |
|
|
CURR_BUILDING |
VARCHAR2(12) |
Current building of carrier. See column comment on BUILDING in FPSINPUT.MHS_BUILDINGS for more information. (* from FPSINPUT.MHS_DELIVERY_NEXT) |
|
|
CURR_COMMON_STEP |
VARCHAR2(50) |
||
|
CURR_PRIORITY |
VARCHAR2(7) |
N |
The priority at the current step. As the lot moves along the route after LAST_STEP_CURR_PRTY it will revert to PLAN_PRIORITY. For example, timelink or sendahead priority is only temporary. (* from FPSINPUT.WIP_LOTS_STATIC) |
|
CURR_PRIORITY_DISPLAY |
VARCHAR2(20) |
||
|
CURR_PROCESS_STATE_DISPLAY |
VARCHAR2(24) |
||
|
CURR_ROUTE |
VARCHAR2(256) |
N |
|
|
CURR_STEP_EST_COMP_INST |
DATE |
||
|
CUSTOMER |
VARCHAR2(64) |
Customer who will accept shipment of the lot. Currently this only used for grouping and filtering but in the future we might want to allow a customer to view a Dashboard only including their products. (* from FPSINPUT.GEN_CUSTOMERS) |
|
|
EARLIEST_STEP_ENT_INST |
DATE |
||
|
EXPECTED_STEP_ENT_INST |
DATE |
||
|
FACILITY_SEGMENT |
VARCHAR2(36) |
Facility segment is the parent of common step and is used as the highest level grouping when we show WIP for a route group or the entire facility where we cannot use route segment. We would prefer somewhere between 8 and 20 facility segments. Typically we will have to define these (as opposed to route_segment which we will typically come from the MES). There is no RTG_FACILITY_SEGMENTS table because sorting of facility segments is determined by common_step_sort. A trigger on RTG_COMMON_STEPS ensures that facility segments are contiguous when the entire facility is sorted by common step. (* from FPSINPUT.RTG_COMMON_STEPS) |
|
|
FIRST_ARRV_HRS_DISPLAY |
VARCHAR2(50) |
||
|
FIRST_ARRV_IN_HRS |
NUMBER |
||
|
FIRST_FUT_HOLD_STEP |
VARCHAR2(256) |
||
|
FIRST_ROW_DISPLAY |
VARCHAR2(36) |
||
|
FUT_HOLD_NOTE_AT_STEP |
VARCHAR2(512) |
||
|
FUT_HOLD_TYPE_AT_STEP |
VARCHAR2(24) |
||
|
IS_BANK_COL |
CHAR(1) |
||
|
IS_COUNT_PRIORITY_PCT |
CHAR(1) |
This flag determines which priorities to include in our overall percentage of priority lots in the Dashboard spotlight. This is similar to is_highlighted_prty but it is possible that we might want to highlight a priority but not include it in the percentage. (* from FPSINPUT.WIP_PRIORITIES) |
|
|
IS_HOLD_CURR |
CHAR(1) |
||
|
IS_HOLD_ROW |
CHAR(1) |
||
|
IS_HOLD_UPCOMING |
CHAR(1) |
||
|
IS_IGNORE_WIP |
CHAR(1) |
N |
This flag is in both RTG_OPERATION_FAMILIES and RTG_PROCESSES. If the value is Y for either the operation family or the process then we do not count WIP at the route-step towards the total for the facility. Typically this is set for staging operations. (* from FPSINPUT.RTG_OPERATION_FAMILIES) |
|
IS_LOT_PRTY_HIGHLIGHTED |
CHAR(1) |
N |
|
|
IS_NONSTD |
CHAR(1) |
N |
Our column to indicate non-standard processing at the step. For example, an experiment or a chain that is only active at a particular step or set of steps and then goes back to being normal for the route. If an experiment is severe enough that it affects the final product and has to be planned separately then it will be its own prd or planprd. (* from FPSBASE.WIP_LOT_HIST) |
|
IS_PLAN_PRTY_HIGHLIGHTED |
CHAR(1) |
N |
|
|
IS_STAGING_COL |
CHAR(1) |
||
|
IS_STAGING_STEP |
CHAR(1) |
N |
We expect large amounts of WIP and long cycle times at staging steps. We still calculate cycle time like any other step but the important difference is that lots currently at a staging step are not counted as normal coming lots to future steps. Instead we show them in a special column labeled From Staging. (* from FPSINPUT.RTG_ROUTE_STEPS) |
|
IS_TW |
CHAR(1) |
N |
Our standard filter to exclude test wafers is is_tw = N but what we really mean with this filter is to exclude any lots that do not add value for the facility. Lots which add value including sellable, development, and engineering and these lot groups should have is_tw set to N. Lots which do not add value are commonly grouped together and named "test wafers" which is why this flag is named is_tw. These include true test wafers like monitors and quals and dummies but also could include virtual lots used for training or testing, bare wafers, or really anything else including in the MES as a lot which does not add value. All of these lot groups should have is_tw set to Y. You could argue that the is_tw field might be more accurately named is_value or is_valuable or is_prod_eng_dev but is_tw is generally clear to most people. Plus it has the advantage that it is short which is nice given how frequently we use the is_tw = N filter. (* from FPSINPUT.WIP_LOT_GROUPS) |
|
LINE_SECTION |
VARCHAR2(32) |
Large grouping of the line, e.g. FEOL, BEOL, Cu, etc. There should be only a handful of values for the entire facility - or if the facility only has one section then we can leave this column blank. (* from FPSINPUT.RTG_LINE_SECTIONS) |
|
|
LOT_FAMILY |
VARCHAR2(24) |
Lot_family is a grouping of lot_type which is mainly use for goal planning. We set goals by family and are allowed to switch goals for different lots of different types within the family. We also report goal performance by family. (* from FPSINPUT.WIP_LOT_FAMILIES) |
|
|
LOT_GROUP |
VARCHAR2(8) |
Lot_group is a grouping of lot_family and is the highest grouping in the lot type hierarchy. There should be only a few values for lot_group, i.e. Prod, Dev, TW. We group WIP and moves by lot_group on the dashboard and we group cycle time calculations by lot_group so this is an important field. (* from FPSINPUT.WIP_LOT_GROUPS) |
|
|
LOT_PRIORITY_SORT |
NUMBER(3) |
N |
|
|
LOT_TYPE |
VARCHAR2(24) |
N |
Lot_type is the base of the hierarchy that determines lot_family then lot_group. Ideally lot_type will come straight from the MES with little modification. (* from FPSINPUT.WIP_LOT_TYPES) |
|
LOT_TYPE_SORT_ORDER |
NUMBER |
||
|
MAIN_ROUTE_FAMILY |
VARCHAR2(36) |
Route family of the main route for the prd of the lot. (* from FPSINPUT.WIP_OVR_OPER_MOVES_HIST) |
|
|
MAIN_ROUTE_GROUP |
VARCHAR2(36) |
Route group of main route. Often referred to as technology. (* from FPSBASE.WIP_FLUSH) |
|
|
MODULE |
VARCHAR2(12) |
Modules are departments of people who manage certain areas of the fab. The modules are assigned ownership of a set of tools to operate and maintain as well as steps on the route that they are responsible for executing. Since many of our tables include tool and step information together, we must distinguish between the owner of the step (WIP_MODULE), the owner of the operation of the tool (EQP_MODULE), and the owner of the maintenance of the tool (MNT_MODULE). WIP_MODULE is used to credit moves and set goals. Each route-step is assigned to a process family and then its wip_module is defined by the process family. EQP_MODULE is used to group tools particularly for tool performance reporting. Similar to WIP, each tool is dynamically assigned to a process family based on its assignments and then its eqp_module is defined by the process family. MNT_MODULE is usually the same as EQP_MODULE but unlike EQP_MODULE is not dependent on assignments but only on the EQP hierarchy. Each tool is assigned to an eqp_type and each eqp_type is assigned to a mnt_family and each mnt_family is assigned to a mnt_module. (* from FPSINPUT.GEN_MODULES) |
|
|
MODULE_DISPLAY |
VARCHAR2(20) |
N |
The name of the module displayed on all dashboards and reports. We allow a longer more descriptive name here although often this will be the same as the module. (* from FPSINPUT.GEN_MODULES) |
|
MPU |
NUMBER(8,4) |
MPU is a commonly used abbreviation which stands for minutes per unit. It is often referred to as MPW which for minutes per wafer but MPU is better because the unit is not always wafer. (* from FPSBASE.WIP_LOT_HIST) |
|
|
NUM_STEPS_AWAY |
NUMBER(4) |
N |
Number of steps away not including steps which we know will be skipped nor those which we estimate will be skipped at least x pct of the time. This x value is configurable in GEN_FACILITIES using the smp_pct_for_num_steps_away column. (* from FPSBASE.WIP_STEP_FUTURE) |
|
NUM_STEPS_TO_RETURN |
NUMBER(4) |
||
|
OPERATION |
VARCHAR2(50) |
Operation is usually the primary level of routing in the MES and the level where the facility typically reports moves. FPS only allows one tool per step so our step is a lower level of routing than operation although both may be the same if the MES only allows one tool per operation. Note that because operation can include multiple steps and therefore multiple process families that we cannot have any association to equipment by operation. (* from FPSINPUT.RTG_OPERATIONS) |
|
|
OPERATION_DISPLAY |
VARCHAR2(50) |
All xxx_display columns are used in place of the column xxx for display purposes. The values of these columns can be changed at any time without having to worry about other tables referencing it. (* from FPSINPUT.RTG_OPERATIONS) |
|
|
OPERATION_FAMILY |
VARCHAR2(36) |
Grouping of route-step that is completely dependent on routing information from MES. The primary use of this field is for filtering on Operations Dashboard. Unfortunately for our database structure and naming convention, this field no longer has any link to operation. This is because operation is used primarily for Oper Moves and it is normal for steps in an operation to belong to multiple MES routing groups. For example, a sink step and a furnace step and a measurement step are in the same operation but each step belongs to the appropriate sink/furnace/measurement MES routing groups which we store in operation family. Since Dashboard already uses both operation and operation_family extensively and independently, we decided not to rename either column but simply remove the link. Please note that operation family is similar to process family and in fact they are often the same. The key differences are that operation family has nothing to do with equipment and that comes straight from ETL with no complex logic. Process family is the link between routing and equipment for the Operations Dashboard and therefore has complex logic. (* from FPSINPUT.RTG_OPERATION_FAMILIES) |
|
|
PLANPRD |
VARCHAR2(64) |
N |
Planning product used for all planning purposes. All lots with the same planprd are interchangeable to ship to the customer regardless of their prd, route, technology, wafer size, etc. For detailed information on prd vs. planprd see table comments in RTG_PLANPRDS. (* from FPSINPUT.RTG_PLANPRDS) |
|
PLAN_PRIORITY |
VARCHAR2(7) |
N |
Permanent priority of the lot set in the MES generally by planning. (* from FPSINPUT.WIP_EVENT_HIST) |
|
PLAN_PRIORITY_DISPLAY |
VARCHAR2(20) |
N |
|
|
PLAN_PRIORITY_SORT |
NUMBER(3) |
N |
|
|
PRD |
VARCHAR2(64) |
N |
Prd determines the route which is used to process the lot in the facility and what tools, recipes, durables, etc. can be used at each step. Prd also determines the next facility for the lot when it finishes its route. For detailed information on prd vs. planprd see table comments in RTG_PLANPRDS. (* from FPSINPUT.RTG_PRDS) |
|
PROCESS |
VARCHAR2(50) |
Process defines what occurs at a step. Different steps can share the same process if they are identical. Process should normally determine allowed tools and recipe although it can be overridden by step, route, prd, lot, and experiment for exceptions. Each process is dynamically assigned to one or more eqp_type-process_family combinations with use_pct. One process_family is determined to be primary. If grouping is done correctly, a process should only be one eqp_group with no crossover. (* from FPSINPUT.RTG_PROCESSES) |
|
|
PROCESS_DISPLAY |
VARCHAR2(50) |
The name of the process displayed on all dashboards and reports. We allow a longer more descriptive name here although often this will be the same as the process. (* from FPSINPUT.RTG_PROCESSES) |
|
|
PROCESS_FAMILY |
VARCHAR2(50) |
See https://help.inficonims.com/display/DW/Guide+to+Process+Families. (* from FPSINPUT.RTG_PROCESS_FAMILIES) |
|
|
PROCESS_GROUP |
VARCHAR2(36) |
Process group is the critical field where tools and processes come together for the purposes of Scheduler. Process group is in both EQP_TOOLS for the tools and in RTG_PROCESSES for processes. Ideally all tools that run the same set of processes with no crossover including back-up and emergency tools would be in the same process group but it is important to note that this is not technically required for Scheduler as long as all process groups are in the same sched group. (* from FPSINPUT.RTG_PROCESS_GROUPS) |
|
|
PROCESS_SUBFAMILY |
VARCHAR2(100) |
Route step family is used for the Dashboard to separate processes in a process family based on shared but limited assignments. It is also the base for GP subfamily. (* from FPSBASE.RTG_ROUTE_STEPS_PLUS) |
|
|
QTY |
NUMBER(7) |
N |
Quantity of units in the lot according the qty_unit defined for the facility. It is required for all lots in each facility to have their qty defined in the same units therefore the change in the unit is critical to defining the facility. For example, a pretest facility might have a sort step in the middle where we learn the qty of die. Prior to this step we know only the wafer qty but after this step we know both wafer and die. Since wafer is the only qty we know throughput the flow then wafer must be defined as the qty unit for this facility. Die can then be populated as sec_qty when it is known. Similarly the wafer saw facility might have a step in the middle where we cut the wafers into die. After this step we no longer know the number of wafers which means that die must be the qty unit for this facility and wafers can be the sec_qty prior to the saw step. Please note that a lot with qty of 0 is allowed but only if the sec_qty is greater than 0. This is unusual but one case is where we know the wafers will be scrapped but cannot be scrapped quite yet. (* from FPSINPUT.WIP_EVENT_HIST) |
|
ROUTE_FAMILY |
VARCHAR2(36) |
Route_family indicates that all routes within the family have similar or even identical steps and have the same segments. At facilities where various prds share the same route it is likely that the route will be the route_family. This is sometimes referred to as the main process flow. It is used on Segment Summary and Line Viewer to group similar routes. (* from FPSINPUT.RTG_ROUTE_FAMILIES) |
|
|
ROUTE_SEGMENT |
VARCHAR2(36) |
Route_segment allows for clear hierarchical segment organization for Segment Summary and Line Viewer on Dashboard. This is often referred to as stage and typically will come from the MES (as opposed to facility_segment which we will typically have to define for our purposes). We recommend that all routes in the same route family have the same route segments in the same order so that the Line Viewer by route family will be consistent but if this is not the case then we approximate the order as best we can. (* from FPSINPUT.RTG_ROUTE_STEPS) |
|
|
SHOULD_AUTO_HIDE |
CHAR(1) |
N |
If the flag is set to Y then the module will be hidden on the Dashboard even if it has active WIP or moves. (* from FPSINPUT.GEN_MODULES) |
|
STEP_SORT_WITHIN_OPER |
NUMBER(3) |
||
|
WAFER_SIZE |
VARCHAR2(8) |
If the facility only has one wafer size then this column should be null in both RTG_PRDS and EQP_TYPES. If the facility has more than one wafer size then a value of null in EQP_TYPES means that those tools can run all wafer sizes. See column IS_ANY_WAFER_SIZE for details. (* from FPSINPUT.GEN_WAFER_SIZES) |