RDS JSON caching to minimize processing
This commit is contained in:
@ -328,6 +328,8 @@ Service ProcessScanData(ScanID, ScanJSON)
|
|||||||
Case Otherwise$
|
Case Otherwise$
|
||||||
ScansRow<SCANS.SUPPLIER_LOT$> = LotID
|
ScansRow<SCANS.SUPPLIER_LOT$> = LotID
|
||||||
End Case
|
End Case
|
||||||
|
|
||||||
|
ScansRow<SCANS.RDS_CHANGED$> = True$
|
||||||
Case ScanData[1, 5] EQ 'RESET'
|
Case ScanData[1, 5] EQ 'RESET'
|
||||||
|
|
||||||
ScansRow<SCANS.SCAN_TYPE$> = 'RESET'
|
ScansRow<SCANS.SCAN_TYPE$> = 'RESET'
|
||||||
@ -335,6 +337,7 @@ Service ProcessScanData(ScanID, ScanJSON)
|
|||||||
ScansRow<SCANS.LOCATION_ID$> = ''
|
ScansRow<SCANS.LOCATION_ID$> = ''
|
||||||
ScansRow<SCANS.TOOL_ID$> = ''
|
ScansRow<SCANS.TOOL_ID$> = ''
|
||||||
ScansRow<SCANS.LOAD_LOCK$> = ''
|
ScansRow<SCANS.LOAD_LOCK$> = ''
|
||||||
|
ScansRow<SCANS.RDS_CHANGED$> = True$
|
||||||
|
|
||||||
Case ScanData[1, 2] EQ '1H'
|
Case ScanData[1, 2] EQ '1H'
|
||||||
// Employee ID scan. Set the EMPLOYEE_ID column and check the
|
// Employee ID scan. Set the EMPLOYEE_ID column and check the
|
||||||
@ -367,6 +370,7 @@ Service ProcessScanData(ScanID, ScanJSON)
|
|||||||
|
|
||||||
ScansRow<SCANS.IS_AUTHORIZED_TO_OVERRIDE_ROTR$> = Member
|
ScansRow<SCANS.IS_AUTHORIZED_TO_OVERRIDE_ROTR$> = Member
|
||||||
ScansRow<SCANS.EMPLOYEE_CHANGED$> = True$
|
ScansRow<SCANS.EMPLOYEE_CHANGED$> = True$
|
||||||
|
ScansRow<SCANS.RDS_CHANGED$> = True$
|
||||||
End Case
|
End Case
|
||||||
|
|
||||||
Case ScanData[1, 3] EQ '10S'
|
Case ScanData[1, 3] EQ '10S'
|
||||||
@ -383,6 +387,7 @@ Service ProcessScanData(ScanID, ScanJSON)
|
|||||||
ToolRow = Database_Services('ReadDataRow', 'TOOL', ToolID)
|
ToolRow = Database_Services('ReadDataRow', 'TOOL', ToolID)
|
||||||
If Error_Services('NoError') then
|
If Error_Services('NoError') then
|
||||||
ScansRow<SCANS.SCAN_TYPE$> = 'TOOL'
|
ScansRow<SCANS.SCAN_TYPE$> = 'TOOL'
|
||||||
|
ScansRow<SCANS.RDS_CHANGED$> = True$
|
||||||
ToolType = ToolRow<2>
|
ToolType = ToolRow<2>
|
||||||
Begin Case
|
Begin Case
|
||||||
Case ToolType _EQC 'Reactor'
|
Case ToolType _EQC 'Reactor'
|
||||||
@ -560,6 +565,7 @@ Service ProcessScanData(ScanID, ScanJSON)
|
|||||||
ScansRow<SCANS.AUTHENTICATED$> = False$
|
ScansRow<SCANS.AUTHENTICATED$> = False$
|
||||||
ScansRow<SCANS.IS_AUTHORIZED_TO_OVERRIDE_ROTR$> = False$
|
ScansRow<SCANS.IS_AUTHORIZED_TO_OVERRIDE_ROTR$> = False$
|
||||||
ScansRow<SCANS.EMPLOYEE_CHANGED$> = True$
|
ScansRow<SCANS.EMPLOYEE_CHANGED$> = True$
|
||||||
|
ScansRow<SCANS.RDS_CHANGED$> = True$
|
||||||
Result = 'Override Performed successfully'
|
Result = 'Override Performed successfully'
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -580,6 +586,7 @@ Service ProcessScanData(ScanID, ScanJSON)
|
|||||||
Locate TWLot in ThisScanTWLots using @VM setting twPOS then
|
Locate TWLot in ThisScanTWLots using @VM setting twPOS then
|
||||||
ScansRow<SCANS.TW_LOT_QTY$, twPos> = TWLotQuantity
|
ScansRow<SCANS.TW_LOT_QTY$, twPos> = TWLotQuantity
|
||||||
ScansRow<SCANS.TW_LOT_CHANGED$> = True$
|
ScansRow<SCANS.TW_LOT_CHANGED$> = True$
|
||||||
|
ScansRow<SCANS.RDS_CHANGED$> = True$
|
||||||
end
|
end
|
||||||
|
|
||||||
Case ScanData[1, 17] EQ 'TESTRUNTYPEUPDATE'
|
Case ScanData[1, 17] EQ 'TESTRUNTYPEUPDATE'
|
||||||
@ -602,6 +609,8 @@ Service ProcessScanData(ScanID, ScanJSON)
|
|||||||
ConfirmNote = 'Test wafer requirement acknowledged. [RDS:' : RDSNo : '], [WO:' : WO : '], [Cassette:' : CassNo : ']'
|
ConfirmNote = 'Test wafer requirement acknowledged. [RDS:' : RDSNo : '], [WO:' : WO : '], [Cassette:' : CassNo : ']'
|
||||||
Reactor_Log_Services('AddComment', Reactor, ConfirmNote, {EMPLOYEE_ID})
|
Reactor_Log_Services('AddComment', Reactor, ConfirmNote, {EMPLOYEE_ID})
|
||||||
|
|
||||||
|
ScansRow<SCANS.RDS_CHANGED$> = True$
|
||||||
|
|
||||||
Result = 'Test wafer requirement acknowledged'
|
Result = 'Test wafer requirement acknowledged'
|
||||||
Case ScanData EQ ''
|
Case ScanData EQ ''
|
||||||
// Most likely receiving RDS data, so nothing to do here.
|
// Most likely receiving RDS data, so nothing to do here.
|
||||||
@ -649,6 +658,7 @@ Service ProcessScanData(ScanID, ScanJSON)
|
|||||||
end else
|
end else
|
||||||
ScansRow<SCANS.CASSETTE_IDS$> = CassetteID
|
ScansRow<SCANS.CASSETTE_IDS$> = CassetteID
|
||||||
end
|
end
|
||||||
|
ScansRow<SCANS.RDS_CHANGED$> = True$
|
||||||
end else
|
end else
|
||||||
Error_Services('Add', CassetteID : ' is not a valid Cassette ID.')
|
Error_Services('Add', CassetteID : ' is not a valid Cassette ID.')
|
||||||
end
|
end
|
||||||
@ -689,6 +699,7 @@ Service ProcessScanData(ScanID, ScanJSON)
|
|||||||
// determine what the next action will be (i.e. Pre-Epi+Load, Unload, etc.). Ensure we are
|
// 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
|
// working with an RDS and not a WM_IN or WM_OUT cassette ID. They are not used during the
|
||||||
// "RDS" process.
|
// "RDS" process.
|
||||||
|
If ScansRow<SCANS.RDS_CHANGED$> NE False$ then
|
||||||
If (CassetteIDs NE '') then
|
If (CassetteIDs NE '') then
|
||||||
TestWaferLotData = ScansRow<SCANS.TW_LOT_ID$>
|
TestWaferLotData = ScansRow<SCANS.TW_LOT_ID$>
|
||||||
TestWaferLotChanged = ScansRow<SCANS.TW_LOT_CHANGED$>
|
TestWaferLotChanged = ScansRow<SCANS.TW_LOT_CHANGED$>
|
||||||
@ -1275,7 +1286,7 @@ Service ProcessScanData(ScanID, ScanJSON)
|
|||||||
Scan_Services('AddNotAcceptableReason', 'A cassette must be scanned in order to complete a tool scan.')
|
Scan_Services('AddNotAcceptableReason', 'A cassette must be scanned in order to complete a tool scan.')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
end
|
||||||
Case Otherwise$
|
Case Otherwise$
|
||||||
Scan_Services('AddNotAcceptableReason', 'A location ID or tool ID must be scanned to proceed.')
|
Scan_Services('AddNotAcceptableReason', 'A location ID or tool ID must be scanned to proceed.')
|
||||||
End Case
|
End Case
|
||||||
@ -1746,6 +1757,7 @@ Service ConvertMVScanToJSON(ScanID, mvScan, itemURL)
|
|||||||
ParsingResult = SRP_JSON(TWLotJSON, 'Parse', TW_Lot_JSON)
|
ParsingResult = SRP_JSON(TWLotJSON, 'Parse', TW_Lot_JSON)
|
||||||
If ParsingResult EQ '' then
|
If ParsingResult EQ '' then
|
||||||
SRP_JSON(objJSONScan, 'Set', 'testWaferLots', TWLotJSON)
|
SRP_JSON(objJSONScan, 'Set', 'testWaferLots', TWLotJSON)
|
||||||
|
SRP_JSON(TWLotJSON, 'Release')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -1790,6 +1802,7 @@ Service ConvertMVScanToJSON(ScanID, mvScan, itemURL)
|
|||||||
ParsingResponse = SRP_JSON(hTRTypeOpts, 'Parse', TestRunTypeOptionsJson)
|
ParsingResponse = SRP_JSON(hTRTypeOpts, 'Parse', TestRunTypeOptionsJson)
|
||||||
If ParsingResponse EQ '' then
|
If ParsingResponse EQ '' then
|
||||||
SRP_JSON(objJSONScan, 'Set', 'testRunTypeOptions', hTRTypeOpts)
|
SRP_JSON(objJSONScan, 'Set', 'testRunTypeOptions', hTRTypeOpts)
|
||||||
|
SRP_JSON(hTRTypeOpts, 'Release')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -1832,6 +1845,7 @@ Service ConvertMVScanToJSON(ScanID, mvScan, itemURL)
|
|||||||
ParsingResult = SRP_JSON(hEmployeeJson, 'Parse', EmployeeJson)
|
ParsingResult = SRP_JSON(hEmployeeJson, 'Parse', EmployeeJson)
|
||||||
If ParsingResult EQ '' then
|
If ParsingResult EQ '' then
|
||||||
SRP_JSON(objJSONScan, 'Set', 'employee', hEmployeeJson)
|
SRP_JSON(objJSONScan, 'Set', 'employee', hEmployeeJson)
|
||||||
|
SRP_JSON(hEmployeeJson, 'Release')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -1922,6 +1936,18 @@ Service ConvertMVScanToJSON(ScanID, mvScan, itemURL)
|
|||||||
SRP_JSON(objJSONScan, 'SetValue', 'lastModified', {LAST_MODIFIED}, 'String')
|
SRP_JSON(objJSONScan, 'SetValue', 'lastModified', {LAST_MODIFIED}, 'String')
|
||||||
|
|
||||||
If {SCAN_TYPE} EQ 'TOOL' then
|
If {SCAN_TYPE} EQ 'TOOL' then
|
||||||
|
rdsJson = {RDS_JSON}
|
||||||
|
rdsChanged = {RDS_CHANGED}
|
||||||
|
ParsingResponse = ''
|
||||||
|
If rdsJson NE '' and rdsChanged EQ False$ then
|
||||||
|
ParsingResponse = SRP_JSON(hRdsJson, 'Parse', rdsJson)
|
||||||
|
If ParsingResponse EQ '' then
|
||||||
|
SRP_JSON(objJSONScan, 'Set', 'rds', hRdsJson)
|
||||||
|
SRP_JSON(hRdsJson, 'Release')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
If rdsJson EQ '' or rdsChanged NE False$ or ParsingResponse NE '' then
|
||||||
CassIDs = {CASSETTE_IDS}
|
CassIDs = {CASSETTE_IDS}
|
||||||
RDSNo = CassIDs<0, 1>
|
RDSNo = CassIDs<0, 1>
|
||||||
CurrStage = Xlate('RDS', RDSNo, 'CURR_STAGE', 'X')
|
CurrStage = Xlate('RDS', RDSNo, 'CURR_STAGE', 'X')
|
||||||
@ -2140,10 +2166,17 @@ Service ConvertMVScanToJSON(ScanID, mvScan, itemURL)
|
|||||||
end
|
end
|
||||||
|
|
||||||
SRP_JSON(objJSONScan, 'Set', 'rds', objRDS)
|
SRP_JSON(objJSONScan, 'Set', 'rds', objRDS)
|
||||||
|
|
||||||
|
rdsJson = SRP_JSON(objRDS, 'Stringify', 'Fast')
|
||||||
|
mvScan<SCANS.RDS_JSON$> = rdsJson
|
||||||
|
mvScan<SCANS.RDS_CHANGED$> = False$
|
||||||
|
mvScanChanged = True$
|
||||||
|
|
||||||
SRP_JSON(objRDS, 'Release')
|
SRP_JSON(objRDS, 'Release')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
|
||||||
jsonScan = SRP_JSON(objJSONScan, 'Stringify', 'Fast')
|
jsonScan = SRP_JSON(objJSONScan, 'Stringify', 'Fast')
|
||||||
SRP_JSON(objJSONScan, 'Release')
|
SRP_JSON(objJSONScan, 'Release')
|
||||||
@ -2399,10 +2432,3 @@ ClearCursors:
|
|||||||
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -45,9 +45,12 @@ compile insert SCANS_EQUATES
|
|||||||
equ SCANS.TW_LOT_JSON$ to 36
|
equ SCANS.TW_LOT_JSON$ to 36
|
||||||
equ SCANS.EMPLOYEE_CHANGED$ to 37
|
equ SCANS.EMPLOYEE_CHANGED$ to 37
|
||||||
equ SCANS.EMPLOYEE_JSON$ to 38
|
equ SCANS.EMPLOYEE_JSON$ to 38
|
||||||
|
equ SCANS.RDS_CHANGED$ to 39
|
||||||
|
equ SCANS.RDS_JSON$ to 40
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user