updated WO_MAT and WM_IN actions to mark cassettes as processed when cassettes have a quantity of zero
This commit is contained in:
@ -3002,6 +3002,9 @@ Service MarkCassProcessed(WONo, CassNo, ProcessedDTM)
|
||||
CassComp = False$
|
||||
ReactType = Xlate('WO_LOG', WONo, 'REACT_TYPE', 'X')
|
||||
If ReactType EQ 'EPP' then
|
||||
// Since EpiPro splits WM_IN cassettes out into RDS runs, we need to determine if the
|
||||
// cassette has been emptied out or if enough wafers have been consumed such that
|
||||
// the wafer count equals the split work order event quantity.
|
||||
StopDtm = SchedDetNGRec<SCHED_DET_NG.STOP_DTM$>
|
||||
SchedWfrQty = Schedule_Services('GetScheduledWfrQty', WONo, StopDtm)
|
||||
// Determine the cassette and slot this event should end on. This will be used to identify
|
||||
@ -3025,7 +3028,10 @@ Service MarkCassProcessed(WONo, CassNo, ProcessedDTM)
|
||||
NumUnloadedWfrs += (UnloadDtm NE '')
|
||||
Next UnloadDtm
|
||||
end
|
||||
If ( (NumUnloadedWfrs EQ 25) or ( (CassNo EQ EndCassNo) and (NumUnloadedWfrs GE EndSlotNo) ) ) then CassComp = True$
|
||||
CassRemWfrs = Xlate('WM_IN', WMIKey, 'REM_WFRS', 'X')
|
||||
If ( (NumUnloadedWfrs EQ 25) or ( (CassNo EQ EndCassNo) and (NumUnloadedWfrs GE EndSlotNo) ) or (CassRemWfrs EQ 0) ) then
|
||||
CassComp = True$
|
||||
end
|
||||
end else
|
||||
CassComp = True$
|
||||
end
|
||||
@ -3041,17 +3047,6 @@ Service MarkCassProcessed(WONo, CassNo, ProcessedDTM)
|
||||
Done = True$
|
||||
end
|
||||
end
|
||||
// Mark previous cassette processed if it isn't already. This covers situations where users fail to
|
||||
// sign the unload stage for a cassette.
|
||||
PrevCassNo = CassNo - 1
|
||||
Locate PrevCassNo in UnprocessedCassettes using @VM setting vPos then
|
||||
UnprocessedCassettes = Delete(UnprocessedCassettes, 0, vPos, 0)
|
||||
ProcessedCassettes = SchedDetNGRec<SCHED_DET_NG.PROCESSED_CASS$>
|
||||
ProcessedCassettes<0, -1> = PrevCassNo
|
||||
SchedDetNGRec<SCHED_DET_NG.UNPROCESSED_CASS$> = UnprocessedCassettes
|
||||
SchedDetNGRec<SCHED_DET_NG.PROCESSED_CASS$> = ProcessedCassettes
|
||||
Database_Services('WriteDataRow', 'SCHED_DET_NG', SchedDetNGKey, SchedDetNGRec, True$, False$, True$)
|
||||
end
|
||||
Until Done EQ True$
|
||||
Repeat
|
||||
end
|
||||
@ -3424,4 +3419,3 @@ CreateScheduleChangeNotification:
|
||||
|
||||
return
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user