diff --git a/LSL2/STPROC/RDS_EVENTS.txt b/LSL2/STPROC/RDS_EVENTS.txt index cfbd741..4872cc7 100644 --- a/LSL2/STPROC/RDS_EVENTS.txt +++ b/LSL2/STPROC/RDS_EVENTS.txt @@ -349,20 +349,31 @@ Event PUB_SIGN.CLICK() Response = Dialog_Box('NDW_VERIFY_USER', @WINDOW, initParams) Valid = Response<1> If (Valid EQ True$) then + debug if XLATE('APP_INFO', 'NEW_TW_SYSTEM_ACTIVE_SWITCH', 1, 'X') EQ True$ then UsingTestWafers = Msg(@Window, '', 'YESNO', '', 'Log Test Wafer Usage':@FM:'Are any test wafers loaded?') + IsTWReqd = RDS_Services('IsTWLoggingReqd', RDSNo) If UsingTestWafers then TWLogResult = Dialog_Box('NDW_LOG_TEST_WAFER_USAGE', @Window, RDSNo : @VM : 'STANDARD' : @VM : 'REACTOR' : @VM : Reactor) If TWLogResult then QA_Services('SignLoadStage', RDSNo, @USER4, WfrQty, LLSide) end else - ContinueLoad = Msg(@Window, '', 'YESNO', '', 'Continue?':@FM:'Test wafer logging was cancelled. Do you wish to continue signing?') - If ContinueLoad then - QA_Services('SignLoadStage', RDSNo, @USER4, WfrQty, LLSide) + If IsTWReqd then + Msg(@Window, 'Unable to sign load because test wafer logging is required on this run.') + end else + ContinueLoad = Msg(@Window, '', 'YESNO', '', 'Continue?':@FM:'Test wafer logging was cancelled. Do you wish to continue signing?') + If ContinueLoad then + QA_Services('SignLoadStage', RDSNo, @USER4, WfrQty, LLSide) + end end end end else - QA_Services('SignLoadStage', RDSNo, @USER4, WfrQty, LLSide) + if IsTWReqd EQ False$ then + QA_Services('SignLoadStage', RDSNo, @USER4, WfrQty, LLSide) + end else + Msg(@Window, 'Unable to sign load because test wafer logging is required on this run.') + end + end end else QA_Services('SignLoadStage', RDSNo, @USER4, WfrQty, LLSide) @@ -704,3 +715,4 @@ return + diff --git a/LSL2/STPROC/RDS_SERVICES.txt b/LSL2/STPROC/RDS_SERVICES.txt index cb20547..2f8e4c1 100644 --- a/LSL2/STPROC/RDS_SERVICES.txt +++ b/LSL2/STPROC/RDS_SERVICES.txt @@ -117,7 +117,7 @@ Declare function Work_Order_Services, SRP_JSON, Logging_Services, Environment Declare function Memberof, Obj_WO_Mat, Obj_WO_Mat_Log, SRP_Array, DateTime, Dialog_Box, obj_Prod_Spec Declare function RDS_Services, RTI_DistinctList, GetTickCount, Clean_Insp_Services, WO_Mat_QA_Services Declare function PSN_Services, Rds_Layer_Services, SRP_Rotate_Array, Qa_Services, SRP_Date, SRP_Time, SRP_Datetime -Declare function Reactor_Services, Signature_Services +Declare function Reactor_Services, Signature_Services, obj_rds, Test_Run_Services LogPath = Environment_Services('GetApplicationRootPath') : '\LogFiles\RDS' LogDate = Oconv(Date(), 'D4/') @@ -415,7 +415,6 @@ end service // Rows are @FM delimted while columns are @VM delimited. //---------------------------------------------------------------------------------------------------------------------- Service GetRDSData(WorkOrderNo, Columns, ShowGasGauge, RDSOverrideList) - RDSList = '' If ( (WorkOrderNo NE '') or (RDSOverrideList NE '') ) then @@ -742,6 +741,23 @@ Service IsValidSubLot(RDSNo, RDSType, SupplierLot) Response = IsValid end service +Service IsTWLoggingReqd(RDSNo) + Response = False$ + RDSRec = Database_Services('ReadDataRow', 'RDS', RDSNo, True$, 0, False$) + IsHGCVReqd = obj_RDS('MetPropFlag', RDSNo:@RM:RDSRec:@RM:'CRES') + If IsHGCVReqd NE True$ then + ExistingTWKeys = Test_Run_Services('GetTestRunKeysByRDS', RDSNo) + If ExistingTWKeys EQ '' then + Response = True$ + end else + Response = False$ + end + + end else + Response = True$ + end +end service + //---------------------------------------------------------------------------------------------------------------------- // VerifyEPPMetrology // @@ -1638,3 +1654,4 @@ ClearCursors: return + diff --git a/LSL2/STPROC/TEST_RUN_SERVICES.txt b/LSL2/STPROC/TEST_RUN_SERVICES.txt index 7d5e3c7..61a942e 100644 --- a/LSL2/STPROC/TEST_RUN_SERVICES.txt +++ b/LSL2/STPROC/TEST_RUN_SERVICES.txt @@ -684,7 +684,18 @@ Service GetTestRunKeysByPSN(PSNo) end service Service GetTestRunKeysByRDS(RDSNo) - + table = "TEST_RUN" + Open "DICT ":table To @DICT Else + Error_Services('Add', 'Error opening TEST_RUN dictionary') + End + If Error_Services('NoError') then + srch_strng = "RDS_ID":@VM:RDSNo:@FM + keylist = "" + option = "" + flag = "" + Btree.Extract(srch_strng, table, @DICT, keylist, option, flag) + Response = keylist + end end service Service GetTestRunWaferByID(TRWaferID) @@ -747,3 +758,4 @@ end service +