Modified UpdateQAMet service to support reactor scheduled metrology tests

This commit is contained in:
Infineon\StieberD
2025-09-25 15:33:11 -07:00
committed by Stieber Daniel (CSC FI SPS MESLEO)
parent f07e4476a7
commit 245f832445
4 changed files with 422 additions and 366 deletions

View File

@ -2035,9 +2035,10 @@ RETURN
GetQAMet:
* * * * * * *
PSNo = Parms[1,@RM]
PSRec = Parms[COL2()+1,@RM]
ReactSchedFlag = Parms[COL2()+1,@RM]
PSNo = Parms[1,@RM]
PSRec = Parms[COL2()+1,@RM]
ReactSchedFlag = Parms[COL2()+1,@RM]
AllSchedFlag = Parms[COL2()+1,@RM]
GOSUB StageSortKeys
@ -2055,12 +2056,11 @@ GetQAMet:
FOR TestNo = 1 TO MetCnt
IF PSStageRec<PRS_STAGE_MET_TEST$,TestNo> NE '' THEN
IF (PSStageRec<PRS_STAGE_MET_TEST$,TestNo> NE '') THEN
IF ReactSchedFlag = 1 THEN
IF PSStageRec<PRS_STAGE_MET_REACT_SCHED$,TestNo> = 1 THEN
Begin Case
Case AllSchedFlag
// Return all scheduled metrology
ResLineCnt += 1
Result<COL$QA_MET_STAGE,ResLineCnt> = FIELD(PSStageKey,'*',2)
Result<COL$QA_MET_TEST,ResLineCnt> = PSStageRec<PRS_STAGE_MET_TEST$,TestNo>
@ -2077,36 +2077,56 @@ GetQAMet:
Result<COL$QA_MET_WFR_QTY,ResLineCnt> = PSStageRec<PRS_STAGE_MET_WFR_QTY$,TestNo>
Result<COL$QA_MET_WFR_TYPE,ResLineCnt> = PSStageRec<PRS_STAGE_MET_WFR_TYPE$,TestNo> ;* Possible Future
Result<COL$QA_MET_SHIP_DOC,ResLineCnt> = PSStageRec<PRS_STAGE_MET_SHIP_DOC$,TestNo> ;* 12/3/2016 JCH for Mark
Result<COL$QA_MET_PHASE_MIN,ResLineCnt> = PSStageRec<PRS_STAGE_MET_PHASE_MIN$,TestNo>
Result<COL$QA_MET_PHASE_MIN,ResLineCnt> = PSStageRec<PRS_STAGE_MET_PHASE_MIN$,TestNo>
END
END ELSE
ResLineCnt += 1
Result<COL$QA_MET_STAGE,ResLineCnt> = FIELD(PSStageKey,'*',2)
Result<COL$QA_MET_TEST,ResLineCnt> = PSStageRec<PRS_STAGE_MET_TEST$,TestNo>
Result<COL$QA_MET_PROP,ResLineCnt> = PSStageRec<PRS_STAGE_MET_PROP$,TestNo>
Result<COL$QA_MET_TOOL_CLASS,ResLineCnt> = PSStageRec<PRS_STAGE_MET_TOOL_CLASS$,TestNo>
Result<COL$QA_MET_RECIPE,ResLineCnt> = PSStageRec<PRS_STAGE_MET_RECIPE$,TestNo>
Result<COL$QA_MET_RECIPE_PATTERN,ResLineCnt> = PSStageRec<PRS_STAGE_MET_RECIPE_PATTERN$,TestNo>
Result<COL$QA_MET_MIN,ResLineCnt> = PSStageRec<PRS_STAGE_MET_MIN$,TestNo>
Result<COL$QA_MET_MAX,ResLineCnt> = PSStageRec<PRS_STAGE_MET_MAX$,TestNo>
Result<COL$QA_MET_SLOT,ResLineCnt> = PSStageRec<PRS_STAGE_MET_SLOT$,TestNo>
Result<COL$QA_MET_REACT_SCHED,ResLineCnt> = PSStageRec<PRS_STAGE_MET_REACT_SCHED$,TestNo>
Result<COL$QA_MET_INTERVAL,ResLineCnt> = PSStageRec<PRS_STAGE_MET_INTERVAL$,TestNo>
Result<COL$QA_MET_START,ResLineCnt> = PSStageRec<PRS_STAGE_MET_START$,TestNo>
Result<COL$QA_MET_WFR_QTY,ResLineCnt> = PSStageRec<PRS_STAGE_MET_WFR_QTY$,TestNo>
Result<COL$QA_MET_WFR_TYPE,ResLineCnt> = PSStageRec<PRS_STAGE_MET_WFR_TYPE$,TestNo> ;* Possible future
Result<COL$QA_MET_SHIP_DOC,ResLineCnt> = PSStageRec<PRS_STAGE_MET_SHIP_DOC$,TestNo> ;* 12/3/2016 JCH for Mark
Result<COL$QA_MET_PHASE_MIN,ResLineCnt> = PSStageRec<PRS_STAGE_MET_PHASE_MIN$,TestNo>
END ;* End of check for ReactSchedFlag
Case ReactSchedFlag
// Just return reactor scheduled metrology
IF (PSStageRec<PRS_STAGE_MET_REACT_SCHED$,TestNo> EQ True$) THEN
ResLineCnt += 1
Result<COL$QA_MET_STAGE,ResLineCnt> = FIELD(PSStageKey,'*',2)
Result<COL$QA_MET_TEST,ResLineCnt> = PSStageRec<PRS_STAGE_MET_TEST$,TestNo>
Result<COL$QA_MET_PROP,ResLineCnt> = PSStageRec<PRS_STAGE_MET_PROP$,TestNo>
Result<COL$QA_MET_TOOL_CLASS,ResLineCnt> = PSStageRec<PRS_STAGE_MET_TOOL_CLASS$,TestNo>
Result<COL$QA_MET_RECIPE,ResLineCnt> = PSStageRec<PRS_STAGE_MET_RECIPE$,TestNo>
Result<COL$QA_MET_RECIPE_PATTERN,ResLineCnt> = PSStageRec<PRS_STAGE_MET_RECIPE_PATTERN$,TestNo>
Result<COL$QA_MET_MIN,ResLineCnt> = PSStageRec<PRS_STAGE_MET_MIN$,TestNo>
Result<COL$QA_MET_MAX,ResLineCnt> = PSStageRec<PRS_STAGE_MET_MAX$,TestNo>
Result<COL$QA_MET_SLOT,ResLineCnt> = PSStageRec<PRS_STAGE_MET_SLOT$,TestNo>
Result<COL$QA_MET_REACT_SCHED,ResLineCnt> = PSStageRec<PRS_STAGE_MET_REACT_SCHED$,TestNo>
Result<COL$QA_MET_INTERVAL,ResLineCnt> = PSStageRec<PRS_STAGE_MET_INTERVAL$,TestNo>
Result<COL$QA_MET_START,ResLineCnt> = PSStageRec<PRS_STAGE_MET_START$,TestNo>
Result<COL$QA_MET_WFR_QTY,ResLineCnt> = PSStageRec<PRS_STAGE_MET_WFR_QTY$,TestNo>
Result<COL$QA_MET_WFR_TYPE,ResLineCnt> = PSStageRec<PRS_STAGE_MET_WFR_TYPE$,TestNo> ;* Possible Future
Result<COL$QA_MET_SHIP_DOC,ResLineCnt> = PSStageRec<PRS_STAGE_MET_SHIP_DOC$,TestNo> ;* 12/3/2016 JCH for Mark
Result<COL$QA_MET_PHASE_MIN,ResLineCnt> = PSStageRec<PRS_STAGE_MET_PHASE_MIN$,TestNo>
END
Case Otherwise$
// Just return work order scheduled metrology
IF (PSStageRec<PRS_STAGE_MET_REACT_SCHED$,TestNo> NE True$) THEN
ResLineCnt += 1
Result<COL$QA_MET_STAGE,ResLineCnt> = FIELD(PSStageKey,'*',2)
Result<COL$QA_MET_TEST,ResLineCnt> = PSStageRec<PRS_STAGE_MET_TEST$,TestNo>
Result<COL$QA_MET_PROP,ResLineCnt> = PSStageRec<PRS_STAGE_MET_PROP$,TestNo>
Result<COL$QA_MET_TOOL_CLASS,ResLineCnt> = PSStageRec<PRS_STAGE_MET_TOOL_CLASS$,TestNo>
Result<COL$QA_MET_RECIPE,ResLineCnt> = PSStageRec<PRS_STAGE_MET_RECIPE$,TestNo>
Result<COL$QA_MET_RECIPE_PATTERN,ResLineCnt> = PSStageRec<PRS_STAGE_MET_RECIPE_PATTERN$,TestNo>
Result<COL$QA_MET_MIN,ResLineCnt> = PSStageRec<PRS_STAGE_MET_MIN$,TestNo>
Result<COL$QA_MET_MAX,ResLineCnt> = PSStageRec<PRS_STAGE_MET_MAX$,TestNo>
Result<COL$QA_MET_SLOT,ResLineCnt> = PSStageRec<PRS_STAGE_MET_SLOT$,TestNo>
Result<COL$QA_MET_REACT_SCHED,ResLineCnt> = PSStageRec<PRS_STAGE_MET_REACT_SCHED$,TestNo>
Result<COL$QA_MET_INTERVAL,ResLineCnt> = PSStageRec<PRS_STAGE_MET_INTERVAL$,TestNo>
Result<COL$QA_MET_START,ResLineCnt> = PSStageRec<PRS_STAGE_MET_START$,TestNo>
Result<COL$QA_MET_WFR_QTY,ResLineCnt> = PSStageRec<PRS_STAGE_MET_WFR_QTY$,TestNo>
Result<COL$QA_MET_WFR_TYPE,ResLineCnt> = PSStageRec<PRS_STAGE_MET_WFR_TYPE$,TestNo> ;* Possible Future
Result<COL$QA_MET_SHIP_DOC,ResLineCnt> = PSStageRec<PRS_STAGE_MET_SHIP_DOC$,TestNo> ;* 12/3/2016 JCH for Mark
Result<COL$QA_MET_PHASE_MIN,ResLineCnt> = PSStageRec<PRS_STAGE_MET_PHASE_MIN$,TestNo>
END
End Case
END
NEXT TestNo
NEXT N
RETURN