Data Dictionary
>
FPSBASE Views
> FPSBASE.WIP_WAFER_HIST_LOOP
View FPSBASE.WIP_STEP_HIST_AND_FUTURE
View past, present, and future steps for each lot. There are three ways to filter this view to make it fast: 1) Filter by lot. Both WIP_STEP_HIST and WIP_STEP_FUTURE have indexes on lot. 2) Filter hist by expected_comp_inst and future by num_steps_away. WSH has index on inst and WSF has index on num_steps_away: where is_hist = 'Y' and expected_comp_inst > data_date - 1 or is_hist = 'N' and num_steps_away < 10 3) Filter hist by expected_comp_inst and future by curr_comp_to_expected_arrv_sec. This is the closest approximation to filtering by time because data_date + curr_comp_to_expected_arrv_sec will also be sooner than expected_step_ent_inst and WSF has index on this column: where is_hist = 'Y' and expected_comp_inst > data_date - 1 or is_hist = 'N' and curr_comp_to_expected_arrv_sec < 43200 If you need the overall_seq_num or any current values you have to get them after you filter like this: rank() over (partition by lot order by expected_step_ent_inst, is_hist desc, lot_seq_within_sec) as overall_lot_seq_num, max(case when is_curr = 'Y' then step else null end) over (partition by lot) as curr_step,
|
Column |
Comment |
|---|---|
|
IS_HIST |
|
|
IS_CURR |
Boolean flag where Y indicates this row is for the current main route or product. Same as flush_seq_num = 1. (* inherited from FPSBASE.WIP_FLUSH) |
|
IS_FUTURE |
This should be set to Y if the state does not apply immediately. Production runoff and alarms are two examples where we do not want to set this state in ETP until the tool misses the cascade and starts to lose productivity. (* inherited from FPSINPUT.EQP_L5_TRANSITION_STATES) |
|
IS_NEXT_STEP |
|
|
EXPECTED_STEP_ENT_INST |
|
|
EARLIEST_STEP_ENT_INST |
|
|
EARLIEST_COMP_INST |
|
|
EXPECTED_COMP_INST |
|
|
CURR_COMP_TO_EXPECTED_ARRV_SEC |
We use this numeric field rather than the date field EXPECTED_ARRV_INST but the date field depends on the estimated complete of the current step which depends on the current time. Therefore in order for EXPECTED_ARRV_INST to be accurate we would have to change it every second! Instead we use this field to store the seconds from the complete of the current step to the arrival which only needs to be updated when the lot changes steps. Then we do the calculations to get EXPECTED_ARRV_INST using the current time in the WIP_STEP_FUTURE_PLUS view. For all steps which are one step away, this value is always 0 which makes sense because the complete of the current step is the same as the arrival of the next step. (* inherited from FPSBASE.WIP_STEP_FUTURE) |
|
GOAL_BEGIN_INST |
Time when the lot has to complete the current step to remain on schedule. (* inherited from FPSBASE.WIP_STEP_HIST) |
|
SCHED_START |
The first start time for the durable to be used (* inherited from FPSBASE.RTG_DURABLE_FUTURE_SCHED) |
|
SCHED_END |
|
|
LOT |
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. (* inherited from FPSINPUT.WIP_LOTS_STATIC) |
|
LOT_SEQ_WITHIN_SEC |
For rows with identical timestamps, sequence records to get proper sequence (* inherited from FPSINPUT.WIP_EVENT_HIST) |
|
EVENT |
This is the event registered in the MES. This is for the historical record and display only. Each event is mapped to an FPS event_type and the event_type is what is used by FPS applications. (* inherited from FPSINPUT.WIP_EVENTS) |
|
EVENT_TYPE |
Event Type (* inherited from FPSINPUT.EQP_SCHED_EVENTS_MANUAL) |
|
STEP |
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. (* inherited from FPSINPUT.RTG_ROUTE_STEPS) |
|
TOOL |
Tool is generally just the main tool. The exception is when different entities on the tool run completely independently and it is physically impossible to run wafers of the same lot across multiple entities. In this exception case, we may want to assign the entities to different eqp_types and therefore we should define each entity as a tool. Please note that when we do this there is no indication whatsoever that these different entities are on the same tool. (* inherited from FPSINPUT.EQP_TOOLS) |
|
SEQ_NUM |
Sequence number of step in route (* inherited from FPSINPUT.RTG_ROUTE_STEPS) |
|
ROUTE |
Route that has threading requirements (* inherited from FPSINPUT.RTG_STEP_THREADING) |
|
PRD |
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. (* inherited from FPSINPUT.RTG_PRDS) |
|
PLANPRD |
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. (* inherited from FPSINPUT.RTG_PLANPRDS) |
|
BANK |
Lots which are not on a route are considered in a bank and the bank name indicates why the lot is off route. Bank must be NA for lots which are on a route. Our standard filter for active lots is bank = NA. (* inherited from FPSINPUT.RTG_BANKS) |
|
FACILITY |
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. (* inherited from FPSINPUT.GEN_FACILITIES) |
|
CARRIER |
RFID of the cassette or FOUP the lot is currently in. (* inherited from FPSINPUT.MHS_CARRIERS) |
|
LOCATION |
Location of a carrier or lot or durable which comes directly from the tracking system used at the site. This could be a port or internal tool location or tool or rack or stocker or zero footprint storage or room or really anywhere. Many non-automated sites allow users to manually enter locations into their system. Therefore unless we know for sure that the source data implements a size limitation, it is recommended to always trim the value in the ETL to 32 characters to fit into the column size and avoid load errors. For ports, location is the full name of the port which is unique across the entire site and usually includes the tool name. Please see the comment in the port column which explains the difference between location and port. Rack locations are similar. (* inherited from FPSINPUT.MHS_RACK_LOCATIONS) |
|
LOT_TYPE |
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. (* inherited from FPSINPUT.WIP_LOT_TYPES) |
|
LOT_FAMILY |
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. (* inherited from FPSINPUT.WIP_LOT_FAMILIES) |
|
LOT_GROUP |
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. (* inherited from FPSINPUT.WIP_LOT_GROUPS) |
|
IS_TW |
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. (* inherited from FPSINPUT.WIP_LOT_GROUPS) |
|
IS_SCHED |
This flag indicates that lots in this group should be scheduled. This flag additionally causes TW groups to be included in WIP_STEP_FUTURE which they are normally not. (* inherited from FPSINPUT.WIP_LOT_GROUPS) |
|
CURR_PRIORITY |
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. (* inherited from FPSINPUT.WIP_LOTS_STATIC) |
|
CURR_PRIORITY_DISPLAY |
|
|
PRIORITY_SORT |
Unique sort of priority. Sort ascending gives the order from highest to lowest priority. Therefore the smallest number in priority_sort is the highest priority. (* inherited from FPSINPUT.WIP_PRIORITIES) |
|
PLAN_PRIORITY |
Permanent priority of the lot set in the MES generally by planning. (* inherited from FPSINPUT.WIP_EVENT_HIST) |
|
IS_NONSTD |
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. (* inherited from FPSBASE.WIP_LOT_HIST) |
|
EXPT_ID |
Experiment identifier which indicates the lot will process differently that normal for its product on at least one step of the route. (* inherited from FPSINPUT.WIP_LOTS_STATIC) |
|
EXPT_VARIATION |
Assigned to sibling lots to indicate which variation of the experiment will be performed on the lot. For example, variation 0 might get the normal recipe while variation 1 might get a different recipe then we can compare the different wafers in each split at a following measurement or test step. (* inherited from FPSINPUT.RTG_TOOL_ASSIGNMENTS_LOT) |
|
IS_EXPT_STEP |
Flag set to Y if the experiment requires abnormal processing at this step. (* inherited from FPSBASE.WIP_LOT_HIST) |
|
QTY |
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. (* inherited from FPSINPUT.WIP_EVENT_HIST) |
|
QTY_DELTA |
Difference in number of wafers due to an event that changes lot quantity (* inherited from FPSINPUT.WIP_EVENT_HIST) |
|
PREV_QTY |
|
|
SEC_QTY |
Quantity of units in the lot according the sec_qty_unit defined for the facility. See the column comment for the qty column for details and examples. (* inherited from FPSINPUT.WIP_EVENT_HIST) |
|
SEC_QTY_DELTA |
Difference in number of die due to an event that changes lot quantity (* inherited from FPSINPUT.WIP_EVENT_HIST) |
|
PREV_SEC_QTY |
|
|
QTY_IN_JOB |
The number of units in the job. For example a batch tool with 5 carriers each with a 25 wafer lot would have 125 in the job. This is also important for non-batch tools where we have multiple lots in a carrier as the job might include all lots or only selected lots. (* inherited from FPSBASE.WIP_LOT_HIST) |
|
CARRIERS_IN_JOB |
Set to the number of carriers in the job. The value in WIP_EVENT_HIST represents the number of carriers which have started processing in this job *so far*, while the value in WIP_STEP_HIST (written after the job completes processing) represents the total number of carriers in the job. (* inherited from FPSBASE.WIP_LOT_HIST) |
|
FIRST_LOT_IN_JOB |
The first lot in the job determined by the order of events. When this first lot logs the first tool event which is usually a reserve or dispatch then the job_id is created with only this lot. Then subsequent lots join this job. While we use job_id to identify lots that will process or are processing or processed together, first_lot_in_job is still a useful field. (* inherited from FPSBASE.WIP_LOT_HIST) |
|
MAIN_ROUTE |
Primary route used by the prd. Excludes rework and alternate routing. We allow this column to be null in WIP_LOTS_VERIFY because we may not be certain what the main route is when we fix for missed events. In that event we trust the WIP_EVENT_HIST triggers has loaded the correct information into WIP_EVENTS_CURR_STEP. (* inherited from FPSINPUT.WIP_EVENT_HIST) |
|
MAIN_RT_STEP |
When lot is on a rework or alternate route, this is the step where it will return to the main route. We use this for planning purposes so we can calculate remaining steps. We allow this column to be null in WIP_LOTS_VERIFY because we may not be certain what the main route step is when we fix for missed events. In that event we trust the WIP_EVENT_HIST triggers has loaded the correct information into WIP_EVENTS_CURR_STEP. (* inherited from FPSINPUT.WIP_EVENT_HIST) |
|
MAIN_RT_SEQ_NUM |
|
|
IS_REWORK_STEP |
|
|
IS_REWORK_START |
Event started rework (* inherited from FPSINPUT.WIP_EVENT_HIST) |
|
IS_REWORK_END |
Event ended rework (* inherited from FPSINPUT.WIP_EVENT_HIST) |
|
IS_NEXT |
Indicates record goes into WIP_STEP_HIST (* inherited from FPSBASE.WIP_LOT_HIST) |
|
DUE_INST |
To indicate the due date for this futuer start lot (* inherited from FPSINPUT.WIP_STARTS) |
|
PARENT_LOT |
The parent lot should ideally be the original parent but it could be the most recent parent if multiple splits have occurred. (* inherited from FPSINPUT.WIP_LOTS_STATIC) |
|
NUM_SIBLING_LOTS |
A count of other lots that were also split from the same parent. (* inherited from FPSINPUT.WIP_LOTS_STATIC) |
|
SPLIT_LOT_LIST |
Lot (or list of lots) split along with this lot by this merge event. A value here indicates this was a split event. (* inherited from FPSINPUT.WIP_EVENT_HIST) |
|
MERGE_LOT_LIST |
Lot (or list of lots) merged with this lot by this merge event. A value here indicates this was a merge event. (* inherited from FPSINPUT.WIP_EVENT_HIST) |
|
CANCEL_INST |
Time when tool reservation or dispatch or perhaps even load or ready for the lot at the current step was cancelled. After cancel_inst the lot is available to any qualified tool immediately. (* inherited from FPSBASE.WIP_STEP_HIST) |
|
QUEUE_STATUS |
Display field showing the current status of this lot within a queue time sequence. (* inherited from FPSINPUT.WIP_LOTS_STATIC) |
|
BUNCH_ID |
Chain lots together for Goal Planner (* inherited from FPSINPUT.WIP_LOTS_STATIC) |
|
SAH_TYPE |
Send ahead type is primarily used to set lot_priority. We often want to prioritize a sendahead lot only to the metrology tool so we can get metrology as soon as possible and start processing more lots. (* inherited from FPSINPUT.WIP_SAH_TYPES) |
|
SAH_TOOL |
Send ahead tool (* inherited from FPSINPUT.WIP_LOTS_STATIC) |
|
SAH_CHAMBERS |
Send ahead chambers (* inherited from FPSINPUT.WIP_LOTS_STATIC) |
|
EST_CH_USED |
Estimate of which chambers will used to process this lot based on assignments and status (* inherited from FPSBASE.WIP_LOT_HIST) |
|
ACTUAL_CH_USED |
Here is where we can log the actual_ch_used directly if we know it. We have three ways to determine actual_ch_used in WIP_LOTS_REALTIME which populates WIP_STEP_HIST: 1) Log it directly in this colum for an event where the logged_entity is the main tool. 2) Log events to each of the chambers used in WIP_EVENT_HIST. 3) Log events to each of the chambers used in WIP_WAFER_HIST. (* inherited from FPSINPUT.WIP_EVENT_HIST) |
|
SMP_RESULT |
Either TAKE or SKIP (* inherited from FPSINPUT.WIP_SMP_FUTURE) |
|
SMP_REASON |
Reason for sampling (* inherited from FPSINPUT.WIP_SMP_FUTURE) |
|
QTY_MEAS |
Quantity of units measured at this metrology step. This is less than or equal to the qty_in_job. The standard case is where we have a 25 wafer lot so the qty_in_job is 25 but we only measure 3 wafers on the metrology tool so qty_meas is 3. (* inherited from FPSINPUT.WIP_EVENT_HIST) |
|
MEAS_RESULT |
Result of measurement. For facilities not using FPS Sampling this value is for display purposes only and can be pass/fail or a number or anything. For facilities using FPS Sampling this field is used to dynamically adjust the sampling rules and must be a letter grade A-F. (* inherited from FPSINPUT.WIP_EVENT_HIST) |
|
EST_MACHINE_RECIPE |
Estimated machine recipe what we estimate will be the machine recipe based on information from the Recipe Management System. It is used in combination with process for throughput calculations and setup change penalty calculations. It is not necessary to estimate for all processes since this is always used in combination however it needs to be NA rather than blank since it is part of the primary key of most THP tables. Hopefully when this is not NA it should match the actual machine recipe logged for each lot during processing. (* inherited from FPSINPUT.RTG_TOOL_ASSIGNMENTS) |
|
ACTUAL_MACHINE_RECIPE |
Machine recipe used to process the lot as logged during processing by the tool. (* inherited from FPSINPUT.WIP_EVENT_HIST) |
|
RECIPE_VERSION |
This field is for historical tracking purposes only and is not used in any FPS calculation. (* inherited from FPSINPUT.WIP_EVENT_HIST) |
|
LOGICAL_RECIPE |
Used for infomational purpose and is populated if known otherwise it will match the recipe. (* inherited from FPSINPUT.WIP_EVENT_HIST) |
|
PROC_PORT_MODE |
|
|
EST_DURABLE_USED |
This field is populated with our estimate of what durable will be used based on information from the MES and/or Recipe Management System combined with the location and status of each durable. (* inherited from FPSBASE.WIP_LOT_HIST) |
|
ACTUAL_DURABLE_USED |
Actual durable used as logged by the tool during processing of the lot. This can be a comma delimited string if multiple durables are used. (* inherited from FPSINPUT.WIP_EVENT_HIST) |
|
THP_IGNORE_REASON |
|
|
RESERVE_INST |
Time when the lot was reserved to the tool either by Scheduler or external or manual reservation. As opposed to dispatch, reserve is only in the FPS DWH and therefore can be automatically undone. (* inherited from FPSBASE.WIP_STEP_HIST) |
|
DISPATCH_INST |
Time when the lot indicated in the MES that it will process on the tool. As opposed to reserve, dispatch cannot be automatically undone. (* inherited from FPSBASE.WIP_STEP_HIST) |
|
DISPATCHED_BY |
|
|
READY_INST |
Time when the lot was ready to be processed (e.g. after recipe downloaded). (* inherited from FPSBASE.WIP_STEP_HIST) |
|
BEG_PROC_INST |
time when the lot started processing on the main tool. (* inherited from FPSINPUT.WIP_STEP_HIST_MANUAL) |
|
END_PROC_INST |
time when the lot finished processing on the main tool. (* inherited from FPSINPUT.WIP_STEP_HIST_MANUAL) |
|
ABORT_INST |
When a lot has begun processing on a tool and an event with event_type of ABORT is logged, abort_inst captures the time of the abort. If multiple aborts happen to the same lot, the last abort_inst is used. See description of ABORT ect_state for more details. (* inherited from FPSBASE.WIP_STEP_HIST) |
|
PROCESS_STATE |
Process state is the most commonly used level of our Enhanced Cycle Time hierarchy. This displays on Dashboard, Scheduler, Cycle Time Analyzer, and Finished Lot Cycle Time Reporter. Process state is the parent of ECT state, however, there is configuration for when to show the process state of Reserved in each application which is done in WIP_ECT_STATES. (* inherited from FPSADMIN.WIP_PROCESS_STATES) |
|
PROCESS_STATE_DISPLAY |
|
|
BLOCK_OR_DOWN_REASON |
|
|
IS_HOLD |
This field indicates the lot is on hold after the event is logged. In other words, this will always be Y if is_hold_start is Y and always N if is_hold_end is Y. (* inherited from FPSINPUT.WIP_EVENT_HIST) |
|
HOLD_NOTE |
Comment or note entered when the lot went on hold. Normally this should match the comment which was entered in the hold event. The logic to determine the hold note can get tricky when a subsequent comment event is logged to a lot already on hold because we do not know whether to update the hold note with the new comment or keep the comment from the original event that put the lot on hold. Our solution is to not update the hold_note by trigger with this comment event and leave the decision to our logic in WIP_LOTS_VERIFY. If you want to use the subsequent comment then populate it as the hold_note in WLV otherwise keep the original comment in WLV. Then our logic in CHK_WIP_LOTS_REALTIME is that if the hold_note written in WIP_LOTS_VERIFY differs from the hold_note populated by trigger while the hold_type and hold_for agree then we waive the normal 20 minute waiting period and update the hold_note immediately with a MISS-HOLDNOTE event. (* inherited from FPSINPUT.WIP_LOTS_VERIFY) |
|
IS_HOLD_UPCOMING |
|
|
PROCESS |
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. (* inherited from FPSINPUT.RTG_PROCESSES) |
|
PROCESS_DISPLAY |
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. (* inherited from FPSINPUT.RTG_PROCESSES) |
|
PROCESS_FAMILY |
See https://help.inficonims.com/display/DW/Guide+to+Process+Families. (* inherited from FPSINPUT.RTG_PROCESS_FAMILIES) |
|
PROCESS_GROUP |
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. (* inherited from FPSINPUT.RTG_PROCESS_GROUPS) |
|
PROCESS_MODULE |
WIP_MODULE is used to credit moves and set goals. See comments on the module column in GEN_MODULES for info on this column and how it relates to eqp_module and mnt_module. (* inherited from FPSBASE.RTG_ROUTE_STEPS_PLUS) |
|
PROCESS_MODULE_DISPLAY |
|
|
OPERATION |
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. (* inherited from FPSINPUT.RTG_OPERATIONS) |
|
OPERATION_DISPLAY |
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. (* inherited from FPSINPUT.RTG_OPERATIONS) |
|
OPERATION_FAMILY |
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. (* inherited from FPSINPUT.RTG_OPERATION_FAMILIES) |
|
COMMON_STEP |
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. (* inherited from FPSINPUT.RTG_COMMON_STEPS) |
|
ROUTE_SEGMENT |
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. (* inherited from FPSINPUT.RTG_ROUTE_STEPS) |
|
EST_SMP_PCT |
Smp_pct tells you what percentage of the lots complete on a tool. Some sites skip steps by jumping over them so we see the lot move from step 3 to step 5 and we only know that it jumped step 4 because step 4 is on the route between 3 and 5. Other sites skip steps by moving lots into them and then moving them out a second later so we see a move from 3 to 4 at 11:11:11 and a move from 4 to 5 at 11:11:12. We do not care how it is done but just that the lot did not process at step 4 -- and to be more specific that no tool capacity is required to process this lot at step 4 and no cycle time is accumulated at step 4. (* inherited from FPSBASE.WIP_GOAL_LOT_SHIFT) |
|
IS_INACTIVE_STEP |
Since we now use RTG_ROUTE_STEPS_INACTIVE table, we should only include the active steps on each route in RTG_ROUTE_STEPS. Therefore this value must be set to N in the RTG_ROUTE_STEPS table but will be set appropriately to Y for inactive steps in the RTG_ROUTE_STEPS_PLUS table. (* inherited from FPSINPUT.RTG_ROUTE_STEPS) |
|
IS_IGNORE_WIP |
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. (* inherited from FPSINPUT.RTG_OPERATION_FAMILIES) |
|
LINE_SECTION |
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. (* inherited from FPSINPUT.RTG_LINE_SECTIONS) |
|
EQP_TYPE |
Each tool is assigned an EQP_TYPE and all tools in the same type are identical meaning that they should run at the same throughput when running the same process with the same chamber type count. We also expect similar availability since these tools are identical. However tools in the same EQP_TYPE may have different chamber configurations and may run different groups of processes. (* inherited from FPSINPUT.EQP_TYPES) |
|
MAIN_ROUTE_FAMILY |
Route family of the main route for the prd of the lot. (* inherited from FPSINPUT.WIP_OVR_OPER_MOVES_HIST) |
|
MAIN_ROUTE_GROUP |
Route group of main route. Often referred to as technology. (* inherited from FPSBASE.WIP_FLUSH) |
|
CUSTOMER |
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. (* inherited from FPSINPUT.GEN_CUSTOMERS) |
|
WAFER_SIZE |
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. (* inherited from FPSINPUT.GEN_WAFER_SIZES) |
|
QUEUE_TIMER_DISPLAY |
|
|
CURR_STEP_EST_COMP_REASON |