From af6cd757de91c5537b8cf359597e635e46189e11 Mon Sep 17 00:00:00 2001 From: Chase Tucker Date: Wed, 2 Jul 2025 09:54:36 -0700 Subject: [PATCH] Remove TW_All_Signed CC dependency --- LSL2/STPROC/QA_SERVICES.txt | 28 ++++++++++++++++++++-------- LSL2/STPROC/RDS_SERVICES.txt | 25 +++++++++++++++++++++++++ LSL2/STPROC/TW_USE_ACTIONS.txt | 15 +++++++++++++-- LSL2/STPROCINS/RDS_EQUATES.txt | 1 + 4 files changed, 59 insertions(+), 10 deletions(-) diff --git a/LSL2/STPROC/QA_SERVICES.txt b/LSL2/STPROC/QA_SERVICES.txt index 9efc334..05aa00d 100644 --- a/LSL2/STPROC/QA_SERVICES.txt +++ b/LSL2/STPROC/QA_SERVICES.txt @@ -1797,7 +1797,7 @@ end service // Reponse - True$ if PRE stage was successfully signed, False$ otherwise. //---------------------------------------------------------------------------------------------------------------------- Service SignPreEpiStage(RDSNo, Username, WaferQty, Reactor, ScanEntry) - + StartTick = GetTickCount() MetricName = 'SignPreEpiStage' @@ -1974,7 +1974,7 @@ Service SignPreEpiStage(RDSNo, Username, WaferQty, Reactor, ScanEntry) If Error_Services('NoError') then If RDS_Services('IsEpiPro', RDSNo) then LotId = Lot_Services('GetLotIdByLegacyLotIdAndType', RDSNo, 'RDS') - If Error_Services('NoError') then + If Error_Services('NoError') then Lot_Services('MoveOutLot', LotId, Username) ; // Move out of PRE_EPI operation Lot_Services('MoveInLot', LotId, Username) ; // Move into REACTOR_RUN operation end @@ -2038,7 +2038,12 @@ Service LoadSignatureReady(RDSNo, Username, WaferQty, LLSide, PreFlag, ReactNoOp WOStep = Xlate('RDS', RDSNo, 'WO_STEP', 'X') ReactorType = Xlate('RDS', RDSNo, 'REACTOR_TYPE', 'X') LoadLockVal = LLSide - TWAllSigned = Xlate('RDS', RDSNo, 'TW_ALL_SIGNED', 'X') + + TWAllSigned = Xlate('RDS', RDSNo, RDS_ALL_TW_USE_SIGNED$, 'X') + If TWAllSigned EQ '' then + TWAllSigned = True$ + end + RunOrderNo = Xlate('RDS', RDSNo, 'RUN_ORDER_NUM', 'X') SchedQty = RDSRec ParamOutOfSpec = Xlate('RDS', RDSNo, 'PARAM_OUT_OF_SPEC', 'X') @@ -2369,14 +2374,20 @@ Service SignLoadStage(RDSNo, Username, WaferQty, LLSide, ScanEntry) RDSRec = WaferQty RDSRec = LLSide Database_Services('WriteDataRow', 'RDS', RDSNo, RDSRec, True$, False$, True$) + WONo = RDSRec CassNo = RDSRec Reactor = RDSRec PSN = RDSRec WOStep = Xlate('RDS', RDSNo, 'WO_STEP', 'X') - ReactorType = Xlate('RDS', RDSNo, 'REACTOR_TYPE', 'X') + ReactorType = Xlate('REACTOR', Reactor, REACTOR_REACT_TYPE$, 'X') LoadLockVal = LLSide - TWAllSigned = Xlate('RDS', RDSNo, 'TW_ALL_SIGNED', 'X') + + TWAllSigned = Xlate('RDS', RDSNo, RDS_ALL_TW_USE_SIGNED$, 'X') + If TWAllSigned EQ '' then + TWAllSigned = True$ + end + RunOrderNo = Xlate('RDS', RDSNo, 'RUN_ORDER_NUM', 'X') SchedQty = RDSRec @@ -2549,7 +2560,7 @@ Service SignLoadStage(RDSNo, Username, WaferQty, LLSide, ScanEntry) If Error_Services('NoError') then If RDS_Services('IsEpiPro', RDSNo) then LotId = Lot_Services('GetLotIdByLegacyLotIdAndType', RDSNo, 'RDS') - If Error_Services('NoError') then + If Error_Services('NoError') then Lot_Services('BeginRun', LotId, Username, Reactor) ; // Begin run at REACTOR_RUN operation end end @@ -3009,7 +3020,7 @@ Service SignUnloadStage(RDSNo, Username, ScanEntry) If Error_Services('NoError') then If RDS_Services('IsEpiPro', RDSNo) then LotId = Lot_Services('GetLotIdByLegacyLotIdAndType', RDSNo, 'RDS') - If Error_Services('NoError') then + If Error_Services('NoError') then Lot_Services('EndRun', LotId, Username, Reactor) ; // End run at REACTOR_RUN operation Lot_Services('MoveOutLot', LotId, Username) ; // Move out of REACTOR_RUN operation Lot_Services('MoveInLot', LotId, Username) ; // Move into POST_EPI operation @@ -3021,7 +3032,7 @@ Service SignUnloadStage(RDSNo, Username, ScanEntry) end end end - end + end If Error_Services('NoError') then Rds_Services('AddComment', RDSNo, 'Unload Stage signed onto Reactor ' : Reactor, Username) @@ -3685,3 +3696,4 @@ return + diff --git a/LSL2/STPROC/RDS_SERVICES.txt b/LSL2/STPROC/RDS_SERVICES.txt index d9fccfe..0c01b7c 100644 --- a/LSL2/STPROC/RDS_SERVICES.txt +++ b/LSL2/STPROC/RDS_SERVICES.txt @@ -1984,6 +1984,30 @@ Service PushSigProfileToWoMat(RDSNo) end service +Service AllTWUseSigned(RDSNo) + If RDSNo NE '' then + LSKeys = Xlate('RDS', RDSNo, 'RDS_LS_SORTED', 'X') + AllMetKeys = XLATE('RDS_LAYER', LSKeys, RDS_LAYER_RDS_TEST_KEYS$, 'X') + AllSigned = 1 + FOR I = 1 TO COUNT(AllMetKeys,@VM) + (AllMetKeys NE '') + MetKey = AllMetKeys<1,I> + AllSigned = obj_RDS_Test('TWSignedOff',MetKey) + UNTIL NOT(AllSigned) + NEXT I + + Transaction_Services('PostWriteFieldTransaction', 'RDS', RDSNo, RDS_ALL_TW_USE_SIGNED$, AllSigned) + + ErrorMessage = '' + If Error_Services('HasError') then + ErrorMessage = Error_Services('GetMessage') + end + + If ErrorMessage NE '' then + ErrorMessage = 'Unable to determine if all TW Use have been signed for RDS ':RDSNo:', because ':ErrorMessage + Error_Services('Add', ErrorMessage) + end + end +end service //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Internal GoSubs @@ -1997,3 +2021,4 @@ ClearCursors: return + diff --git a/LSL2/STPROC/TW_USE_ACTIONS.txt b/LSL2/STPROC/TW_USE_ACTIONS.txt index 40eca7e..1b2d149 100644 --- a/LSL2/STPROC/TW_USE_ACTIONS.txt +++ b/LSL2/STPROC/TW_USE_ACTIONS.txt @@ -57,10 +57,11 @@ $insert WO_LOG_EQUATES $insert WM_OUT_EQUATES $insert WM_IN_EQUATES $insert WO_MAT_EQUATES +$Insert TW_USE_EQUATES Declare function Database_Services, obj_NCR, obj_SAP, Environment_Services, Logging_Services Declare subroutine Error_Services, Database_Services, obj_NCR, obj_SAP, Material_Services, Work_Order_Services -Declare subroutine Logging_Services +Declare subroutine Logging_Services, Service_Services LogPath = Environment_Services('GetApplicationRootPath') : '\LogFiles\TW_USE' LogDate = Oconv(Date(), 'D4/') @@ -153,7 +154,17 @@ WRITE_RECORD_PRE: return WRITE_RECORD: - + OrigQty = OrigRecord + NewQty = Record + OrigSig = OrigRecord + NewSig = OrigRecord + + If OrigRecord EQ '' or OrigQty NE NewQty or OrigSig NE NewSig then + MetrologyID = Field(Name, '*', 1) + RDSNo = Xlate('RDS_TEST', MetrologyID, RDS_TEST_RDS_NO$, 'X') + + Service_Services('PostProcedure', 'RDS_Services', 'AllTWUseSigned':@VM:RDSNo) + end return DELETE_RECORD_PRE: diff --git a/LSL2/STPROCINS/RDS_EQUATES.txt b/LSL2/STPROCINS/RDS_EQUATES.txt index 204cdea..6cf8401 100644 --- a/LSL2/STPROCINS/RDS_EQUATES.txt +++ b/LSL2/STPROCINS/RDS_EQUATES.txt @@ -260,3 +260,4 @@ Equ RDS_COMMENT_NOTE$ To 307 Equ RDS_WAFER_COUNTER_QTY$ To 308 Equ RDS_WAFER_COUNTER_DTM$ To 309 Equ RDS_POST_SUPERCEDE$ To 310 +Equ RDS_ALL_TW_USE_SIGNED$ To 311