Updated Method to determine if test wafer is required.

This commit is contained in:
Infineon\Ouellette
2025-01-30 14:51:45 -07:00
committed by Ouellette Jonathan (CSC FI SPS MESLEO)
parent 2768c1e7f9
commit 0da14ae4ae
2 changed files with 155 additions and 42 deletions

View File

@ -89,7 +89,7 @@ Declare subroutine Dialog_Box, Qa_Services, Obj_React_Ll, Start_Window, obj_Reac
Declare subroutine Lot_Services
Declare function Dialog_Box, Msg, MemberOf, obj_WO_Mat, Database_Services, Get_Property, obj_React_Status, Get_Status
Declare function QA_Services, Database_Services, Rds_Services, Obj_Calendar, Override_Log_Services, Max, Supplement_Services
Declare function Datetime
Declare function Datetime, Test_Run_Services
SubclassInfo = Form_Services('FindSubclassControl')
Subclass = SubclassInfo<1>
@ -351,9 +351,63 @@ Event PUB_SIGN.CLICK()
If (Valid EQ True$) then
if XLATE('APP_INFO', 'NEW_TW_SYSTEM_ACTIVE_SWITCH', 1, 'X') EQ True$ then
UsingTestWafers = False$
if ReactorType NE 'EPP' then
UsingTestWafers = Msg(@Window, '', 'YESNO', '', 'Log Test Wafer Usage':@FM:'Are any test wafers loaded?')
end
ExistingTestWafersLogged = Test_Run_Services('GetTestRunKeysByRDS', RdsNo)
If ExistingTestWafersLogged EQ '' then
if ReactorType NE 'EPP' then
UsingTestWafers = Msg(@Window, '', 'YESNO', '', 'Log Test Wafer Usage':@FM:'Are any test wafers loaded?')
end
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
If IsTWReqd then
UserMsg = "Unable to sign load because test wafer logging is required on this run. A supervisor or lead may override."
OverrideGroups = 'LEAD':@VM:'SUPERVISOR':@VM:'ENGINEERING':@VM:'ENG_TECH'
UserVerification = Dialog_Box('NDW_VERIFY_USER', @WINDOW, @USER4:@FM:OverrideGroups:@FM:'':@FM:UserMsg)
Override = UserVerification<1>
If Override then
QA_Services('SignLoadStage', RDSNo, @USER4, WfrQty, LLSide)
end
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
if IsTWReqd EQ False$ then
QA_Services('SignLoadStage', RDSNo, @USER4, WfrQty, LLSide)
end else
UserMsg = "Unable to sign load because test wafer logging is required on this run. A supervisor or lead may override."
OverrideGroups = 'LEAD':@VM:'SUPERVISOR':@VM:'ENGINEERING':@VM:'ENG_TECH'
UserVerification = Dialog_Box('NDW_VERIFY_USER', @WINDOW, @USER4:@FM:OverrideGroups:@FM:'':@FM:UserMsg)
Override = UserVerification<1>
If Override then
QA_Services('SignLoadStage', RDSNo, @USER4, WfrQty, LLSide)
end
end
end
end else
QA_Services('SignLoadStage', RDSNo, @USER4, WfrQty, LLSide)
end
end else
QA_Services('SignLoadStage', RDSNo, @USER4, WfrQty, LLSide)
end
end
end else
if XLATE('APP_INFO', 'NEW_TW_SYSTEM_ACTIVE_SWITCH', 1, 'X') EQ True$ then
UsingTestWafers = False$
ExistingTestWafersLogged = Test_Run_Services('GetTestRunKeysByRDS', RdsNo)
If ExistingTestWafersLogged EQ '' then
if ReactorType NE 'EPP' then
UsingTestWafers = Msg(@Window, '', 'YESNO', '', 'Log Test Wafer Usage':@FM:'Are any test wafers loaded?')
end
IsTWReqd = RDS_Services('IsTWLoggingReqd', RDSNo)
If UsingTestWafers then
TWLogResult = Dialog_Box('NDW_LOG_TEST_WAFER_USAGE', @Window, RDSNo : @VM : 'STANDARD' : @VM : 'REACTOR' : @VM : Reactor)
@ -361,7 +415,13 @@ Event PUB_SIGN.CLICK()
QA_Services('SignLoadStage', RDSNo, @USER4, WfrQty, LLSide)
end else
If IsTWReqd then
Msg(@Window, 'Unable to sign load because test wafer logging is required on this run.')
UserMsg = "Unable to sign load because test wafer logging is required on this run. A supervisor or lead may override."
OverrideGroups = 'LEAD':@VM:'SUPERVISOR':@VM:'ENGINEERING':@VM:'ENG_TECH'
UserVerification = Dialog_Box('NDW_VERIFY_USER', @WINDOW, @USER4:@FM:OverrideGroups:@FM:'':@FM:UserMsg)
Override = UserVerification<1>
If Override then
QA_Services('SignLoadStage', RDSNo, @USER4, WfrQty, LLSide)
end
end else
ContinueLoad = Msg(@Window, '', 'YESNO', '', 'Continue?':@FM:'Test wafer logging was cancelled. Do you wish to continue signing?')
If ContinueLoad then
@ -373,27 +433,20 @@ Event PUB_SIGN.CLICK()
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.')
UserMsg = "Unable to sign load because test wafer logging is required on this run. A supervisor or lead may override."
OverrideGroups = 'LEAD':@VM:'SUPERVISOR':@VM:'ENGINEERING':@VM:'ENG_TECH'
UserVerification = Dialog_Box('NDW_VERIFY_USER', @WINDOW, @USER4:@FM:OverrideGroups:@FM:'':@FM:UserMsg)
Override = UserVerification<1>
If Override then
QA_Services('SignLoadStage', RDSNo, @USER4, WfrQty, LLSide)
end
end
end
end else
QA_Services('SignLoadStage', RDSNo, @USER4, WfrQty, LLSide)
end
end
end else
UsingTestWafers = Msg(@Window, '', 'YESNO', '', 'Log Test Wafer Usage':@FM:'Are any test wafers loaded?')
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)
end
end
end else
QA_Services('SignLoadStage', RDSNo, @USER4, WfrQty, LLSide)
end
end else
QA_Services('SignLoadStage', RDSNo, @USER4, WfrQty, LLSide)
end
@ -720,3 +773,4 @@ return