Adjusted COC PDF generation to include/exclude zones.

This commit is contained in:
Infineon\Ouellette 2024-12-16 15:59:19 -07:00 committed by Ouellette Jonathan (CSC FI SPS MESLEO)
parent 4704ef828f
commit dd178e1251

View File

@ -2,7 +2,7 @@ COMPILE SUBROUTINE Print_Coc_Back( PrintRDSNos, WMOutKeys, Prelim, EmailAddresse
#pragma precomp SRP_PreCompiler
DECLARE FUNCTION FieldCount, Msg, Key_Sort, Set_Printer, obj_RDS
DECLARE FUNCTION Calc_WO_Stats, Get_Printer, obj_NCR, obj_WO_Mat_QA
DECLARE FUNCTION Calc_WO_Stats, Get_Printer, obj_NCR, obj_WO_Mat_QA, Database_Services
DECLARE SUBROUTINE Btree.Extract
@ -462,22 +462,20 @@ END ELSE
TotCustPost = 0
ShipTotHgCvSRP = 0
HgCvSRPSummary = ''
RejectSummary = ''
RejString = ''
ShipHgCvSRPSummary = ''
NCRKeys = ''
RunNos = ''
HgCvSRPSummary = ''
RejectSummary = ''
RejString = ''
ShipHgCvSRPSummary = ''
NCRKeys = ''
RunNos = ''
FOR I = 1 TO RDSCnt
thisRDSNo = RDSNos<1,I>
thisRDSNo = RDSNos<1,I>
ThisRdsRec = XLATE( 'RDS', thisRDSNo, '', 'X' )
ThisRdsRec = XLATE( 'RDS', thisRDSNo, '', 'X' )
WONo = ThisRdsRec<RDS_WO$> ;* SAP update
CassNo = ThisRdsRec<RDS_CASS_NO$> ;* SAP update
SAPBatchNo = XLATE('WO_MAT',WONo:'*':CassNo,WO_MAT_SAP_BATCH_NO$,'X') ;* SAP update
SAPBatchNo = XLATE('WO_MAT',WONo:'*':CassNo,WO_MAT_SAP_BATCH_NO$,'X') ;* SAP update
HrsReceivedToShip = XLATE( 'RDS', thisRDSNo, 'HRS_EPITRONICS_FAB', 'X' )
PartNo = ThisRdsRec<RDS_PART_NUM$>
@ -496,15 +494,71 @@ END ELSE
AllTWKeys = ''
MetKeys = XLATE('RDS',thisRDSNo,'MET_KEYS','X')
MetKeysZ1 = XLATE('RDS',thisRDSNo,'MET_KEYS_Z1','X')
MetKeysZ2 = XLATE('RDS',thisRDSNo,'MET_KEYS_Z2','X')
UseZone1Data = 0
UseZone2Data = 0
ThisRDSPocketProfile = ThisRDSRec<RDS_POCKET$>
ThisRDSPocketChar = ThisRDSRec<RDS_POCKET_CHAR$>
ThisRDSPocketZone = ThisRDSRec<RDS_ZONE$>
ThisRDSPocketNCR = ThisRDSRec<RDS_OUT_NCR$>
ThisRDSPocketOutCass = ThisRDSRec<RDS_OUT_CASS_NO$>
for each RDSPocket in ThisRDSPocketProfile using @VM setting RDSPocketPos
WaferPocketChar = ThisRDSPocketChar<1, RDSPocketPos>
if WaferPocketChar NE 'TEST' then
ThisSlotOutCass = ThisRDSPocketOutCass<1,RDSPocketPos>
ThisWMOId = WONo : '*1*' : ThisSlotOutCass
Locate ThisWMOId in WMOutKeys using @VM setting WMOPos then
//Check, does it have an NCR assoiciated
NCRKeyId = ThisRDSPocketNCR<1, RDSPocketPos>
If NCRKeyId EQ '' then
//Get the zone for this pocket.
ThisWfrZone = ThisRDSPocketZone<1, RDSPocketPos>
Begin Case
Case ThisWfrZone EQ 1
UseZone1Data = 1
Case ThisWfrZone EQ 2
UseZone2Data = 1
End Case
end
end else
//It might be found in a WMO if it's a makeup wafer
for each WMOKey in WMOutkeys using @VM setting WMOPos2
ThisWMOutRec = Database_Services('ReadDataRow', 'WM_OUT', WMOKey, 1, 0, 0)
ThisWMOSlotProfile = ThisWMOutRec<WM_OUT_SLOT_NO$>
for each Slot in ThisWMOSlotProfile using @VM setting SlotPos
ThisSlotRDS = ThisWMOutRec<WM_OUT_RDS$, SlotPos>
If ThisSlotRDS EQ thisRDSNo then
ThisSlotInZone = ThisWMOutRec<WM_OUT_ZONE$, SlotPos>
Begin Case
Case ThisSlotInZone EQ 1
UseZone1Data = 1
Case ThisSlotInZone EQ 2
UseZone2Data = 1
End Case
end
Next Slot
Next WMOKey
end
end
Next RDSPocket
MetKeys = ''
MetKeysZ1 = ''
MetKeysZ2 = ''
MetKeys = XLATE('RDS',thisRDSNo,'MET_KEYS','X')
if UseZone1Data then
MetKeysZ1 = XLATE('RDS',thisRDSNo,'MET_KEYS_Z1','X')
end
if UseZone2Data then
MetKeysZ2 = XLATE('RDS',thisRDSNo,'MET_KEYS_Z2','X')
end
IF MetKeys NE '' THEN AllTWKeys<1,-1> = MetKeys
IF MetKeysZ1 NE '' THEN AllTWKeys<1,-1> = MetKeysZ1
IF MetKEysZ2 NE '' THEN AllTWKeys<1,-1> = MetKeysZ2
IF MetKeys NE '' THEN
//Non-EpiPro
FOR L = 1 TO COUNT(MetKeys,@VM) + (MetKeys NE '')
MetKey = MetKeys<1,L>
TestRec = XLATE('RDS_TEST',MetKey,'','X')
@ -532,6 +586,7 @@ END ELSE
IF colData<L,10> = '' THEN colData<L,10> = ResStdDev ELSE colData<L,10> = CRLF$:ResStdDev
NEXT L
END ELSE
//EpiPro
LineCnt = 0
IF MetKeysZ1 NE '' THEN
FOR L = 1 TO COUNT(MetKeysZ1,@VM) + (MetKeysZ1 NE '')
@ -772,3 +827,4 @@ END
RETURN