diff --git a/LSL2/STPROC/PRINT_COC_BACK.txt b/LSL2/STPROC/PRINT_COC_BACK.txt index 30ccd13..9fb7e89 100644 --- a/LSL2/STPROC/PRINT_COC_BACK.txt +++ b/LSL2/STPROC/PRINT_COC_BACK.txt @@ -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 ;* SAP update CassNo = ThisRdsRec ;* 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 @@ -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 + ThisRDSPocketChar = ThisRDSRec + ThisRDSPocketZone = ThisRDSRec + ThisRDSPocketNCR = ThisRDSRec + ThisRDSPocketOutCass = ThisRDSRec + 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 + for each Slot in ThisWMOSlotProfile using @VM setting SlotPos + ThisSlotRDS = ThisWMOutRec + If ThisSlotRDS EQ thisRDSNo then + ThisSlotInZone = ThisWMOutRec + 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 = '' THEN colData = ResStdDev ELSE colData = 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 +