fixed bugs related to scan app usage
This commit is contained in:
parent
a8a88f83cc
commit
33ef776fdf
@ -279,6 +279,9 @@ Service ProcessScanData(ScanID, ScanJSON)
|
||||
Case ScanData[1, 4] EQ '1TTW'
|
||||
ValidTWLot = False$
|
||||
If RowExists('LOT', LotId) then
|
||||
Locate LotId in ScansRow<SCANS.TW_LOT_ID$> using @VM setting twPos then
|
||||
Error_Services('Add', LotID : ' has already been added as a test wafer lot being used.')
|
||||
end else
|
||||
LotCurrentOperation = Lot_Services('GetLotCurrOperationName', LotId)
|
||||
If LotCurrentOperation NE 'TW_CREATE' AND LotCurrentOperation NE 'TW_CLOSE' then
|
||||
LotCurrWfrQty = Database_Services('ReadDataColumn', 'LOT', LotId, LOT_WAFER_QTY$, True$, 0, False$)
|
||||
@ -290,7 +293,7 @@ Service ProcessScanData(ScanID, ScanJSON)
|
||||
end else
|
||||
Error_Services('Add', LotID : ' is not at a valid operation for use.')
|
||||
end
|
||||
|
||||
end
|
||||
end else
|
||||
Error_Services('Add', LotID : ' is not a valid test wafer lot ID.')
|
||||
end
|
||||
@ -617,7 +620,6 @@ Service ProcessScanData(ScanID, ScanJSON)
|
||||
// determine what the next action will be (i.e. Pre-Epi+Load, Unload, etc.). Ensure we are
|
||||
// working with an RDS and not a WM_IN or WM_OUT cassette ID. They are not used during the
|
||||
// "RDS" process.
|
||||
|
||||
If (CassetteIDs NE '') then
|
||||
TestWaferLotData = ScansRow<SCANS.TW_LOT_ID$>
|
||||
Abort = False$
|
||||
@ -643,12 +645,13 @@ Service ProcessScanData(ScanID, ScanJSON)
|
||||
end
|
||||
Until Abort
|
||||
Next TWLot
|
||||
end
|
||||
end else
|
||||
Scan_Services('AddNotAcceptableReason', 'A test run type is required to log test wafer usage.')
|
||||
end
|
||||
end
|
||||
// Ensure only one cassette is scanned
|
||||
If (NumCass EQ 1) AND Not(Abort) then
|
||||
If Not(Abort) then
|
||||
If (NumCass EQ 1) then
|
||||
CassetteID = CassetteIDs<0, NumCass>
|
||||
// Ensure we are working with an RDS and not a WM_OUT/WM_IN cassette
|
||||
If (Count(CassetteID, '.') EQ 0) then
|
||||
@ -1067,6 +1070,8 @@ Service ProcessScanData(ScanID, ScanJSON)
|
||||
// Currently we are only supporting loading one cassette onto a tool at a time.
|
||||
Error_Services('Add', '(':CassetteID:') Only one cassette can be loaded onto a tool at a time.')
|
||||
end
|
||||
end
|
||||
|
||||
end else
|
||||
If ScansRow<SCANS.TW_LOT_ID$> NE '' then
|
||||
ThisTestRunType = ScansRow<SCANS.TEST_RUN_TYPE_ID$>
|
||||
@ -1154,7 +1159,6 @@ end service
|
||||
//
|
||||
//----------------------------------------------------------------------------------------------------------------------
|
||||
Service AcceptScan(ScanID, ScanJSON)
|
||||
|
||||
If ( (ScanID NE '') and (ScanJSON NE '') ) then
|
||||
hBody = ''
|
||||
ParseResponse = SRP_JSON(hBody, 'PARSE', ScanJSON)
|
||||
@ -1385,7 +1389,22 @@ Service AcceptScan(ScanID, ScanJSON)
|
||||
|
||||
Case CurrStage _EQC 'LOAD'
|
||||
Action = 'LOAD'
|
||||
// Check if LOAD stage is ready to sign
|
||||
If TestWaferLots NE '' then
|
||||
Continue = False$
|
||||
ToolID = ScansRow<SCANS.TOOL_ID$>
|
||||
Reactor = ToolID[-1, 'BR']
|
||||
Username = ScansRow<SCANS.EMPLOYEE_ID$>
|
||||
TestWaferLotQtys = ScansRow<SCANS.TW_LOT_QTY$>
|
||||
PSNo = Database_Services('ReadDataColumn', 'RDS', RDSNo, RDS_PROD_SPEC_ID$, True$, 0, False$)
|
||||
NewTestRunId = Test_Run_Services('CreateTestRunRecord', 3, 'R', Reactor, PSNo, RDSNo,Username , TestWaferLots, TestWaferLotQtys)
|
||||
If Error_Services('NoError') then
|
||||
Continue = True$
|
||||
end else
|
||||
ErrorMessage = Error_Services('GetMessage')
|
||||
Error_Services('Set', ErrorMessage)
|
||||
Continue = False$
|
||||
end
|
||||
If Continue then
|
||||
LoadStageSigned = QA_Services('SignLoadStage', RDSNo, Username, WaferQty, LLSide, 1)
|
||||
If LoadStageSigned EQ True$ then
|
||||
Result = '(':CassetteID:') Load stage signed.'
|
||||
@ -1393,6 +1412,19 @@ Service AcceptScan(ScanID, ScanJSON)
|
||||
LogData<6> = Action
|
||||
LogData<7> = Result
|
||||
Logging_Services('AppendLog', objLog, LogData, @RM, @FM)
|
||||
end
|
||||
end else
|
||||
LoadStageSigned = QA_Services('SignLoadStage', RDSNo, Username, WaferQty, LLSide, 1)
|
||||
If LoadStageSigned EQ True$ then
|
||||
Result = '(':CassetteID:') Load stage signed.'
|
||||
end
|
||||
LogData<6> = Action
|
||||
LogData<7> = Result
|
||||
Logging_Services('AppendLog', objLog, LogData, @RM, @FM)
|
||||
end
|
||||
|
||||
// Check if LOAD stage is ready to sign
|
||||
|
||||
Case CurrStage _EQC 'UNLOAD'
|
||||
Action = 'UNLOAD'
|
||||
// Check if UNLOAD stage is ready to sign
|
||||
@ -1417,7 +1449,14 @@ Service AcceptScan(ScanID, ScanJSON)
|
||||
Username = ScansRow<SCANS.EMPLOYEE_ID$>
|
||||
TestWaferLotQtys = ScansRow<SCANS.TW_LOT_QTY$>
|
||||
NewTestRunId = Test_Run_Services('CreateTestRunRecord', 3, 'R', Reactor, '', '',Username , TestWaferLots, TestWaferLotQtys)
|
||||
If Error_Services('HasError') then
|
||||
If Error_Services('NoError') then
|
||||
If NewTestRunId NE '' then
|
||||
Result = 'Test run logged successfully'
|
||||
end else
|
||||
ErrorMessage = 'Error while logging creating test run.'
|
||||
Error_Services('Set', ErrorMessage)
|
||||
end
|
||||
end else
|
||||
ErrorMessage = Error_Services('GetMessage')
|
||||
Error_Services('Set', ErrorMessage)
|
||||
end
|
||||
@ -2194,3 +2233,4 @@ ClearCursors:
|
||||
Next counter
|
||||
|
||||
return
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user