From 494988d394b8e6362fca80160774ea8dabce63d5 Mon Sep 17 00:00:00 2001 From: "Infineon\\StieberD" Date: Thu, 14 Aug 2025 13:15:21 -0700 Subject: [PATCH] Restored obj_RDS('MetPropFlag') to previous version for performance reasons. Refactored Supplement_Services to improve performance. --- LSL2/STPROC/NDW_RDS_QUERY_EVENTS.txt | 39 +++++++------- LSL2/STPROC/OBJ_RDS.txt | 6 ++- LSL2/STPROC/SUPPLEMENT_SERVICES.txt | 74 ++++++++++---------------- LSL2/STPROCINS/SUPPLEMENTS_EQUATES.txt | 40 +++++++------- 4 files changed, 71 insertions(+), 88 deletions(-) diff --git a/LSL2/STPROC/NDW_RDS_QUERY_EVENTS.txt b/LSL2/STPROC/NDW_RDS_QUERY_EVENTS.txt index d07fbb7..2b795ed 100644 --- a/LSL2/STPROC/NDW_RDS_QUERY_EVENTS.txt +++ b/LSL2/STPROC/NDW_RDS_QUERY_EVENTS.txt @@ -508,23 +508,23 @@ GetRdsColumns: GoSub GetView If CurrentViewSelection _EQC 'quick' then - RDSColumns = '' - RDSColumns<0, 1> = 'ABBREV_OR_CO_NAME' - RDSColumns<0, 2> = 'WO' - RDSColumns<0, 3> = 'WO_STEP' - RDSColumns<0, 4> = 'SEQ' - RDSColumns<0, 5> = 'REACTOR' - RDSColumns<0, 6> = 'RUN_ORDER_NUM' - RDSColumns<0, 7> = 'UNLOAD_THICK_TEST' - RDSColumns<0, 8> = 'HGCV_TEST' - RDSColumns<0, 9> = 'DATE_IN' - RDSColumns<0, 10> = 'TIME_IN' - RDSColumns<0, 11> = 'DATE_OUT' - RDSColumns<0, 12> = 'TIME_OUT' - RDSColumns<0, 13> = 'PART_NUM' - RDSColumns<0, 14> = 'LOT_NUM' - RDSColumns<0, 15> = 'SUPPL_INST' - RDSColumns<0, 16> = 'HOLD_STATUS' + RDSColumns = '' + RDSColumns<0, 1> = 'ABBREV_OR_CO_NAME' + RDSColumns<0, 2> = 'WO' + RDSColumns<0, 3> = 'WO_STEP' + RDSColumns<0, 4> = 'SEQ' + RDSColumns<0, 5> = 'REACTOR' + RDSColumns<0, 6> = 'RUN_ORDER_NUM' + RDSColumns<0, 7> = 'UNLOAD_THICK_TEST' + RDSColumns<0, 8> = 'HGCV_TEST' + RDSColumns<0, 9> = 'DATE_IN' + RDSColumns<0, 10> = 'TIME_IN' + RDSColumns<0, 11> = 'DATE_OUT' + RDSColumns<0, 12> = 'TIME_OUT' + RDSColumns<0, 13> = 'PART_NUM' + RDSColumns<0, 14> = 'LOT_NUM' + RDSColumns<0, 15> = 'SUPPL_INST' + RDSColumns<0, 16> = 'HOLD_STATUS' end else RDSColumns = '' RDSColumns<0, 1> = 'ABBREV_OR_CO_NAME' @@ -609,7 +609,7 @@ return GetExistingSupps: - + Gosub GetView NumRDS = DCount(RDSList, @FM) SuppsWithLots = Supplement_Services('GetLotsWithSupplements', 'RDS') @@ -677,6 +677,3 @@ CheckSelectedForHolds: return - - - diff --git a/LSL2/STPROC/OBJ_RDS.txt b/LSL2/STPROC/OBJ_RDS.txt index 920724e..71bc9ff 100644 --- a/LSL2/STPROC/OBJ_RDS.txt +++ b/LSL2/STPROC/OBJ_RDS.txt @@ -1169,10 +1169,13 @@ MetPropFlag: IF RDSRec = '' THEN RETURN WONo = RDSRec + WOStepKey = RDSRec ReactNo = RDSRec PSNo = RDSRec - ReactRDSNos = Rds_Services('GetRDSRunHistoryByReactorAndWO', ReactNo, WONo) + WOStepNo = FIELD(WOStepKey,'*',2) + + ReactRDSNos = XLATE('WO_REACT',WONo:'*':WOStepNo:'*':ReactNo,WO_REACT_RDS_NO$,'X') LOCATE RDSNo IN ReactRDSNos USING @VM SETTING Pos THEN Result = obj_PRS_Prop('GetIntervalFlag',PSNo:@RM:PropCd:@RM:Pos) @@ -1239,4 +1242,3 @@ CalcThickTarget: RETURN - diff --git a/LSL2/STPROC/SUPPLEMENT_SERVICES.txt b/LSL2/STPROC/SUPPLEMENT_SERVICES.txt index a9bb837..7b9766b 100644 --- a/LSL2/STPROC/SUPPLEMENT_SERVICES.txt +++ b/LSL2/STPROC/SUPPLEMENT_SERVICES.txt @@ -128,6 +128,12 @@ Service CreateSupplement(LotType=LOTTYPES, LotID, Stage=STAGES, SupplText, Entry NewSupRec = SupplText NewSupRec = EntryUser NewSupRec = Datetime() + If Stages NE False$ then + StageList = Stages<1> + Locate Stage in StageList using @VM setting StageIndex then + NewSupRec = StageIndex + end + end Database_Services('WriteDataRow', 'SUPPLEMENTS', SupplID, NewSupRec, True$, False$, False$) If Error_Services('NoError') then Response = SupplID @@ -305,49 +311,30 @@ Service GetSupplementsForLot(LotType=LOTTYPES, LotID, Stage=STAGES) Response = False$ If ( (LotType NE '') and (LotID NE '') ) then - If (Stage EQ '') then - KeyList = '' - Query = '' - Query<1> = 'LOT_TYPE' : @VM : LotType - Query<2> = 'LOT_ID' : @VM : LotID : @FM - Flag = '' - Open 'DICT.SUPPLEMENTS' to hDict then - Btree.Extract(Query, 'SUPPLEMENTS', hDict, KeyList, 'E', Flag) - If (Flag EQ 0) then - If (KeyList NE '') then - SupplementList = '' - Stages = Supplement_Services('GetStagesForLot', LotType, LotID) - StageCount = Dcount(Stages<1>, @VM) - For I = 1 to StageCount - SupplementStage = Supplement_Services('GetSupplementsForLot', LotType, LotID, Stages<1,I>) - If SupplementStage NE False$ then SupplementList<-1> = SupplementStage - Next I - If SupplementList NE '' then Response = SupplementList - end - end else - Error_Services('Add', 'Error in ':Service:' service. Error calling Btree.Extract') - end - end else - Error_Services('Add', 'Error in ':Service:' service. Error opening SUPPLEMENTS dictionary.') - end - end else - StageSupplementList = '' - Query = '' - Query<1> = 'LOT_TYPE' : @VM : LotType - Query<2> = 'LOT_ID' : @VM : LotID - Query<3> = 'STAGE' : @VM : Stage : @FM - Flag = '' - Open 'DICT.SUPPLEMENTS' to hDict then - Btree.Extract(Query, 'SUPPLEMENTS', hDict, StageSupplementList, 'E', Flag) - If (Flag EQ 0) then - If StageSupplementList NE '' then Response = StageSupplementList - end else - Error_Services('Add', 'Error in ':Service:' service. Error calling Btree.Extract') + If Stage EQ '' then Stage = '#0' + StageSupplementList = '' + Query = '' + Query<1> = 'LOT_TYPE' : @VM : LotType + Query<2> = 'LOT_ID' : @VM : LotID + Query<3> = 'STAGE' : @VM : Stage : @FM + Flag = '' + Open 'DICT.SUPPLEMENTS' to hDict then + Btree.Extract(Query, 'SUPPLEMENTS', hDict, StageSupplementList, 'E', Flag) + If (Flag EQ 0) then + If StageSupplementList NE '' then + StageIndexes = Xlate('SUPPLEMENTS', StageSupplementList, 'STAGE_INDEX', 'X') + SortArray = StageIndexes:@FM:StageSupplementList + SortArray = SRP_Array('SortRows', SortArray, 'AR1', 'ARRAY', @FM, @VM) + SortedStageSupplementList = SortArray<2> + Convert @VM to @FM in SortedStageSupplementList + Response = SortedStageSupplementList end - end else - Error_Services('Add', 'Error in ':Service:' service. Error opening SUPPLEMENTS dictionary.') - end - end + end else + Error_Services('Add', 'Error in ':Service:' service. Error calling Btree.Extract') + end + end else + Error_Services('Add', 'Error in ':Service:' service. Error opening SUPPLEMENTS dictionary.') + end end else Error_Services('Add', 'LotType or LotID was missing in the ' : Service : ' service.') end @@ -683,6 +670,3 @@ Service SendNotifications(RDSList, EditEvent, Instructions, EntryUser) end service - - - diff --git a/LSL2/STPROCINS/SUPPLEMENTS_EQUATES.txt b/LSL2/STPROCINS/SUPPLEMENTS_EQUATES.txt index e7c5a96..950f128 100644 --- a/LSL2/STPROCINS/SUPPLEMENTS_EQUATES.txt +++ b/LSL2/STPROCINS/SUPPLEMENTS_EQUATES.txt @@ -1,20 +1,20 @@ -compile insert SUPPLEMENTS_EQUATES -/*---------------------------------------- - Author : Table Create Insert Routine - Written : 20/03/2024 - Description : Insert for Table SUPPLEMENTS -----------------------------------------*/ - - -Equ SUPPLEMENTS_SUPPL_ID$ To 0 -Equ SUPPLEMENTS_LOT_TYPE$ To 1 -Equ SUPPLEMENTS_LOT_ID$ To 2 -Equ SUPPLEMENTS_STAGE$ To 3 -Equ SUPPLEMENTS_SUPPL_TEXT$ To 4 -Equ SUPPLEMENTS_SUPPL_ACK$ To 5 -Equ SUPPLEMENTS_ACK_USER$ To 6 -Equ SUPPLEMENTS_ACK_DTM$ To 7 -Equ SUPPLEMENTS_ENTRY_USER$ To 8 -Equ SUPPLEMENTS_ENTRY_DATETIME$ To 9 - - +compile insert SUPPLEMENTS_EQUATES +/*---------------------------------------- + Author : Table Create Insert Routine + Written : 20/03/2024 + Description : Insert for Table SUPPLEMENTS +----------------------------------------*/ + + +Equ SUPPLEMENTS_SUPPL_ID$ To 0 +Equ SUPPLEMENTS_LOT_TYPE$ To 1 +Equ SUPPLEMENTS_LOT_ID$ To 2 +Equ SUPPLEMENTS_STAGE$ To 3 +Equ SUPPLEMENTS_SUPPL_TEXT$ To 4 +Equ SUPPLEMENTS_SUPPL_ACK$ To 5 +Equ SUPPLEMENTS_ACK_USER$ To 6 +Equ SUPPLEMENTS_ACK_DTM$ To 7 +Equ SUPPLEMENTS_ENTRY_USER$ To 8 +Equ SUPPLEMENTS_ENTRY_DATETIME$ To 9 +Equ SUPPLEMENTS_STAGE_INDEX$ To 10 +