data-dictionary

FPSADMIN.DASH_P_CURR_SH_D_MOVES

Data Dictionary

>

FPSADMIN Tables

> FPSADMIN.DASH_P_CURR_SH_D_MOVES

Table FPSADMIN.DASH_P_CURR_SH_D_MOVES"

See comments in DASH_P_CURR_SH_D_MOVES_CUSTOM procedure.

  • Schema: FPSADMIN

  • Tablespace: FPSDATA

  • Primary key: INST, LOT_SEQ_WITHIN_SEC, LOT


Column

Type

Nullable

Comment

INST

DATE

N

Time when the event occurred. (* from FPSINPUT.WIP_EVENT_HIST)

LOT_SEQ_WITHIN_SEC

NUMBER(6,2)

N

For rows with identical timestamps, sequence records to get proper sequence (* from FPSINPUT.WIP_EVENT_HIST)

LOT

VARCHAR2(32)

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)

ACTUAL_CH_USED

VARCHAR2(24)

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. (* from FPSINPUT.WIP_EVENT_HIST)

ACTUAL_DURABLE_USED

VARCHAR2(129)

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. (* from FPSINPUT.WIP_EVENT_HIST)

ACTUAL_MACHINE_RECIPE

VARCHAR2(100)

Machine recipe used to process the lot as logged during processing by the tool. (* from FPSINPUT.WIP_EVENT_HIST)

AGE

NUMBER

BANK

VARCHAR2(36)

N

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. (* from FPSINPUT.RTG_BANKS)

BEG_PROC_INST

DATE

time when the lot started processing on the main tool. (* from FPSINPUT.WIP_STEP_HIST_MANUAL)

BUILDING

VARCHAR2(12)

Building is the top of our MHS hierarchy at each site. It is independent of facility which is at the top of our EQP/RTG hierarchy. It is possible for a building to include multiple facilities and for a facility to include multiple buildings but we do not even need to define these relationships because EQP_TOOLS determines this by the combination of the facility and bay columns (since bay points to building). (* from FPSINPUT.MHS_BUILDINGS)

CARRIER

VARCHAR2(32)

RFID of the cassette or FOUP the lot is currently in. (* from FPSINPUT.MHS_CARRIERS)

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_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)

N

CURR_PRIORITY_REASON

VARCHAR2(128)

An optional description of why the priority is set as it is. This is typically shown as additional information on pages related to priority lots. (* from FPSINPUT.WIP_LOTS_STATIC)

CURR_PRIORITY_SORT

NUMBER(3)

N

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)

DELTA_TYPE

VARCHAR2(12)

Delta_type is the reason why the qty changed. It is populated with a value in WIP_DELTA_TYPES (SCRAP, SPLIT, etc.) for all records where qty_delta != 0. It is null for normal moves where is_next = Y and the qty does not change. The logic to populate this is in WIP_STEP_HIST_INSERT_BEF. (* from FPSADMIN.WIP_DELTA_TYPES)

DISPATCHED_BY

VARCHAR2(64)

DISPATCH_INST

DATE

Time when the lot indicated in the MES that it will process on the tool. As opposed to reserve, dispatch cannot be automatically undone. (* from FPSBASE.WIP_STEP_HIST)

END_PROC_INST

DATE

time when the lot finished processing on the main tool. (* from FPSINPUT.WIP_STEP_HIST_MANUAL)

EQP_MODULE

VARCHAR2(12)

EQP_MODULE is the module responsible for operating the tool. See comments on the module column in GEN_MODULES for info on this column and how it relates to eqp_module and mnt_module. (* from FPSBASE.EQP_TOOLS_PLUS)

EQP_PROCESS_FAMILY

VARCHAR2(50)

EVENT

VARCHAR2(48)

N

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. (* from FPSINPUT.WIP_EVENTS)

EVENT_TYPE

VARCHAR2(12)

N

Event Type (* from FPSINPUT.EQP_SCHED_EVENTS_MANUAL)

EXPT_ID

VARCHAR2(12)

Experiment identifier which indicates the lot will process differently that normal for its product on at least one step of the route. (* from FPSINPUT.WIP_LOTS_STATIC)

EXPT_VARIATION

VARCHAR2(12)

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. (* from FPSINPUT.RTG_TOOL_ASSIGNMENTS_LOT)

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)

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_LOT_IN_JOB

VARCHAR2(32)

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. (* from FPSBASE.WIP_LOT_HIST)

INSERTED_TIME

TIMESTAMP(6)

N

Timestamp field set by trigger storing SYSTIMESTAMP when record was inserted in the table. (* from FPSINPUT.WIP_EVENT_HIST)

IS_ALREADY_COMP_THIS_OPER

CHAR(1)

IS_AUTO

CHAR(1)

This field shows if the port mode is set to automatically deliver material. If the facility either has automated delivery (aka 300mm) or is using semi-automated delivery (aka NextMove) then a port set to a port_mode where this is N but is_up is Y is considered manual. A manual port means that the delivery system cannot use this port. If all ports are manual then rank will be M (Ports Manual) and ETP will set the state to SBY-RANKM (Standby With All Ports in Manual). In addition, we report auto_pct by summarizing the port states in auto and manual. (* from FPSINPUT.EQP_PORT_MODES)

IS_COUNT_PRIORITY_PCT

CHAR(1)

N

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_CURR_PLAN_DAY

CHAR(1)

N

IS_CURR_PRTY_HIGHLIGHTED

CHAR(1)

N

IS_CURR_SHIFT

CHAR(1)

N

IS_CURR_WORK_DAY

CHAR(1)

N

IS_EXPT_STEP

CHAR(1)

N

Flag set to Y if the experiment requires abnormal processing at this step. (* from FPSBASE.WIP_LOT_HIST)

IS_FACILITY_SEGMENT_MOVE

CHAR(1)

IS_IGNORE_MOVABLE_TURNS

CHAR(1)

N

Movable turns differs from our standard turns calculation in that we ignore steps where lots are not expected to move like staging steps or logistics steps. Like is_ignore_turns, this flag can be set in either RTG_OPERATION_FAMILIES, RTG_PROCESSES, or RTG_LINE_SECTIONS. (* from FPSINPUT.RTG_OPERATION_FAMILIES)

IS_IGNORE_MOVES

CHAR(1)

N

This flag is in both RTG_OPERATION_FAMILIES and RTG_PROCESSES. If the value is Y for the operation family then we do not count moves from those operations as oper moves. If the value is Y for either the operation family or the process then we do not count moves from the route-step as completes even if our normal logic suggests that it should be a complete. This logic can cause confusion so here are a few important notes. 1) Dashboard does not read the is_ignore_moves flag therefore we must set move_type to DSKIP rather than COMP and we must set is_oper_move to N in order to ignore the move. 2) This flag is often used for staging steps but it is independent of the is_staging_step flag so if you want to ignore staging steps then you need to set these flags appropriately. 3) The flag in RTG_PROCESSES does not directly affect the oper moves but it does affect it indirectly if the is_comp_rqd_for_oper_move is set to Y. In that case, if the only move during the operation is for a process which is ignored then we do not have a complete during the operation and therefore will not count the move from the operation as an oper move since a complete is required. (* from FPSINPUT.RTG_OPERATION_FAMILIES)

IS_IGNORE_TURNS

CHAR(1)

N

This flag is in RTG_OPERATION_FAMILIES, RTG_PROCESSES, and RTG_LINE_SECTIONS. If this flag is Y in any of the three tables then we do not count turns at the route-step towards the total for the facility. We also ignore turns at route-steps where we ignore WIP and/or moves which makes sense since turns is moves divided by WIP. Finally we ignore turns for certain line sections towards the facility average. (* from FPSINPUT.RTG_OPERATION_FAMILIES)

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_LAST_PLAN_DAY

CHAR(1)

N

IS_LAST_SHIFT

CHAR(1)

N

IS_LAST_WORK_DAY

CHAR(1)

N

IS_MOVE

CHAR(1)

N

IS_NEXT

CHAR(1)

N

Indicates record goes into WIP_STEP_HIST (* from FPSBASE.WIP_LOT_HIST)

IS_NONSTD

CHAR(1)

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_OPER_COMP

CHAR(1)

IS_OPER_MOVE

CHAR(1)

The critical Dashboard metric we call oper moves is moves according to the specific definition of the site, usually the moves calculation they used prior to installation of the FPS Dashboard. If Y then this step move meets the specific criteria for the site to be counted as an oper move. (* from FPSBASE.WIP_STEP_HIST)

IS_PLAN_PRTY_HIGHLIGHTED

CHAR(1)

IS_REPEAT_CURR_SHIFT

CHAR(1)

N

IS_REWORK

CHAR(1)

N

Y indicates the lot is on a rework route after the event is logged. If a lot is reworked then returns to the main route and repeats some steps, is_rework will be N but we will count those steps as repeats. (* from FPSINPUT.WIP_EVENT_HIST)

IS_REWORK_END

CHAR(1)

N

Event ended rework (* from FPSINPUT.WIP_EVENT_HIST)

IS_REWORK_MOVE

CHAR(1)

N

IS_REWORK_START

CHAR(1)

N

Event started rework (* from FPSINPUT.WIP_EVENT_HIST)

IS_REWORK_STEP

CHAR(1)

N

IS_ROUTE_SEGMENT_MOVE

CHAR(1)

IS_SCRAP

CHAR(1)

N

IS_SHIP_EVENT

CHAR(1)

This flag tells us what to count as a ship for a particular facility. Related to the ship event is the finish event which is the last event for a facility-prd which either changes facility or changes prd or terminates the lot by changing the qty to 0 without merging. Often the ship event is the same event as the finish event. But when the ship event is different and logged prior to the finish event, we write a record to CTM_FINISHED_LOT_HIST when the ship event is logged with finish_inst blank. This record is include in Dashboard Ships Summary but not in Finished Lot Cycle Time. Then later when the lot finishes, we update the record keeping the ship_inst and populating the finish_inst so it is then including in Finished Lot Cycle Time. Technically this "insert at ship then update at finish" process is the same regardless of how far the ship is before the finish but it is most critical when the the ship is quite some time before the finish, for example, when wafer test is part of the same route but we want to count the ship when the lot finishes the fab steps. (* from FPSINPUT.WIP_EVENT_HIST)

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)

LAST_PROCESS_TOOL

VARCHAR2(16)

For rework and scrap events we automatically look up the last process tool for the lot. Process tool is determined by the process class of the tool and excludes metrology and support tools. It is likely this was the cause of the rework or scrap although by no means certain. (* from FPSBASE.WIP_LOT_HIST)

LAST_PROCESS_TOOL_INST

DATE

LAST_TOOL

VARCHAR2(16)

For rework and scrap events we automatically look up the last tool where the lot processed including metrology tools. (* from FPSBASE.WIP_LOT_HIST)

LAST_TOOL_INST

DATE

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_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(6)

MAIN_ROUTE

VARCHAR2(256)

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. (* from FPSINPUT.WIP_EVENT_HIST)

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)

MAIN_RT_STEP

VARCHAR2(256)

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. (* from FPSINPUT.WIP_EVENT_HIST)

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)

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)

MOVE_TYPE

VARCHAR2(9)

Move_type is populated with a value in WIP_MOVE_TYPES (COMP, ISKIP, etc.) for all records where is_next = Y. It is null when the qty changes but is_next = N and these "delta only" records will always have a delta_type. Note that it is possible and not unusual to have both move_type and delta_type when the lot both moves and changes qty with the same event. (* from FPSBASE.WIP_STEP_HIST)

NEXT_BANK

VARCHAR2(36)

Event moved the lot to this new bank (* from FPSINPUT.WIP_EVENT_HIST)

NEXT_FACILITY

VARCHAR2(6)

Event moved the lot to this new facility (* from FPSINPUT.WIP_EVENT_HIST)

NEXT_FACILITY_SEGMENT

VARCHAR2(36)

NEXT_MAIN_ROUTE

VARCHAR2(256)

Event moved the lot to this new main route (* from FPSINPUT.WIP_EVENT_HIST)

NEXT_MAIN_RT_STEP

VARCHAR2(256)

Event moved the lot to this new step on the main route (* from FPSINPUT.WIP_EVENT_HIST)

NEXT_OPERATION

VARCHAR2(50)

Operation of the next_step used primarily to determine is_oper_move. Populated by trigger. (* from FPSBASE.WIP_LOT_HIST)

NEXT_PLANPRD

VARCHAR2(64)

If this event results in the planprd of the lot changing the new value is stored here. (* from FPSINPUT.WIP_EVENT_HIST)

NEXT_PRD

VARCHAR2(64)

Event moved the lot to this new prd (* from FPSINPUT.WIP_EVENT_HIST)

NEXT_PROCESS

VARCHAR2(50)

Process of the next step. Populated by trigger. (* from FPSBASE.WIP_LOT_HIST)

NEXT_ROUTE

VARCHAR2(256)

Event moved the lot to this new route (* from FPSINPUT.WIP_EVENT_HIST)

NEXT_ROUTE_SEGMENT

VARCHAR2(36)

NEXT_STEP

VARCHAR2(256)

Event moved the lot to this new step (* from FPSINPUT.WIP_EVENT_HIST)

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)

OPERATION_MODULE

VARCHAR2(12)

OPERATOR

VARCHAR2(64)

In history tables, this is the username of the person or system who logged the event. In EQP_MNT_FUTURE, this is the username of the person who input the information about the maintenance event. Usernames can be looked up in GEN_USERS to get full names, email address, etc. Please note that the existence of each username in GEN_USERS is optional, meaning that it is never required for the username logged in the operator column to be in GEN_USERS. (* from FPSINPUT.WIP_EVENT_HIST)

PARENT_LOT

VARCHAR2(32)

The parent lot should ideally be the original parent but it could be the most recent parent if multiple splits have occurred. (* from FPSINPUT.WIP_LOTS_STATIC)

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

PORT_MODE

VARCHAR2(24)

PORT_MODE is the port equivalent to EQP_STATE. Examples might be AUTOMATIC, MANUAL, SEMI-AUTOMATIC, or DOWN. If configured in GEN_FACILITIES, the view DASH_P_TOOL_PORTS can overlay whether the port is occupied along with its carrier and the WIP processing states over the port modes as long as the port mode has is_up set to Y. Therefore it is not necessary to reflect occupied or empty when developing the ETL logic to populate the EQP_PORTS table. (* from FPSINPUT.EQP_PORT_MODES)

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_CLASS

VARCHAR2(12)

Top-level grouping of process groups with same general purpose (i.e. Process or Metrology or Nonwafer). Allowed values are defined by FPS and are listed in FPSADMIN.RTG_PROCESS_CLASSES. This field can also be defined in EQP_TOOLS using the ovr_process_class field if we do not know it for the process group. (* from FPSINPUT.RTG_PROCESS_GROUPS)

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)

QTY_DELTA

NUMBER(7)

Difference in number of wafers due to an event that changes lot quantity (* from FPSINPUT.WIP_EVENT_HIST)

QTY_IN_JOB

NUMBER(7)

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. (* from FPSBASE.WIP_LOT_HIST)

QTY_REM

NUMBER(7)

READY_INST

DATE

Time when the lot was ready to be processed (e.g. after recipe downloaded). (* from FPSBASE.WIP_STEP_HIST)

RESERVE_INST

DATE

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. (* from FPSBASE.WIP_STEP_HIST)

ROUTE

VARCHAR2(256)

N

Route that has threading requirements (* from FPSINPUT.RTG_STEP_THREADING)

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)

SCRAP_CATEGORY

VARCHAR2(64)

A optional categorization field for scrap events which can be defined for the facility. (* from FPSINPUT.WIP_EVENT_HIST)

SCRAP_COMMENT

VARCHAR2(512)

SCRAP_MODULE

VARCHAR2(12)

Responsible module for the scrap event. (* from FPSINPUT.WIP_EVENT_HIST)

SCRAP_MODULE_DISPLAY

VARCHAR2(20)

SCRAP_OWNER

VARCHAR2(48)

Engineer responsible for analyzing and recording this scrap event. (* from FPSINPUT.WIP_EVENT_HIST)

SCRAP_PROCESS_FAMILY

VARCHAR2(50)

SCRAP_QTY

NUMBER(7)

SEC_QTY_REM

NUMBER(7)

SEC_SCRAP_QTY

NUMBER(7)

SHOULD_AUTO_HIDE

CHAR(1)

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)

START_PLAN_DAY

DATE

N

Plan days must be 24 hours in length and the start of the plan day must be the start of one of the shifts. Contrast this to plan day which is independent of shift. (* from FPSINPUT.CAL_PLAN_DAYS)

START_SHIFT

DATE

N

Shifts can be of any length and it is important that all queries get the shift length based on start_shift and end_shift rather than assuming a set number of hours. (* from FPSINPUT.CAL_SHIFTS)

START_WORK_DAY

DATE

N

Work days must be 24 hours in length and the start of the work day must be the start of one of the shifts. Contrast this to plan day which is independent of shift. (* from FPSINPUT.CAL_WORK_DAYS)

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)

STEP_ENT_INST

DATE

N

Time when the lot entered the step. (* from FPSBASE.WIP_LOT_HIST)

STEP_HOLD_SEC_CURR_DAY

NUMBER(8)

STEP_HOLD_SEC_CURR_SHIFT

NUMBER(8)

Time on hold at the current step during the current shift (* from FPSBASE.WIP_STEP_HIST)

STEP_SEC_CURR_DAY

NUMBER(8)

STEP_SEC_CURR_SHIFT

NUMBER(8)

TOOL

VARCHAR2(16)

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. (* from FPSINPUT.EQP_TOOLS)

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)

WAFER_SIZE_DISPLAY

VARCHAR2(16)

The name of the wafer_size displayed on all dashboards and reports. We allow a longer more descriptive name here although often this will be the same as the wafer_size. (* from FPSINPUT.GEN_WAFER_SIZES)