Data Dictionary
>
FPSADMIN Views
> FPSADMIN.WIP_WAFER_HIST_LOOP
View FPSAPP.DASH_P_WIP_WAFER_HIST
Query to WIP_WAFER_HIST used to build the wafer level Gantt chart on the Tool page. Example usage: SELECT actual_durable_used as ActualDurableUsed, actual_machine_recipe as ActualMachineRecipe, event as Event, event_type as EventType, facility as FacilityId, inst as Inst, logged_entity as LoggedEntity, lot as LotId, operator as Operator, tool as ToolId, wafer as WaferId FROM dash_p_wip_wafer_hist WHERE facility = :facility AND tool = :tool AND inst BETWEEN to_date(:startDate, 'MM/DD/YYYY HH24:MI:SS') AND to_date(:endDate, 'MM/DD/YYYY HH24:MI:SS'); We filter out events which we copy into WIP_EVENT_HIST. In case you were wondering why we do not just insert these events into WIP_EVENT_HIST, this is a two part answer. The first part is that lot-based begin, end, and abort events which come directly from the tool are often logged to an independent database outside of the MES. In this case, we want the ETL flexibility to log all events from the MES into WIP_EVENT_HIST and all events from the tool database into WIP_WAFER_HIST. This flexibility makes the ETL much easier to write and manage. The second part is that Oracle does not allow an insert to be rejected without an error. While we can copy the event to WIP_EVENT_HIST in the trigger, we cannot reject the insert in WIP_WAFER_HIST without an error. If we rejected with an error, this would cause the insert to WEH to fail also unless we did some crazy tricks with autonomous transactions that we do not want to do. So the best option is to end up with the event in both tables and this logic is in the WIP_WAFER_HIST_INSERT_BEF trigger.
|
Column |
Comment |
|---|---|
|
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) |
|
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) |
|
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) |
|
WAFER |
Field that uniquely identifies a wafer. (* inherited from FPSINPUT.WIP_WAFER_HIST) |
|
INST |
Time when the event occurred. (* inherited from FPSINPUT.WIP_EVENT_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) |
|
ACTUAL_MACHINE_RECIPE |
Machine recipe used to process the lot as logged during processing by the tool. (* 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) |
|
LOGGED_ENTITY |
Entity to which event is logged in the MES. This could be a main tool, subtool, entity, or port. In MNT tables this could be a vehicle or durable as well which is why the column width is wider. If main tool or port, we apply the event to all entities. If subtool we apply to all within the subtool. If entity we apply only to the entity. (* inherited from FPSINPUT.EQP_EVENT_HIST) |
|
OPERATOR |
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. (* inherited from FPSINPUT.WIP_EVENT_HIST) |
|
JOB_ID |
Automatically set by trigger when the first lot of a job logs an event to the tool. (* inherited from FPSBASE.WIP_LOT_HIST) |