Remove override requirement for makeup lots with

wafers out not matching scheduled qty. to fulfill
ADO 225463.
This commit is contained in:
Infineon\Mitchem 2025-02-13 15:00:27 -07:00 committed by Stieber Daniel (CSC FI SPS MESLEO)
parent c53542c746
commit 31d66da7d2

View File

@ -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. 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. See "Verify RDS_TEST record has measurement data" section.
06/13/24 djm Add new stage-specific supplement system. 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 * * Verify Wafer Quantity *
************************* *************************
CassSchedWafers = Get_Property(@Window : '.WAFERS_SCHEDULED', 'TEXT') CassSchedWafers = Get_Property(@Window : '.WAFERS_SCHEDULED', 'TEXT')
WafersOut = Get_Property(@Window : '.WAFERS_OUT', 'TEXT') WafersOut = Get_Property(@Window : '.WAFERS_OUT', 'TEXT')
MakeupBox = Xlate('RDS', RDSNo, 'MAKEUP_BOX', 'X') MakeupBox = Xlate('RDS', RDSNo, 'MAKEUP_BOX', 'X')
SpecType = Xlate('RDS', RDSNo, 'SPEC_TYPE', 'X') SpecType = Xlate('RDS', RDSNo, 'SPEC_TYPE', 'X')
OverrideAllowed = ( (SpecType EQ 'Q') or MakeupBox ) OverrideAllowed = (SpecType EQ 'Q')
If MakeupBox NE True$ then
If ( (CassSchedWafers NE WafersOut) and (OverrideAllowed EQ 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 = 'Unable to sign FQA because the Scheduled' : CRLF$ : 'Qty does not equal the '
Message := 'Wafers Out Qty.' : CRLF$ : 'Lead or supervisor must override.' Message := 'Wafers Out Qty.' : CRLF$ : 'Lead or supervisor must override.'
LeadMessage = 'Scheduled Wafers Quantity does not equal the Wafers Out Quantity.' LeadMessage = 'Scheduled Wafers Quantity does not equal the Wafers Out Quantity.'
If NOT( MemberOf(@USER4, 'LEAD') OR MemberOf(@USER4, 'SUPERVISOR') ) then If NOT( MemberOf(@USER4, 'LEAD') OR MemberOf(@USER4, 'SUPERVISOR') ) then
Response = Msg(@Window, '', 'POST_EPI_WAFER_OUT', '', Message) Response = Msg(@Window, '', 'POST_EPI_WAFER_OUT', '', Message)
end else end else
Response = Msg(@Window, '', 'POST_EPI_WAFER_OUT', '', LeadMessage) Response = Msg(@Window, '', 'POST_EPI_WAFER_OUT', '', LeadMessage)
end end
Begin Case Begin Case
Case Response EQ 1 Case Response EQ 1
Response = True$ ; // User Clicked Override Response = True$ ; // User Clicked Override
Case Response EQ 2 Case Response EQ 2
Response = False$ ; // User Clicked Cancel Response = False$ ; // User Clicked Cancel
Case Response EQ char(27) Case Response EQ char(27)
Response = False$ ; // User Pressed Escape Key Response = False$ ; // User Pressed Escape Key
End Case End Case
If Response EQ True$ then If Response EQ True$ then
Response = Dialog_Box('NDW_VERIFY_USER', @WINDOW, @USER4 : @FM : 'LEAD' : @VM : 'SUPERVISOR') Response = Dialog_Box('NDW_VERIFY_USER', @WINDOW, @USER4 : @FM : 'LEAD' : @VM : 'SUPERVISOR')
Valid = Response<1> Valid = Response<1>
Username = Response<2> Username = Response<2>
If NOT(Valid) then If NOT(Valid) then
Return Return
end else end else
Set_Property(@Window : '.FINAL_QA_WAFER_OUT_SIG', 'DEFPROP', Username) 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_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_DATE', 'DEFPROP', Oconv(Date(), 'D2/'))
Set_Property(@Window : '.FINAL_QA_WAFER_OUT_TIME', 'DEFPROP', Oconv(Time(), 'MTS')) Set_Property(@Window : '.FINAL_QA_WAFER_OUT_TIME', 'DEFPROP', Oconv(Time(), 'MTS'))
end end
end else end else
Return Return
end end
end else if (CassSchedWafers NE WafersOut) then end else if (CassSchedWafers NE WafersOut) then
// Inform user // Inform user
Title = 'Process Error' Title = 'Process Error'
ErrorMsg = 'Scheduled Wafers Quantity does not equal the Wafers Out Quantity.':CRLF$ ErrorMsg = 'Scheduled Wafers Quantity does not equal the Wafers Out Quantity.':CRLF$
ErrorMsg := 'Override not allowed due to spec type.' ErrorMsg := 'Override not allowed due to spec type.'
Response = Msg(@Window, '', 'OK', '', Title:@FM:ErrorMsg) Response = Msg(@Window, '', 'OK', '', Title:@FM:ErrorMsg)
return return
end
end end
********************************* *********************************
* Verify NCR total >= USL Fails * * Verify NCR total >= USL Fails *
********************************* *********************************