Remove override requirement for makeup lots with
wafers out not matching scheduled qty. to fulfill ADO 225463.
This commit is contained in:
parent
c53542c746
commit
31d66da7d2
@ -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 *
|
||||||
*********************************
|
*********************************
|
||||||
|
Loading…
x
Reference in New Issue
Block a user