Merged PR 10039: Code to determine if a test wafer usage logging is required.

Description
Created method to determine if a TW is required.

HTR and ASM type reactors will required a test wafer to be logged on runs where a test wafer is prescribed.
ASM+ type reactors will require a test wafer to be logged on one run prior to a run where a test wafer is prescribed for metrology.
This code is gated by an active switch which will be removed when the system goes live.

EpiPro is not effected

Related work items: #222043
This commit is contained in:
Ouellette Jonathan (CSC FI SPS MESLEO) 2025-02-04 18:53:58 +01:00
parent 790d3e7b8c
commit 49c9ab09fd
2 changed files with 568 additions and 603 deletions

File diff suppressed because it is too large Load Diff

View File

@ -788,6 +788,7 @@ Service IsTWLoggingReqd(RDSNo)
RDSRec = Database_Services('ReadDataRow', 'RDS', RDSNo)
WONo = RDSRec<RDS_WO$>
ReactNo = RDSRec<RDS_REACTOR$>
ReactorType = Database_Services('ReadDataColumn', 'REACTOR', ReactNo, REACTOR_REACT_TYPE$, True$, 0, False$)
ThisReactorRunOrder = 0
ReactRDSNos = RDS_Services('GetRDSRunHistoryByReactorAndWO', ReactNo, WONo)
LOCATE RDSNo IN ReactRDSNos USING @VM SETTING ThisReactorRunOrder ELSE Return
@ -808,9 +809,24 @@ Service IsTWLoggingReqd(RDSNo)
CASE MeasureFreq = 'F' AND ThisReactorRunOrder = 1 ; IsTWReqd = 1
CASE ThisReactorRunOrder = Start ; IsTWReqd = 1
CASE NUM(MeasureFreq)
IF MOD(ThisReactorRunOrder,MeasureFreq) - Start = 0 THEN
IsTWReqd = True$
END
Begin Case
Case ReactorType EQ 'HTR'
//Logging required on lot the data gets logged to
IF MOD(ThisReactorRunOrder,MeasureFreq) - Start = 0 THEN
IsTWReqd = True$
END
Case ReactorType EQ 'ASM'
//Logging required on lot the data gets logged to
IF MOD(ThisReactorRunOrder,MeasureFreq) - Start = 0 THEN
IsTWReqd = True$
END
Case ReactorType EQ 'ASM+'
//Logging required on lot prior to the one the data gets logged to.
IF MOD(ThisReactorRunOrder,MeasureFreq) = 0 THEN
IsTWReqd = True$
END
End Case
END CASE
end
Until IsTWReqd EQ True$