data-dictionary

FPSAPP.ETP_HIST

Data Dictionary

>

FPSAPP Tables

> FPSAPP.ETP_HIST

Table FPSAPP.ETP_HIST"

Full state history for each entity including Enhanced Tool Performance. Built by a simple history trigger on ETP_STATUS.

  • Schema: FPSAPP

  • Tablespace: FPSDATAHIST


Column

Type

Nullable

Comment

FACILITY

VARCHAR2(6)

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)

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)

ENTITY

VARCHAR2(19)

The lowest level of the equipment hierarchy that an event can be logged against. Tools, subtools, shared parent tools, chambers, ports are all entities. Load locks are also included although we consider them as ports. (* from FPSINPUT.EQP_STATUS_VERIFY)

ETP_FROM_INST

DATE

Time when the etp_state changed for any entity on this main tool. (* from FPSBASE.ETP_STATUS)

ETP_HIST_SEQ_WITHIN_SEC

NUMBER(12)

AVAILABILITY

VARCHAR2(4)

N

AVAIL_INST

DATE

N

Time when the availability last changed, either came up or went down. (* from FPSBASE.ETP_STATUS)

BEG_PROC_CH_USED

VARCHAR2(24)

BEG_PROC_INST

DATE

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

BEG_PROC_JOB_ID

VARCHAR2(64)

BEG_PROC_PROCESS

VARCHAR2(50)

BEG_PROC_QTY_IN_JOB

NUMBER(7)

BEG_PROC_RECIPE

VARCHAR2(100)

BEG_PROC_RQD_SETUP

VARCHAR2(100)

BEG_PROC_TW_QTY_IN_JOB

NUMBER(7)

CHG_TIME_IF_CHG

TIMESTAMP(3)

CH_PROC_STATE

VARCHAR2(25)

CURR_RECIPE

VARCHAR2(100)

The current/last used recipe for the scheduler, incorporating the ignore capability from EQP_PROCESS_CHG_TO_IGNORE (* from FPSBASE.ETP_STATUS)

CURR_RECIPE_INST

DATE

The beg processing timestamp associated with CURR_RECIPE (* from FPSBASE.ETP_STATUS)

CURR_SETUP

VARCHAR2(100)

The current setup of the entity. This can be set by a lot processing event from WIP_EVENT_HIST or by an event on the entity from EQP_EVENT_HIST. For example if an Implant tool processes a Boron lot then the curr_setup will be Boron. Or if an event is logged to the tool that says the setup changed to Boron then the curr_setup will be Boron. Please note that the curr_setup value populated in EQP_EVENT_HIST must match exactly with the rqd_setup value in RTG_TOOL_ASSIGNMENTS in order for the setup penalty logic to apply correctly. (* from FPSINPUT.EQP_EVENT_HIST)

CURR_SETUP_COMMENT

VARCHAR2(512)

CURR_SETUP_EVENT

VARCHAR2(48)

CURR_SETUP_EXPIRE_INST

DATE

CURR_SETUP_INST

DATE

This DWH timestamp of the last setup change for this entity (* from FPSAPP.SCH_W_H_S_ENTITIES)

CURR_SETUP_OPERATOR

VARCHAR2(64)

CURR_SETUP_QTY

NUMBER(12)

DOWN_REASON

VARCHAR2(36)

A value from a reasonably short list of user-defined reasons why the entity went down. (* from FPSINPUT.EQP_EVENT_HIST)

END_PROC_CH_USED

VARCHAR2(24)

END_PROC_INST

DATE

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

END_PROC_JOB_ID

VARCHAR2(64)

END_PROC_PROCESS

VARCHAR2(50)

END_PROC_RECIPE

VARCHAR2(100)

EQP_E10_INST

DATE

N

Time when the e10_state of the eqp_state last changed. (* from FPSBASE.ETP_STATUS)

EQP_E10_STATE

VARCHAR2(3)

N

EQP_FROM_INST

DATE

N

Time when the eqp_state changed for any entity on this main tool. (* from FPSBASE.ETP_STATUS)

EQP_GANTT_FROM_INST

DATE

EQP_HIST_SEQ_WITHIN_SEC

NUMBER(12)

N

EQP_INC_BATCH_PCT

NUMBER(3,1)

If the input data already knows the incomplete batch percent then we can input it in this value with the event and we will use it for eqp_state calculations. Normally this is blank and we calculate etp_inc_batch_pct from the lot events. (* from FPSINPUT.EQP_EVENT_HIST)

EQP_OPPORTUNITY_STATE

VARCHAR2(12)

N

EQP_OPP_STATE_INST

DATE

N

EQP_STATE

VARCHAR2(48)

N

Client equipment state taken directly from their MES or from their existing tool state model. For EQP_MNT_FUTURE, this is the state that we estimate the entity will be in during the maintenance which is often set to a generic PM state if we do not have detailed information. (* from FPSINPUT.EQP_L6_DETAILED_STATES)

EQP_STATE_CHG_COMMENT

VARCHAR2(512)

Comment with the event that last changed the eqp_state. (* from FPSBASE.ETP_STATUS)

EQP_STATE_CHG_EVENT

VARCHAR2(48)

N

Event that last changed the eqp_state. (* from FPSBASE.ETP_STATUS)

EQP_STATE_CHG_INST

DATE

N

Time when the eqp_state changed for this particular entity. If another entity on the same main tool changes state, eqp_inst will change for all entities on the tool even those whose state does not change. Therefore if eqp_inst is after state_chg_inst that means another entity changed state at eqp_inst but this entity has not changed since state_chg_inst. (* from FPSBASE.ETP_STATUS)

EQP_STATE_CHG_OPERATOR

VARCHAR2(64)

Operator who logged the event that last changed the eqp_state. (* from FPSBASE.ETP_STATUS)

EQP_TOOL_PCT

NUMBER(7,4)

N

Percentage contribution of this entity to the full tool using cluster tool calculations for eqp_state built in to DWH. This adds to 100 for all entities on a tool at each eqp_inst. (* from FPSBASE.ETP_STATUS)

EQP_TO_INST

DATE

N

ETP_E10_INST

DATE

N

ETP_E10_STATE

VARCHAR2(3)

N

ETP_GANTT_FROM_INST

DATE

ETP_INC_BATCH_PCT

NUMBER(3,1)

Incomplete batch percentage is only set for processing states. In the final calculation, the time processing an incomplete batch is divided into the production state and an incomplete batch state. (* from FPSBASE.ETP_STATUS)

ETP_OPPORTUNITY_STATE

VARCHAR2(12)

N

ETP_OPP_STATE_INST

DATE

N

ETP_STATE

VARCHAR2(48)

N

If entity is down then use eqp_state directly. If entity is up then determine etp_state from proc_state and sby_state. (* from FPSBASE.ETP_STATUS)

ETP_STATE_CHG_COMMENT

VARCHAR2(512)

ETP_STATE_CHG_EVENT

VARCHAR2(48)

N

ETP_STATE_CHG_INST

DATE

N

Time when the etp_state changed for this entity. (* from FPSBASE.ETP_STATUS)

ETP_STATE_CHG_OPERATOR

VARCHAR2(64)

ETP_TOOL_PCT

NUMBER(7,4)

N

Percentage contribution of this entity to the full tool using cluster tool calculations for etp_state built in to DWH. The main difference from eqp_tool_pct is this includes throughput estimates for partial chambers. This adds to 100 for all entities on a tool at each eqp_inst. (* from FPSBASE.ETP_STATUS)

ETP_TO_INST

DATE

N

GTG_EPISODE_FROM_INST

DATE

The time when the current series of ETP_MNT_EPISODES started and should be considered part of the same Green-to-green (GTG) time. (* from FPSBASE.ETP_STATUS)

HIST_INSERTED_TIME

TIMESTAMP(6)

Unlike just about every other history table, ETP_HIST does not have a single column that represents the inst associated with the record. For example, WIP_EVENT_HIST has inst, WIP_END_SHIFT_HIST has start_shift, THP_EQPTYPE_WEEK_HIST has start_week, and so on. These columns are consistent with the data in the entire table and sorting by them gives you a consistent order of the records in the table. When a record is inserted into ETP_HIST, it might be because of an EQP state change in which case eqp_to_inst would be the inst of the event that triggered the state change. But etp_to_inst would still be the old value. And vice versa for ETP state changes. Furthermore while usually either eqp_to_inst or etp_to_inst is relevant, we also insert records when the standby state changes without a EQP/ETP state change and in these cases sby_inst is relevant but both eqp_to_inst and etp_to_inst are old values. And the worst case is when the only change is a standby state of any entity on the tool which actually has no relevant inst. The only column which is always relevant is hist_inserted_time so we have no choice but to use this column as the purge_column_name in CFG_TABLES. By the nature of the logic, hist_inserted_time is always newer than all of the other inst values so we will never purge too many records. If the data is behind or loaded for a past period then we will purge too little but that is acceptable.

IS_BEG_MANUAL

CHAR(1)

N

IS_BEG_SETUP_CHG

CHAR(1)

N

IS_EQP_STATE_CHG

CHAR(1)

N

IS_ETP_STATE_CHG

CHAR(1)

N

MFG_GROUP

VARCHAR2(6)

N

MFG_GROUP_INST

DATE

N

Time when the mfg_group last changed. (* from FPSBASE.ETP_STATUS)

MISS_CASC_INST

DATE

Time when the last cascade was missed or the current cascade will be missed. (* from FPSBASE.ETP_STATUS)

NUM_ENTS_SDT_TOOL

NUMBER(2)

Number of logged entities for this tool which are in the SDT state. This is populated by UPDATE_ETP_STATUS_EQP procedure. (* from FPSBASE.ETP_STATUS)

NUM_ENTS_UDT_TOOL

NUMBER(2)

Number of logged entities for this tool which are in the UDT state. This is populated by UPDATE_ETP_STATUS_EQP procedure. (* from FPSBASE.ETP_STATUS)

ORIG_ETP_STATE_IF_CHG

VARCHAR2(25)

ORIG_TOOL_PCT_IF_CHG

NUMBER(3)

ORIG_UPDATED_TIME

TIMESTAMP(6)

N

PROC_INST

DATE

Time when the process state last changed. Note that PROC_INST does not change when a lot ends during cascading. This leads to records in FROM_INST = TO_INST but END_PROC_INST is later. Furthermore if an END and BEG are logged at the same second with the END first then the second record after the BEG will have the same FROM and same END but a new BEG so the PK on ETP_PROC_HIST must have both BEG and END_PROC_INST in addition to the normal FACILITY, ENTITY, FROM_INST. (* from FPSBASE.ETP_STATUS)

PROC_STATE

VARCHAR2(25)

Current processing state of each entity. Updated by a trigger on WIP_EVENT_HIST. (* from FPSBASE.ETP_STATUS)

REPAIR_REASON

VARCHAR2(36)

These are the values that can be found in EQP_EVENT_HIST REPAIR_REASON. A value from a reasonably short list of user-defined explanations of how the entity will be repaired or what caused it to go down. (* from FPSINPUT.EQP_REPAIR_REASONS)

SBY_GROUP

VARCHAR2(12)

N

SBY_INST

DATE

N

Time when the standby state last changed. (* from FPSBASE.ETP_STATUS)

SBY_STATE

VARCHAR2(9)

N

Current standby state of each entity. Updated various ways depending on customer. (* from FPSBASE.ETP_STATUS)

TOOL_DOWNTIME_FROM_OR_TO

VARCHAR2(6)

Indicates that current status is beginning (FROM) or end (TO) of a tool-level CDT episode. (Continuous downtime is any contiguous set of UDT or SDT episodes.) (* from FPSBASE.ETP_STATUS)

TOOL_FAILURE_FROM_OR_TO

VARCHAR2(6)

Indicates that current status is beginning (FROM) or end (TO) of a tool-level UDT/failure episode. (* from FPSBASE.ETP_STATUS)

TOOL_MFG_PCT_EQP

NUMBER(7,4)

TOOL_MFG_PCT_ETP

NUMBER(7,4)

TOOL_PRD_PCT_BY_CH_EQP

NUMBER(7,4)

TOOL_PRD_PCT_BY_CH_ETP

NUMBER(7,4)

TOOL_PRD_PCT_BY_PORT

NUMBER(7,4)

TOOL_PRD_PCT_BY_THP

NUMBER(7,4)

TOOL_SERVICE_FROM_OR_TO

VARCHAR2(6)

Indicates that current status is beginning (FROM) or end (TO) of a tool-level SDT/service episode. (* from FPSBASE.ETP_STATUS)

UPDATED_COMMENT

VARCHAR2(512)