Data Dictionary
>
FPSBASE Tables
> FPSBASE.ETP_HIST
Table FPSBASE.ETP_HIST"
Full state history for each entity including Enhanced Tool Performance. Built by a simple history trigger on ETP_STATUS.
-
Schema: FPSBASE
-
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) |