From 31d66da7d2d94f04d8f01ecd3f2b9db44ba93a01 Mon Sep 17 00:00:00 2001 From: "Infineon\\Mitchem" Date: Thu, 13 Feb 2025 15:00:27 -0700 Subject: [PATCH] Remove override requirement for makeup lots with wafers out not matching scheduled qty. to fulfill ADO 225463. --- LSL2/STPROC/RDS_POST_EPI_EVENTS.txt | 94 ++++++++++++++--------------- 1 file changed, 47 insertions(+), 47 deletions(-) diff --git a/LSL2/STPROC/RDS_POST_EPI_EVENTS.txt b/LSL2/STPROC/RDS_POST_EPI_EVENTS.txt index 724a5f5..64e6cab 100644 --- a/LSL2/STPROC/RDS_POST_EPI_EVENTS.txt +++ b/LSL2/STPROC/RDS_POST_EPI_EVENTS.txt @@ -37,6 +37,7 @@ Function RDS_Post_Epi_Events(CtrlEntId, Event, @PARAMS) 01/22/19 djs Added a simple check to verify that metrology data exists in order to allow FQA signature. See "Verify RDS_TEST record has measurement data" section. 06/13/24 djm Add new stage-specific supplement system. + 02/13/25 djm Removed override requirement for makeup boxes to resolve ADO item 255463. ***********************************************************************************************************************/ @@ -278,61 +279,60 @@ Event SIGN_BUTTON.CLICK() ************************* * Verify Wafer Quantity * ************************* - CassSchedWafers = Get_Property(@Window : '.WAFERS_SCHEDULED', 'TEXT') WafersOut = Get_Property(@Window : '.WAFERS_OUT', 'TEXT') MakeupBox = Xlate('RDS', RDSNo, 'MAKEUP_BOX', 'X') SpecType = Xlate('RDS', RDSNo, 'SPEC_TYPE', 'X') - OverrideAllowed = ( (SpecType EQ 'Q') or MakeupBox ) + OverrideAllowed = (SpecType EQ 'Q') - - If ( (CassSchedWafers NE WafersOut) and (OverrideAllowed EQ True$) ) then - - Message = 'Unable to sign FQA because the Scheduled' : CRLF$ : 'Qty does not equal the ' - Message := 'Wafers Out Qty.' : CRLF$ : 'Lead or supervisor must override.' - LeadMessage = 'Scheduled Wafers Quantity does not equal the Wafers Out Quantity.' - - If NOT( MemberOf(@USER4, 'LEAD') OR MemberOf(@USER4, 'SUPERVISOR') ) then - Response = Msg(@Window, '', 'POST_EPI_WAFER_OUT', '', Message) - end else - Response = Msg(@Window, '', 'POST_EPI_WAFER_OUT', '', LeadMessage) - end - - Begin Case - Case Response EQ 1 - Response = True$ ; // User Clicked Override - Case Response EQ 2 - Response = False$ ; // User Clicked Cancel - Case Response EQ char(27) - Response = False$ ; // User Pressed Escape Key - End Case - - If Response EQ True$ then - Response = Dialog_Box('NDW_VERIFY_USER', @WINDOW, @USER4 : @FM : 'LEAD' : @VM : 'SUPERVISOR') - Valid = Response<1> - Username = Response<2> - If NOT(Valid) then - Return - end else - Set_Property(@Window : '.FINAL_QA_WAFER_OUT_SIG', 'DEFPROP', Username) - Set_Property(@Window : '.FINAL_QA_WAFER_OUT_NAME', 'TEXT', OConv(Username, '[XLATE_CONV,LSL_USERS*FIRST_LAST]')) - Set_Property(@Window : '.FINAL_QA_WAFER_OUT_DATE', 'DEFPROP', Oconv(Date(), 'D2/')) - Set_Property(@Window : '.FINAL_QA_WAFER_OUT_TIME', 'DEFPROP', Oconv(Time(), 'MTS')) - end - end else - Return - end - end else if (CassSchedWafers NE WafersOut) then - // Inform user - Title = 'Process Error' - ErrorMsg = 'Scheduled Wafers Quantity does not equal the Wafers Out Quantity.':CRLF$ - ErrorMsg := 'Override not allowed due to spec type.' - Response = Msg(@Window, '', 'OK', '', Title:@FM:ErrorMsg) - return + If MakeupBox NE True$ then + If ( (CassSchedWafers NE WafersOut) and (OverrideAllowed EQ True$) ) then + + Message = 'Unable to sign FQA because the Scheduled' : CRLF$ : 'Qty does not equal the ' + Message := 'Wafers Out Qty.' : CRLF$ : 'Lead or supervisor must override.' + LeadMessage = 'Scheduled Wafers Quantity does not equal the Wafers Out Quantity.' + + If NOT( MemberOf(@USER4, 'LEAD') OR MemberOf(@USER4, 'SUPERVISOR') ) then + Response = Msg(@Window, '', 'POST_EPI_WAFER_OUT', '', Message) + end else + Response = Msg(@Window, '', 'POST_EPI_WAFER_OUT', '', LeadMessage) + end + + Begin Case + Case Response EQ 1 + Response = True$ ; // User Clicked Override + Case Response EQ 2 + Response = False$ ; // User Clicked Cancel + Case Response EQ char(27) + Response = False$ ; // User Pressed Escape Key + End Case + + If Response EQ True$ then + Response = Dialog_Box('NDW_VERIFY_USER', @WINDOW, @USER4 : @FM : 'LEAD' : @VM : 'SUPERVISOR') + Valid = Response<1> + Username = Response<2> + If NOT(Valid) then + Return + end else + Set_Property(@Window : '.FINAL_QA_WAFER_OUT_SIG', 'DEFPROP', Username) + Set_Property(@Window : '.FINAL_QA_WAFER_OUT_NAME', 'TEXT', OConv(Username, '[XLATE_CONV,LSL_USERS*FIRST_LAST]')) + Set_Property(@Window : '.FINAL_QA_WAFER_OUT_DATE', 'DEFPROP', Oconv(Date(), 'D2/')) + Set_Property(@Window : '.FINAL_QA_WAFER_OUT_TIME', 'DEFPROP', Oconv(Time(), 'MTS')) + end + end else + Return + end + end else if (CassSchedWafers NE WafersOut) then + // Inform user + Title = 'Process Error' + ErrorMsg = 'Scheduled Wafers Quantity does not equal the Wafers Out Quantity.':CRLF$ + ErrorMsg := 'Override not allowed due to spec type.' + Response = Msg(@Window, '', 'OK', '', Title:@FM:ErrorMsg) + return + end end - ********************************* * Verify NCR total >= USL Fails * *********************************