Improvements suggested by Daniel.

This commit is contained in:
Infineon\Mitchem
2025-08-18 10:43:33 -07:00
committed by Ouellette Jonathan (CSC FI SPS MESLEO)
parent 3561b41a7b
commit 60522d74c1

View File

@ -422,22 +422,24 @@ end service
Service GetQAMetComplete(WOMatKey)
If WOMatKey NE '' then
Response = ''
QAMetRec = Xlate('WO_MAT_QA', WOMatKey, '', 'X')
Stages = QAMetRec<WO_MAT_QA_STAGE$>
Results = QAMetRec<WO_MAT_QA_RESULT$>
StageCount = Count(Stages, @VM)
For I = 1 to StageCount
If Results<1,I> EQ '' then
Response = False$
If Rowexists('WO_MAT_QA', WOMatKey) then
Response = ''
QAMetRec = Database_Services('ReadDataRow', 'WO_MAT_QA', WOMatKey, '', True$, 0, False$)
Stages = QAMetRec<WO_MAT_QA_STAGE$>
Results = QAMetRec<WO_MAT_QA_RESULT$>
StageCount = Count(Stages, @VM)
For I = 1 to StageCount
If Results<1,I> EQ '' then
Response = False$
end
Until Response EQ False$
Next I
If Response = '' then
Response = Wo_Mat_Qa_Services('GetMUWaferQAComplete', WOMatKey)
end
Next I
MUQAComp = Wo_Mat_Qa_Services('GetMUWaferQAComplete', WOMatKey)
If (Response EQ '') AND (MUQAComp EQ True$) then
end else
Response = True$
end
end else
Error_Services('Add', 'Missing WOMatKey parameter.')
end
@ -448,37 +450,47 @@ end service
Service GetMUWaferQAComplete(WOMatKey)
Response = True$
WOMatRec = Database_Services('ReadDataRow', 'WO_MAT', WoMatKey, True$, 0, False$)
MUBoxes = ''
MUBoxesResults = ''
MUWafers = WOMatRec<WO_MAT_SLOT_MOVED_FROM$>
If Count(MUWafers, @VM) GT 0 then
for each BoxNumber in MUWafers using @VM setting OrigIndex
if BoxNumber NE '' then
MUCassId = FIELD(BoxNumber,'.',1,2)
Locate MUCassId in MUBoxesResults using @VM setting BoxIndex then
MUThkResult = WOMatRec<WO_MAT_MU_WAFER_THK_RESULT$, OrigIndex>
If MUThkResult NE '' then
MUBoxesResults<BoxIndex, 2> = True$
end
end else
MUBoxNewIndex = DCount(MUBoxesResults, @FM)
MUBoxesResults<MUBoxNewIndex> = MUCassID
MUThkResult = WOMatRec<WO_MAT_MU_WAFER_THK_RESULT$, OrigIndex>
If MUThkResult NE '' then
MUBoxesResults<MUBoxNewIndex, 2> = True$
end
end
end
Next BoxNumber
for each Box in MUBoxesResults using @FM
if Box<1,2> EQ '' then
Response = False$
end
Until Response = False$
Next Box
If WOMatKey NE '' then
Response = True$
WOMatRec = Database_Services('ReadDataRow', 'WO_MAT', WoMatKey, True$, 0, False$)
If Error_Services('NoError') then
MUBoxes = ''
MUBoxesResults = ''
MUWafers = WOMatRec<WO_MAT_SLOT_MOVED_FROM$>
Counter = 0
If Count(MUWafers, @VM) GT 0 then
for each BoxNumber in MUWafers using @VM setting OrigIndex
if BoxNumber NE '' then
MUCassId = FIELD(BoxNumber,'.',1,2)
Locate MUCassId in MUBoxesResults using @VM setting BoxIndex then
MUThkResult = WOMatRec<WO_MAT_MU_WAFER_THK_RESULT$, OrigIndex>
If MUThkResult NE '' then
MUBoxesResults<BoxIndex, 2> = True$
end
end else
Counter += 1
MUBoxesResults<Counter> = MUCassID
MUThkResult = WOMatRec<WO_MAT_MU_WAFER_THK_RESULT$, OrigIndex>
If MUThkResult NE '' then
MUBoxesResults<Counter, 2> = True$
end
end
end
Next BoxNumber
for each Box in MUBoxesResults using @FM
if Box<1,2> EQ '' then
Response = False$
end
Until Response = False$
Next Box
end
end else
Error_Services('Add', 'Failed to open WO_MAT record.')
end
end else
Error_Services('Add', 'Missing WOMatKey parameter.')
end
end service