diff --git a/LSL2/STPROC/SCAN_SERVICES.txt b/LSL2/STPROC/SCAN_SERVICES.txt index 7250952..b677c03 100644 --- a/LSL2/STPROC/SCAN_SERVICES.txt +++ b/LSL2/STPROC/SCAN_SERVICES.txt @@ -999,33 +999,38 @@ Service ProcessScanData(ScanID, ScanJSON) LoadStageReady = '' PreStageReady = QA_Services('PreEpiSignatureReady', RDSNo, Username, WaferQty, Reactor) If PreStageReady EQ True$ then - LoadStageReady = QA_Services('LoadSignatureReady', RDSNo, Username, WaferQty, LLSide, True$, Reactor) - If (LoadStageReady NE True$) then - // Why is it not ready? - ErrMsg = Error_Services('GetMessage') - Begin Case - Case IndexC(ErrMsg, 'supplement', 1) - // Clear the error to return a JSON payload and handle the acknowledgements. - Error_Services('Clear') - Scan_Services('AddNotAcceptableReason', ErrMsg) - Case IndexC(ErrMsg, 'ROTR', 1) - ROTRBlock = Database_Services('ReadDataColumn', 'REACTOR', Reactor, REACTOR_ROTR_STATUS$, True$, 0, False$) - ROTRBlockReason = Database_Services('ReadDataColumn', 'REACTOR', Reactor, REACTOR_ROTR_STATUS_REASON$, True$, 0, False$) - ROTREnabled = Database_Services('ReadDataColumn', 'REACTOR', Reactor, REACTOR_ENABLE_ROTR$, True$, 0, False$) - If ( (ROTRBlock NE 'P') AND (ROTREnabled EQ True$) ) then - // Clear the error to return a JSON payload and allow for OVERRIDE scan. - ScansRow = True$ - ScansRow = ROTRBlockReason - ScansRow = 'ROTR' + RDSLayerAckReq = Xlate('RDS', RDSNo, 'RDS_LAYER_ACK_REQ', 'X') + If RDSLayerAckReq EQ False$ then + LoadStageReady = QA_Services('LoadSignatureReady', RDSNo, Username, WaferQty, LLSide, True$, Reactor) + If (LoadStageReady NE True$) then + // Why is it not ready? + ErrMsg = Error_Services('GetMessage') + Begin Case + Case IndexC(ErrMsg, 'supplement', 1) + // Clear the error to return a JSON payload and handle the acknowledgements. Error_Services('Clear') - ErrMsg = '' - Scan_Services('AddNotAcceptableReason', "ROTR Load Block Enabled") - end else - ScansRow = False$ - ScansRow = '' - ScansRow = '' - end - End Case + Scan_Services('AddNotAcceptableReason', ErrMsg) + Case IndexC(ErrMsg, 'ROTR', 1) + ROTRBlock = Database_Services('ReadDataColumn', 'REACTOR', Reactor, REACTOR_ROTR_STATUS$, True$, 0, False$) + ROTRBlockReason = Database_Services('ReadDataColumn', 'REACTOR', Reactor, REACTOR_ROTR_STATUS_REASON$, True$, 0, False$) + ROTREnabled = Database_Services('ReadDataColumn', 'REACTOR', Reactor, REACTOR_ENABLE_ROTR$, True$, 0, False$) + If ( (ROTRBlock NE 'P') AND (ROTREnabled EQ True$) ) then + // Clear the error to return a JSON payload and allow for OVERRIDE scan. + ScansRow = True$ + ScansRow = ROTRBlockReason + ScansRow = 'ROTR' + Error_Services('Clear') + ErrMsg = '' + Scan_Services('AddNotAcceptableReason', "ROTR Load Block Enabled") + end else + ScansRow = False$ + ScansRow = '' + ScansRow = '' + end + End Case + end + end else + Scan_Services('AddNotAcceptableReason', 'RDS layer parameters must be reviewed for accuracy and acknowledged before the load operation can be signed.') end end else // Why is it not ready? @@ -1113,8 +1118,7 @@ Service ProcessScanData(ScanID, ScanJSON) Scan_Services('AddNotAcceptableReason', 'The LWI stage engineering instructions must be acknowledged before the load operation can be signed.') end end else - ErrMsg = 'RDS layer parameters must be reviewed for accuracy and acknowledged before the load operation can be signed.' - Scan_Services('AddNotAcceptableReason', ErrMsg) + Scan_Services('AddNotAcceptableReason', 'RDS layer parameters must be reviewed for accuracy and acknowledged before the load operation can be signed.') end end else ErrMsg = 'Scanned tool ':ScanTool:' does not match the scheduled tool ':SchedTool:'. (':RDSNo:')' @@ -2420,3 +2424,4 @@ ClearCursors: return +