Implemented suggested changes and added extra error checking

This commit is contained in:
Infineon\Ouellette
2025-08-27 11:51:15 -07:00
parent d61ae234c9
commit 2eff7c5a37
4 changed files with 549 additions and 560 deletions

View File

@ -2333,123 +2333,52 @@ Service UnsignLoadSignatureReady(RDSNo)
end service
Service UnsignLoadSignatureReady(RDSNo)
ErrorMessage = ''
UnsignEligible = True$
If RowExists('RDS', RDSNo) then
RDSRec = Database_Services('ReadDataRow', 'RDS', RDSNo, True$, 0, False$)
If Error_Services('NoError') then
WONo = RDSRec<RDS_WO$>
CassNo = RDSRec<RDS_CASS_NO$>
WoMatKey = WONo : '*' : CassNo
If RowExists('WO_MAT', WoMatKey) then
WOMatCurrStatus = obj_WO_Mat('CurrStatus',WOMatKey)
//Cases to check for various statuses that should block unsigning the unload.
Begin Case
Case WOMatCurrStatus EQ 'HOLD'
ErrorMessage = 'Cassette is on HOLD and may not have the signature removed.'
Case Otherwise$
End Case
If ErrorMessage EQ '' then
//Check if any subsequent signature are set. If so RDS is not eligible.
UnloadExtra1Sig = RDSRec<RDS_OP_OUT_EX1$>
LoadExtra1Sig = RDSRec<RDS_OP_IN_EX2$>
UnloadExtra2Sig = RDSRec<RDS_OP_OUT_EX2$>
LoadExtra2Sig = RDSRec<RDS_OP_IN_EX3$>
UnloadSig = RDSRec<RDS_OPERATOR_OUT$>Xlate('RDS', RDSNo, 'OPERATOR_OUT', 'X')
CISigs = Xlate('RDS', RDSNo, 'LWI_CI_SIG', 'X')
swap @VM with '' in CISigs
ReactorType = XLATE('RDS', RDSNo, 'REACTOR_TYPE', 'X')
If ReactorType NE 'EPP' Then
FQASig = Xlate('RDS', RDSNo, 'SUP_VER_SIG', 'X')
end else
WMOutKey = Xlate('RDS', RDSNo, 'WM_OUT_KEY', 'X')
FQASig = Xlate('WM_OUT', WMOutKey, 'SUP_VER_SIG', 'X')
end
Begin Case
Case FQASig NE ''
ErrorMessage = 'FQA Signature is set.'
Case CISigs NE ''
ErrorMessage = 'Clean and Inspect Signatures are set.'
Case UnloadSig NE ''
ErrorMessage = 'Unload signature is set.'
Case LoadExtra2Sig NE ''
ErrorMessage = 'Load extra 2 signature is set.'
Case UnloadExtra2Sig NE ''
ErrorMessage = 'Unload extra 2 signature is set.'
Case LoadExtra1Sig NE ''
ErrorMessage = 'Load extra 1 signature is set.'
Case UnloadExtra1Sig NE ''
ErrorMessage = 'Unload extra 1 signature is set.'
End Case
end
end else
ErrorMessage = 'Unable to locate the WO_MAT record for this RDS in the WO_MAT table.'
end
end else
ErrorMessage = 'Error reading RDS Record. ' : Error_Services('GetMessage')
end
end else
ErrorMessage = 'Unable to locate RDS in the RDS Table.'
end
If ErrorMessage NE '' then
UnsignEligible = False$
ErrorMessage = 'Process Error: Unable to verify the load signature is Eligible to be unsigned: ' : ErrorMessage
Error_Services('Add', ErrorMessage)
end
Response = UnsignEligible
end service
Service LoadExtra1stReady(RDSNo)
ErrorMsg = ''
Response = False$
RDSRec = Database_Services('ReadDataRow', 'RDS', RDSNo)
StandardLoadSignature = RDSRec<RDS_OPERATOR_IN$>
UnloadExtra1Signature = RDSRec<RDS_OP_OUT_EX1$>
LoadExtra1Signature = RDSRec<RDS_OP_IN_EX2$>
UnloadExtra2Signature = RDSRec<RDS_OP_OUT_EX2$>
LoadExtra2Signature = RDSRec<RDS_OP_IN_EX3$>
StandardUnloadSignature = RDSRec<RDS_OPERATOR_OUT$>
Reactor = RDSRec<RDS_REACTOR$>
If Reactor NE '' then
WONo = RDSRec<RDS_WO$>
Query = 'SELECT REACT_STATE WITH SCHED_WO CONTAINING ':WONo
ClearSelect
Set_Status(0)
RList(Query, TARGET_ACTIVELIST$, '', '' '')
SchedReactors = ''
EOF = False$
Loop
ReadNext SchedReactor else EOF = True$
Until EOF
SchedReactors<0, -1> = SchedReactor
Repeat
if Error_Services('NoError') then
StandardLoadSignature = RDSRec<RDS_OPERATOR_IN$>
UnloadExtra1Signature = RDSRec<RDS_OP_OUT_EX1$>
LoadExtra1Signature = RDSRec<RDS_OP_IN_EX2$>
UnloadExtra2Signature = RDSRec<RDS_OP_OUT_EX2$>
LoadExtra2Signature = RDSRec<RDS_OP_IN_EX3$>
StandardUnloadSignature = RDSRec<RDS_OPERATOR_OUT$>
Reactor = RDSRec<RDS_REACTOR$>
Locate Reactor in SchedReactors using @VM setting vPos else
Swap @VM with ',' in SchedReactors
ErrorMessage = 'Assigned reactor, ':Reactor:', does not equal any scheduled reactor(s), ':SchedReactors:'.'
Error_Services('Set', ErrorMessage)
Response = False$
return
If Reactor NE '' then
WONo = RDSRec<RDS_WO$>
Query = 'SELECT REACT_STATE WITH SCHED_WO CONTAINING ':WONo
GoSub ClearCursors
Set_Status(0)
RList(Query, TARGET_ACTIVELIST$, '', '' '')
SchedReactors = ''
EOF = False$
Loop
ReadNext SchedReactor else EOF = True$
Until EOF
SchedReactors<0, -1> = SchedReactor
Repeat
Locate Reactor in SchedReactors using @VM setting vPos then
If StandardLoadSignature NE '' AND UnloadExtra1Signature NE '' AND LoadExtra1Signature EQ '' And LoadExtra2Signature EQ ''AND UnloadExtra2Signature EQ '' and StandardUnloadSignature EQ '' then
Response = True$
end else
ErrorMsg = 'RDS is not eligible to have Load Extra 1 signed.'
end
end else
Swap @VM with ',' in SchedReactors
ErrorMsg = 'Assigned reactor, ':Reactor:', does not equal any scheduled reactor(s), ':SchedReactors:'.'
end
end
end else
ErrorMsg = Error_Services('GetMessage')
end
If StandardLoadSignature NE '' AND UnloadExtra1Signature NE '' AND LoadExtra1Signature EQ '' And LoadExtra2Signature EQ ''AND UnloadExtra2Signature EQ '' and StandardUnloadSignature EQ '' then
Response = True$
If ErrorMsg NE '' then
Error_Services('Add', ErrorMsg)
end
end service
@ -2457,79 +2386,106 @@ end service
Service UnsignLoadExtra1stReady(RDSNo)
ErrorMsg = ''
Response = False$
RDSRec = Database_Services('ReadDataRow', 'RDS', RDSNo)
StandardLoadSignature = RDSRec<RDS_OPERATOR_IN$>
UnloadExtra1Signature = RDSRec<RDS_OP_OUT_EX1$>
LoadExtra1Signature = RDSRec<RDS_OP_IN_EX2$>
UnloadExtra2Signature = RDSRec<RDS_OP_OUT_EX2$>
LoadExtra2Signature = RDSRec<RDS_OP_IN_EX3$>
StandardUnloadSignature = RDSRec<RDS_OPERATOR_OUT$>
If LoadExtra1Signature NE '' then
If UnloadExtra2Signature EQ '' AND LoadExtra2Signature EQ '' and StandardUnloadSignature EQ '' then
Response = True$
end
if Error_Services('NoError') then
StandardLoadSignature = RDSRec<RDS_OPERATOR_IN$>
UnloadExtra1Signature = RDSRec<RDS_OP_OUT_EX1$>
LoadExtra1Signature = RDSRec<RDS_OP_IN_EX2$>
UnloadExtra2Signature = RDSRec<RDS_OP_OUT_EX2$>
LoadExtra2Signature = RDSRec<RDS_OP_IN_EX3$>
StandardUnloadSignature = RDSRec<RDS_OPERATOR_OUT$>
If LoadExtra1Signature NE '' then
If UnloadExtra2Signature EQ '' AND LoadExtra2Signature EQ '' and StandardUnloadSignature EQ '' then
Response = True$
end
end
end else
ErrorMsg = Error_Services('GetMessage')
end
If ErrorMsg NE '' then
Error_Services('Add', ErrorMsg)
end
end service
Service LoadExtra2ndReady(RDSNo)
ErrorMsg = ''
Response = False$
RDSRec = Database_Services('ReadDataRow', 'RDS', RDSNo)
StandardLoadSignature = RDSRec<RDS_OPERATOR_IN$>
UnloadExtra1Signature = RDSRec<RDS_OP_OUT_EX1$>
LoadExtra1Signature = RDSRec<RDS_OP_IN_EX2$>
UnloadExtra2Signature = RDSRec<RDS_OP_OUT_EX2$>
LoadExtra2Signature = RDSRec<RDS_OP_IN_EX3$>
StandardUnloadSignature = RDSRec<RDS_OPERATOR_OUT$>
Reactor = RDSRec<RDS_REACTOR$>
If Reactor NE '' then
WONo = RDSRec<RDS_WO$>
Query = 'SELECT REACT_STATE WITH SCHED_WO CONTAINING ':WONo
ClearSelect
Set_Status(0)
RList(Query, TARGET_ACTIVELIST$, '', '' '')
SchedReactors = ''
EOF = False$
Loop
ReadNext SchedReactor else EOF = True$
Until EOF
SchedReactors<0, -1> = SchedReactor
Repeat
If Error_Services('NoError') then
StandardLoadSignature = RDSRec<RDS_OPERATOR_IN$>
UnloadExtra1Signature = RDSRec<RDS_OP_OUT_EX1$>
LoadExtra1Signature = RDSRec<RDS_OP_IN_EX2$>
UnloadExtra2Signature = RDSRec<RDS_OP_OUT_EX2$>
LoadExtra2Signature = RDSRec<RDS_OP_IN_EX3$>
StandardUnloadSignature = RDSRec<RDS_OPERATOR_OUT$>
Reactor = RDSRec<RDS_REACTOR$>
Locate Reactor in SchedReactors using @VM setting vPos else
Swap @VM with ',' in SchedReactors
ErrorMessage = 'Assigned reactor, ':Reactor:', does not equal any scheduled reactor(s), ':SchedReactors:'.'
Error_Services('Set', ErrorMessage)
Response = False$
return
If Reactor NE '' then
WONo = RDSRec<RDS_WO$>
Query = 'SELECT REACT_STATE WITH SCHED_WO CONTAINING ':WONo
ClearSelect
Set_Status(0)
RList(Query, TARGET_ACTIVELIST$, '', '' '')
SchedReactors = ''
EOF = False$
Loop
ReadNext SchedReactor else EOF = True$
Until EOF
SchedReactors<0, -1> = SchedReactor
Repeat
Locate Reactor in SchedReactors using @VM setting vPos then
If StandardLoadSignature NE '' AND UnloadExtra1Signature NE '' AND LoadExtra1Signature NE '' AND UnloadExtra2Signature NE '' And LoadExtra2Signature EQ '' and StandardUnloadSignature EQ '' then
Response = True$
end else
ErrorMsg = 'RDS is not eligible to have the Load Extra 2 set.'
end
end else
Swap @VM with ',' in SchedReactors
ErrorMsg = 'Assigned reactor, ':Reactor:', does not equal any scheduled reactor(s), ':SchedReactors:'.'
Response = False$
end
end
end else
ErrorMsg = Error_Services('GetMessage')
end
If StandardLoadSignature NE '' AND UnloadExtra1Signature NE '' AND LoadExtra1Signature NE '' AND UnloadExtra2Signature NE '' And LoadExtra2Signature EQ '' and StandardUnloadSignature EQ '' then
Response = True$
If ErrorMsg NE '' then
Error_Services('Add', ErrorMsg)
end
end service
Service UnsignLoadExtra2ndReady(RDSNo)
ErrorMsg = ''
Response = False$
RDSRec = Database_Services('ReadDataRow', 'RDS', RDSNo)
StandardLoadSignature = RDSRec<RDS_OPERATOR_IN$>
UnloadExtra1Signature = RDSRec<RDS_OP_OUT_EX1$>
LoadExtra1Signature = RDSRec<RDS_OP_IN_EX2$>
UnloadExtra2Signature = RDSRec<RDS_OP_OUT_EX2$>
LoadExtra2Signature = RDSRec<RDS_OP_IN_EX3$>
StandardUnloadSignature = RDSRec<RDS_OPERATOR_OUT$>
If LoadExtra2Signature NE '' then
If StandardUnloadSignature EQ '' then
Response = True$
end
If Error_Services('NoError') then
StandardLoadSignature = RDSRec<RDS_OPERATOR_IN$>
UnloadExtra1Signature = RDSRec<RDS_OP_OUT_EX1$>
LoadExtra1Signature = RDSRec<RDS_OP_IN_EX2$>
UnloadExtra2Signature = RDSRec<RDS_OP_OUT_EX2$>
LoadExtra2Signature = RDSRec<RDS_OP_IN_EX3$>
StandardUnloadSignature = RDSRec<RDS_OPERATOR_OUT$>
If LoadExtra2Signature NE '' then
If StandardUnloadSignature EQ '' then
Response = True$
end
end
end else
ErrorMsg = Error_Services('GetMessage')
end
If ErrorMsg NE '' then
Error_Services('Add', ErrorMsg)
end
end service
@ -3834,10 +3790,14 @@ Service UnsignPreEpiReady(RDSNo)
If UnsignLoadReady then
//Check if LOAD signature is present
LoadSig = Database_Services('ReadDataColumn', 'RDS', RDSNo, RDS_OPERATOR_IN$, True$, 0, False$)
If LoadSig EQ '' then
UnsignPreEpiReady = True$
If Error_Services('NoError') then
If LoadSig EQ '' then
UnsignPreEpiReady = True$
end else
ErrorMsg = 'Load signature is set.'
end
end else
ErrorMsg = 'Load signature is set.'
ErrorMsg = Error_Services('GetMessage')
end
end else
ErrorMsg = 'A signature beyond pre-epi exists. Please check later stages of this RDS.'
@ -3883,3 +3843,4 @@ return