Data Dictionary
>
FPSAPP Tables
> FPSAPP.MHS_CARRIERS
Table FPSAPP.MHS_CARRIERS"
Current location of all carriers including empties. This includes cassettes which carry lots and pods which carry reticles.
-
Schema: FPSAPP
-
Tablespace: FPSDATA
-
Primary key: CARRIER
|
Column |
Type |
Nullable |
Comment |
|---|---|---|---|
|
CARRIER |
VARCHAR2(32) |
N |
RFID of the cassette or FOUP the lot is currently in. |
|
AMHS_DESTINATION |
VARCHAR2(24) |
The destination of a carrier when in transit or when a move is requested. This is an optional input value that comes from the AMHS. It is not where the carrier needs to go which we decide in MHS_DELIVERY_NEXT but rather where it is already going in the AMHS. If this value is blank then we know the carrier has no move requested. |
|
|
AMHS_VEHICLE |
VARCHAR2(24) |
The vehicle used to move a carrier when in transit or when a move is requested. This is an optional input value that comes from the AMHS. It is not the cart which should be used which we decide in MHS_DELIVERY_NEXT. |
|
|
CAPACITY |
NUMBER(3) |
In EQP_PORTS, capacity is the number of carriers allowed on the port, which is usually 1. In MHS_CARRIERS, when carrier_class is set to POD then capacity is the number of durables that the pod can hold, which is usually either 1 or 6. This field is only used in MHS_CARRIERS for pods therefore when CARRIER_CLASS is CAST then capacity should be set to the default value of 1. (* from FPSINPUT.EQP_PORTS) |
|
|
CARRIER_CLASS |
VARCHAR2(13) |
N |
Carrier class indicates what the carrier is able to carry. It is also an important field in EQP_PORTS but each port has a single defined carrier class and only carriers of this class should go to the port. The value must be one of those defined by FPS in FPSADMIN.MHS_CARRIER_CLASSES which include POD or CAST or BOX. This would be used as a filter on what carriers could be selected when a carrier is needed. For example, when a lot is split we need to find another carrier for the split lot and we select the best carrier in the carrier_class of CAST. But if we need to unload a reticle then we select the best carrier in the carrier_class of POD. |
|
CARRIER_STATE |
VARCHAR2(18) |
Carrier state indicates the current state of the carrier. The value must be one of those defined by FPS in FPSADMIN.MHS_CARRIER_STATES. This is a very short list of simple states like OK or WARN or DOWN in contrast to the complex options available for equipment states. This would be used as a filter/sort on what carriers could be selected when a carrier is needed. For example, when a lot is split we need to find another carrier for the split lot and we would prefer one with state of OK then WARN but we could not choose one which was DOWN. |
|
|
CARRIER_STATE_DISPLAY |
VARCHAR2(128) |
The name of the carrier_state displayed on all dashboards and reports. Carrier_state must match the FPS list defined in MHS_CARRIER_STATES but this display field might be formatted in a more familiar way to the users in the facility. |
|
|
CARR_CATEGORY |
VARCHAR2(17) |
N |
Carrier category is used when lots in a certain of the line require a carrier in the specific category. This is usually required due to potential contamination. One example might be that an entire route is Copper and all lots at all steps on the routes must be in Copper carriers. Another example might be front-end-of-line (FEOL) and back-end-of-line (BEOL) where the first half of the route must use a FEOL carrier and the second half of the route might be a BEOL carrier. Whenever a route is split then there has to be a carrier transfer step on the route in between the sections which require each category. To define this, each route-step has a required carr_category and each carrier has a carr_category. |
|
CARR_PARM1 |
VARCHAR2(128) |
First parameter to store whatever value is desired for the site. These are often used for ETL of other carrier-related tables so that we do not need to have a separate LOAD_CARRIERS table. |
|
|
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) |
|
IS_LOCATION_ASSUMED |
CHAR(1) |
This column flags whether or not the location value is an assumed value or not. An assumed value is when the location is set, usually within the ETL, based on certain conditions rather than actually coming from a source system directly. |
|
|
LAST_KNOWN_LOCATION |
VARCHAR2(32) |
Often when a carrier is in transit we do not know exactly where it is but we only know where it came from. In this case we might set the location to something generic like TRANSIT and the last known location to where it came from. |
|
|
LAST_KNOWN_LOCATION_INST |
DATE |
Time when the last_known_location was originally updated as the location of this carrier. This column and last_known_location are both updated by trigger. |
|
|
LOCATION |
VARCHAR2(32) |
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. (* from FPSINPUT.MHS_RACK_LOCATIONS) |
|
|
LOCATION_INST |
DATE |
N |
Time when the carrier arrived at the location. |
|
NMV_ADDL_BADGE_COLOR |
VARCHAR2(24) |
This is the color of the additional badge on NextMove. See comment on NMV_ADDL_BADGE_LABEL for details. |
|
|
NMV_ADDL_BADGE_LABEL |
VARCHAR2(7) |
By default, NextMove displays a badge next to the carrier indicating that it is a priority lot but this column allows us to show an additional badge indicating anything that we wish to highlight. |
|
|
OVR_CARRIER_DISPLAY |
VARCHAR2(32) |
The ID of the carrier for application display purposes. For example, the internal/referential carrier ID might be a zero-padded hexidecimal number, while the human-readable labels on the carriers might be an unpadded decimal equivalent (e.g. CARRIER=A1B2, OVR_CARRIER_DISPLAY=41394). |
|
|
PARENT_CARRIER |
VARCHAR2(32) |
The typical use of this field is when a carrier is in a box then we set this to the box. This is optional and we do not store any other information about the parent carrier. |
|
|
POD_FAMILY |
VARCHAR2(64) |
This column is optional and only applies to pods/durables and not cassettes/lots. Certain durables must be stored in a specific group of pods and this is designated with this column. |
|
|
UPDATED_INST |
DATE |
Time when the record was updated according to the source data. Note this is not the time when the record was actually updated in this table - it will almost always be earlier. (* from FPSINPUT.GEN_FACILITIES) |
|
|
USER_ID |
VARCHAR2(50) |
The user Id that initiated the last move of this carrier |
|
|
WAIT_SEC_TO_SCHED_CARRIER |
NUMBER(7) |
If the carrier is not ready to reserve, we set this value and Scheduler will not reserve lots in this carrier. It will schedule them but no earlier than the wait_sec_to_sched value from the current time. |
|
|
WAIT_TO_SCHED_REASON_CARRIER |
VARCHAR2(256) |
If the carrier is not ready to reserve, this is an explanation of why. This might be because of location or state or whatever reason. |