Merged PR 12618: Moved TW Reqd check after check for RDS supplier lot no
Moved TW Reqd check after check for RDS supplier lot no
This commit is contained in:
parent
1996ea1919
commit
86595476d5
@ -287,7 +287,14 @@ Service ProcessScanData(ScanID, ScanJSON)
|
|||||||
If LotCurrentOperation NE 'TW_CREATE' AND LotCurrentOperation NE 'TW_CLOSE' then
|
If LotCurrentOperation NE 'TW_CREATE' AND LotCurrentOperation NE 'TW_CLOSE' then
|
||||||
LotCurrWfrQty = Database_Services('ReadDataColumn', 'LOT', LotId, LOT_WAFER_QTY$, True$, 0, False$)
|
LotCurrWfrQty = Database_Services('ReadDataColumn', 'LOT', LotId, LOT_WAFER_QTY$, True$, 0, False$)
|
||||||
If LotCurrWfrQty GT 0 then
|
If LotCurrWfrQty GT 0 then
|
||||||
|
If ScansRow<SCANS.TW_LOT_ID$> EQ '' AND ScansRow<SCANS.CASSETTE_IDS$> NE '' then
|
||||||
|
ScansRow<SCANS.TEST_RUN_TYPE_ID$> = 4;//Standard Sampling
|
||||||
|
end
|
||||||
ScansRow<SCANS.TW_LOT_ID$, -1> = LotID
|
ScansRow<SCANS.TW_LOT_ID$, -1> = LotID
|
||||||
|
ThisScanTWLots = ScansRow<SCANS.TW_LOT_ID$>
|
||||||
|
Locate LotID in ThisScanTWLots using @VM setting twPOS then
|
||||||
|
ScansRow<SCANS.TW_LOT_QTY$, twPos> = 1
|
||||||
|
end
|
||||||
end else
|
end else
|
||||||
Error_Services('Add', LotID : ' does not have enough wafers to be used.')
|
Error_Services('Add', LotID : ' does not have enough wafers to be used.')
|
||||||
end
|
end
|
||||||
@ -538,7 +545,6 @@ Service ProcessScanData(ScanID, ScanJSON)
|
|||||||
Case ScanData[1, 17] EQ 'TESTRUNTYPEUPDATE'
|
Case ScanData[1, 17] EQ 'TESTRUNTYPEUPDATE'
|
||||||
TestRunTypeId = Field(ScanData, '|', 2)
|
TestRunTypeId = Field(ScanData, '|', 2)
|
||||||
ScansRow<SCANS.TEST_RUN_TYPE_ID$> = TestRunTypeId
|
ScansRow<SCANS.TEST_RUN_TYPE_ID$> = TestRunTypeId
|
||||||
//ScansRow<SCANS.TEST_RUN_TYPE_NAME$> = TestRunTypeName
|
|
||||||
|
|
||||||
Case Len(ScanData) GE 22 and ScanData[1, 22] EQ 'LAST_CASSETTE_TEST_ACK'
|
Case Len(ScanData) GE 22 and ScanData[1, 22] EQ 'LAST_CASSETTE_TEST_ACK'
|
||||||
RDSNo = {CASSETTE_IDS}
|
RDSNo = {CASSETTE_IDS}
|
||||||
@ -674,7 +680,7 @@ Service ProcessScanData(ScanID, ScanJSON)
|
|||||||
end
|
end
|
||||||
end else
|
end else
|
||||||
Abort = True$
|
Abort = True$
|
||||||
Scan_Services('AddNotAcceptableReason', 'Lot ':TWLot:' must have a quantity associated with it.')
|
Scan_Services('AddNotAcceptableReason', 'Test Wafer Lot ':TWLot:' must have a quantity associated with it.')
|
||||||
end
|
end
|
||||||
Until Abort
|
Until Abort
|
||||||
Next TWLot
|
Next TWLot
|
||||||
@ -923,14 +929,15 @@ Service ProcessScanData(ScanID, ScanJSON)
|
|||||||
FirstParmsComp = LSParmsComp<1,1>
|
FirstParmsComp = LSParmsComp<1,1>
|
||||||
If (FirstParmsComp EQ False$) then RDS_Services('CopyRDSLayerParameters', RDSNo)
|
If (FirstParmsComp EQ False$) then RDS_Services('CopyRDSLayerParameters', RDSNo)
|
||||||
//Test Wafer logging verification
|
//Test Wafer logging verification
|
||||||
IsTWLoggingReqd = RDS_Services('IsTWLoggingReqd', RDSNo)
|
|
||||||
If IsTWLoggingReqd NE True$ OR TestWaferLotData NE '' then
|
|
||||||
|
|
||||||
// Supplier lot verification
|
// Supplier lot verification
|
||||||
ScannedSuppLot = ScansRow<SCANS.SUPPLIER_LOT$>
|
ScannedSuppLot = ScansRow<SCANS.SUPPLIER_LOT$>
|
||||||
RDSSuppLot = RDSRec<RDS_LOT_NUM$>
|
RDSSuppLot = RDSRec<RDS_LOT_NUM$>
|
||||||
If (ScannedSuppLot NE '') then
|
If (ScannedSuppLot NE '') then
|
||||||
If (ScannedSuppLot _EQC RDSSuppLot) then
|
If (ScannedSuppLot _EQC RDSSuppLot) then
|
||||||
|
IsTWLoggingReqd = RDS_Services('IsTWLoggingReqd', RDSNo)
|
||||||
|
If IsTWLoggingReqd NE True$ OR TestWaferLotData NE '' then
|
||||||
WaferCountAckReq = Xlate('RDS', RDSNo, 'WAFER_COUNT_ACK_REQ', 'X')
|
WaferCountAckReq = Xlate('RDS', RDSNo, 'WAFER_COUNT_ACK_REQ', 'X')
|
||||||
If WaferCountAckReq EQ False$ then
|
If WaferCountAckReq EQ False$ then
|
||||||
PreStageReady = ''
|
PreStageReady = ''
|
||||||
@ -976,6 +983,9 @@ Service ProcessScanData(ScanID, ScanJSON)
|
|||||||
end else
|
end else
|
||||||
Scan_Services('AddNotAcceptableReason', 'The cassette wafer count must be verified against the scheduled wafer count to proceed.')
|
Scan_Services('AddNotAcceptableReason', 'The cassette wafer count must be verified against the scheduled wafer count to proceed.')
|
||||||
end
|
end
|
||||||
|
end else
|
||||||
|
Scan_Services('AddNotAcceptableReason', 'Test wafers are required to be logged with this run.')
|
||||||
|
end
|
||||||
end else
|
end else
|
||||||
ScansRow<SCANS.SUPPLIER_LOT$> = ''
|
ScansRow<SCANS.SUPPLIER_LOT$> = ''
|
||||||
Error_Services('Add', '(':CassetteID:') Supplier lot mismatch.')
|
Error_Services('Add', '(':CassetteID:') Supplier lot mismatch.')
|
||||||
@ -983,9 +993,7 @@ Service ProcessScanData(ScanID, ScanJSON)
|
|||||||
end else
|
end else
|
||||||
Scan_Services('AddNotAcceptableReason', 'Supplier lot scan required in order to complete a tool scan.')
|
Scan_Services('AddNotAcceptableReason', 'Supplier lot scan required in order to complete a tool scan.')
|
||||||
end
|
end
|
||||||
end else
|
|
||||||
Scan_Services('AddNotAcceptableReason', 'Test wafers are required to be logged with this run.')
|
|
||||||
end
|
|
||||||
end else
|
end else
|
||||||
Error_Services('Add', '(':CassetteID:') The first run must be completed using the OpenInsight user interface.')
|
Error_Services('Add', '(':CassetteID:') The first run must be completed using the OpenInsight user interface.')
|
||||||
end
|
end
|
||||||
@ -994,12 +1002,12 @@ Service ProcessScanData(ScanID, ScanJSON)
|
|||||||
end
|
end
|
||||||
Case CurrStage _EQC 'LOAD'
|
Case CurrStage _EQC 'LOAD'
|
||||||
Action = 'LOAD'
|
Action = 'LOAD'
|
||||||
IsTWLoggingReqd = RDS_Services('IsTWLoggingReqd', RDSNo)
|
|
||||||
If IsTWLoggingReqd NE True$ OR TestWaferLotData NE '' then
|
|
||||||
ScannedSuppLot = ScansRow<SCANS.SUPPLIER_LOT$>
|
ScannedSuppLot = ScansRow<SCANS.SUPPLIER_LOT$>
|
||||||
RDSSuppLot = RDSRec<RDS_LOT_NUM$>
|
RDSSuppLot = RDSRec<RDS_LOT_NUM$>
|
||||||
If (ScannedSuppLot NE '') then
|
If (ScannedSuppLot NE '') then
|
||||||
If (ScannedSuppLot _EQC RDSSuppLot) then
|
If (ScannedSuppLot _EQC RDSSuppLot) then
|
||||||
|
IsTWLoggingReqd = RDS_Services('IsTWLoggingReqd', RDSNo)
|
||||||
|
If IsTWLoggingReqd NE True$ OR TestWaferLotData NE '' then
|
||||||
// Scheduled tool verification (only supports reactors at the moment)
|
// Scheduled tool verification (only supports reactors at the moment)
|
||||||
ClearSelect
|
ClearSelect
|
||||||
SchedTool = Xlate('RDS', RDSNo, 'SCHED_REACTOR', 'X')
|
SchedTool = Xlate('RDS', RDSNo, 'SCHED_REACTOR', 'X')
|
||||||
@ -1053,15 +1061,16 @@ Service ProcessScanData(ScanID, ScanJSON)
|
|||||||
Error_Services('Add', 'Scanned tool ':ScanTool:' does not match the scheduled tool ':SchedTool:'. (':RDSNo:')')
|
Error_Services('Add', 'Scanned tool ':ScanTool:' does not match the scheduled tool ':SchedTool:'. (':RDSNo:')')
|
||||||
end
|
end
|
||||||
end else
|
end else
|
||||||
|
Scan_Services('AddNotAcceptableReason', 'Test wafers are required to be logged with this run.')
|
||||||
|
end
|
||||||
|
end else
|
||||||
|
|
||||||
ScansRow<SCANS.SUPPLIER_LOT$> = ''
|
ScansRow<SCANS.SUPPLIER_LOT$> = ''
|
||||||
Error_Services('Add', '(':CassetteID:') Supplier lot mismatch.')
|
Error_Services('Add', '(':CassetteID:') Supplier lot mismatch.')
|
||||||
end
|
end
|
||||||
end else
|
end else
|
||||||
Scan_Services('AddNotAcceptableReason', 'Supplier lot scan required in order to complete a tool scan.')
|
Scan_Services('AddNotAcceptableReason', 'Supplier lot scan required in order to complete a tool scan.')
|
||||||
end
|
end
|
||||||
end else
|
|
||||||
Scan_Services('AddNotAcceptableReason', 'Test wafers are required to be logged with this run.')
|
|
||||||
end
|
|
||||||
|
|
||||||
Case CurrStage _EQC 'UNLOAD'
|
Case CurrStage _EQC 'UNLOAD'
|
||||||
Action = 'UNLOAD'
|
Action = 'UNLOAD'
|
||||||
@ -2342,3 +2351,4 @@ return
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user