COMPILE SUBROUTINE Print_WO( WONo, Confirmation ) DECLARE FUNCTION Set_Printer, Get_Printer, Msg, Printer_Select, obj_Install $INSERT OIPRINT_EQUATES $INSERT MSG_EQUATES $INSERT WO_LOG_EQUATES $INSERT WO_STEP_EQUATES $INSERT WO_MAT_EQUATES $INSERT COMPANY_EQUATES $INSERT EPI_PART_EQUATES $INSERT PROD_VER_EQUATES $INSERT APPCOLORS $INSERT COC_EQUATES EQU PI$LEFT TO 1 EQU PI$TOP TO 2 EQU PI$RIGHT TO 3 EQU PI$BOTTOM TO 4 EQU PI$WIDTH TO 5 EQU PI$HEIGHT TO 6 EQU PI$SIZE TO 7 IF NOT(ASSIGNED(WONo)) THEN RETURN IF NOT(ASSIGNED(Confirmation)) THEN Confirmation = '' * * * PRINT SETUP * * * FileName = "Printing" FileName<2> = '' FileName<3> = 0 FileName<4> = '' PrintTitle = "Work Order" PrintTitle<2> = "WO Preview" PrintTitle<3> = "&Cancel" PrintTitle<4> = '' PrintTitle<5> = '' PageInfo = '' PageInfo = 0.25 ;* Margins PageInfo = 1.35 PageInfo = 0.25 PageInfo = 0.50 PageSetup = 1 ;* 1 = Landscape mode PrintSetup = '' PrintSetup<1,1> = '2' ;* Preview Normal PrintSetup<1,2> = '5' ;* Display all buttons except Printer Setup PrintSetup<1,3> = '0' ;* Display Printing Window PrintSetup<1,6> = '7' ;* Preview window - keyboard and mouse support stat = Set_Printer("INIT",FileName,PrintTitle,PageInfo,PageSetup,PrintSetup) font = 'Arial' ;* Font basics font<2> = 10 font<4> = 0 stat = Set_Printer('FONTHEADFOOT', font) stat = Set_Printer('FOOTER',"Page 'P' ":@VM:@VM:"'T' 'D'") stat = Set_Printer('LINESTYLE', PS_SOLID:@FM:2) stat = Set_Printer('LINE', -0.1:@FM:-1.2:@FM:10.50:@FM:-1.2, 1) stat = Set_Printer('LINE', -0.1:@FM:-0.1:@FM:10.50:@FM:-0.1, 1) location = -.15:@fm:-1.150:@fm:1.57:@fm:1 stat = Set_Printer('BMP',obj_Install('Get_Prop','ColorBMP'),location, 0,1) * * * * Added 10/8/2015 JCH - Updated 'CONFIG','COMPANY' * * * * InstDat = obj_Install('Get_Prop','Company':@FM:'Division') Company = InstDat<1> Division = InstDat<2> font = 'Arial' font<2> = '12' ;* Big type font<4> = 1 ;* Bold on font<5> = 0 ;* Italics stat = Set_Printer('TEXTXY',Company,5.7:@FM:-1.15,font,1) stat = Set_Printer('TEXTXY',Division,5.7:@FM:-0.970,font,1) font<2> = 10 ;* 10 point font font<4> = 0 ;* Bold off font<5> = 0 ;* Italics Off stat = Set_Printer('TEXTXY',obj_Install('Get_Prop','Address'), 5.7:@fm:-0.775, font,1) stat = Set_Printer('TEXTXY',obj_Install('Get_Prop','CSZC'), 5.7:@fm:-0.625, font,1) stat = Set_Printer('TEXTXY','Tel: ':obj_Install('Get_Prop','Phone'), 5.7:@fm:-0.475, font, 1) stat = Set_Printer('TEXTXY','FAX: ':obj_Install('Get_Prop','FAX'), 5.7:@fm:-0.325, font, 1) * * * * End of changes 10/8/2015 JCH * * * * stat = Set_Printer('TEXTXY','WO No: ':WONo,4.25:@FM:-0.325,font,1) font<2> = '18' ;* Big type font<4> = 1 ;* Bold on font<5> = 1 ;* Italics IF Confirmation THEN stat = Set_Printer('TEXTXY','Confirmation of Work Order',3.0:@FM:-0.8,font,1) END ELSE stat = Set_Printer('TEXTXY','Work Order',4.00:@FM:-0.8,font,1) END WORec = XLATE('WO_LOG',WONo,'','X') * Received from SAP ProdOrderNo = WORec CustPONo = WORec PromiseShipDt = WORec EpiPartNo = WORec OrdSubPartNo = WORec OrdSubPartRev = WORec SAPOrdQty = WORec * Customer notification and routing ProdVerNo = WORec CustPartNo = WORec CustPartInbound = WORec CustSubPartNo = WORec CustSubMfr = WORec CustLotNos = WORec CustLotQtys = WORec WOCustNo = WORec ShipToCustNo = WOCustNo BillToCustNo = XLATE('COMPANY',ShipToCustNo,COMPANY_BILL_TO_CUST_NO$,'X') CustShipToInfo = XLATE('COMPANY',ShipToCustNo,'SHIP_TO_INFO','X') IF BillToCustNo = '' THEN CustBillToInfo = XLATE('COMPANY',ShipToCustNo,'BILL_TO_INFO','X') END ELSE CustBillToInfo = XLATE('COMPANY',BillToCustNo,'BILL_TO_INFO','X') END SWAP @VM WITH CRLF$ IN CustBillToInfo SWAP @VM WITH CRLF$ IN CustShipToInfo SWAP @VM WITH CRLF$ IN CustLotNos SWAP @VM WITH CRLF$ IN CustLotQtys WODetail = '' FirstWOMatKey = WORec FirstWOMatRec = XLATE('WO_MAT',FirstWOMatKey,'','X') RxDTM = FirstWOMatRec RelDTM = FirstWOMatRec WOStepKeys = WORec WODetail<1,1> = OCONV(RxDTM,'DT2/^HS') WODetail<1,2> = OCONV(RelDTM,'DT2/^HS') FOR N = 1 TO COUNT(WOStepKeys,@VM) + (WOStepKeys NE '') WOStepKey = WOStepKeys<1,N> WOStepRec = XLATE('WO_STEP',WOStepKey,'','X') StepNo = FIELD(WOStepKey,'*',2) StepPSN = WOStepRec StepDesc = WOStepRec WODetail<1,3,N> = StepNo WODetail<1,4,N> = StepPSN WODetail<1,5,N> = StepDesc NEXT N SWAP @SVM WITH CRLF$ IN WODetail colHeader = 'WO No' ; colFormat = '^1800' colHeader<1,2> = 'Prod Order No' ; colFormat<1,2> = '^1800' colHeader<1,3> = 'Cust PO No' ; colFormat<1,3> = '^1800' colHeader<1,4> = 'Ship Date' ; colFormat<1,4> = '^1800' colHeader<1,5> = 'Epi Part No' ; colFormat<1,5> = '^1800' colHeader<1,6> = 'Sub Part No' ; colFormat<1,6> = '^1800' colHeader<1,7> = 'Sub Part Rev' ; colFormat<1,7> = '^1800' colHeader<1,8> = 'SAP Ord Qty' ; colFormat<1,8> = '^1800' colData = WONo colData<1,2> = ProdOrderNo colData<1,3> = CustPONo colData<1,4> = OCONV(PromiseShipDt,'D4/') colData<1,5> = EpiPartNo colData<1,6> = OrdSubPartNo colData<1,7> = OrdSubPartRev colData<1,8> = SAPOrdQty font = 'Arial' ;* Font basics font<2> = 8 font<4> = 0 TableFormat = TB_ALL HeaderFormat = TB_ALL TablePos = 'L' HdrShade = LTGREY$ PrintHeads = 1 BoldHeader = 0 ULHeader = 0 ItalicHeader = 0 PrintHeads = 1 * Basic Order Information GOSUB PrintTable stat = Set_Printer('TEXT') * Bill to and Ship to Information * colHeader = 'Bill To' ; colFormat = '<5400' colHeader<1,2> = 'Ship To' ; colFormat<1,2> = '<5400' colData = CustBillToInfo colData<1,2> = CustShipToInfo PrintHeads = 1 GOSUB PrintTable stat = Set_Printer('TEXT') stat = Set_Printer('TEXT') * Order Detail Information * colHeader = 'Prod Ver No' ; colFormat = '^1080' colHeader<1,2> = 'Description' ; colFormat<1,2> = '<2700' colHeader<1,3> = 'Cust Part No' ; colFormat<1,3> = '^1800' colHeader<1,4> = 'Cust Part Inbound' ; colFormat<1,4> = '^1800' colHeader<1,5> = 'Cust Sub Part No' ; colFormat<1,5> = '^1800' colHeader<1,6> = 'Cust Sub Mfr' ; colFormat<1,6> = '^1800' colHeader<1,7> = 'Lot No' ; colFormat<1,7> = '^1800' colHeader<1,8> = 'Lot Qty' ; colFormat<1,8> = '>720' Desc = XLATE('PROD_VER',ProdVerNo,PROD_VER_DESC$,'X') IF Desc = '' THEN Desc = XLATE('EPI_PART',EpiPartNo,EPI_PART_EPI_PART_DESC$,'X') END colData = ProdVerNo colData<1,2> = Desc colData<1,3> = CustPartNo colData<1,4> = CustPartInbound colData<1,5> = CustSubPartNo colData<1,6> = CustSubMfr colData<1,7> = CustLotNos colData<1,8> = CustLotQtys fontSpacing = 120 PrintHeads = 1 GOSUB PrintTable stat = Set_Printer('TEXT') stat = Set_Printer('TEXT') * * * * * * Print Work Order Detail * * * * * * colHeader = 'Received' ; colFormat = '<2160' colHeader<1,2> = 'Released' ; colFormat<1,2> = '<2160' colHeader<1,3> = 'WO Step' ; colFormat<1,3> = '^720' colHeader<1,4> = 'Step PSN' ; colFormat<1,4> = '^1080' colHeader<1,5> = 'Step Description' ; colFormat<1,5> = '<2440' * Customer notification and routing colData = WODetail fontSpacing = 120 TableFormat = TB_ALL PrintHeads = 1 GOSUB PrintTable Void = Set_Printer('TERM') RETURN * * * * * * PrintTable: * * * * * * FOR I = 1 TO COUNT(colData,@FM) + (colData NE '') stat = Set_Printer('CALCTABLE',colFormat:@FM:colData) TableSize = Get_Printer('CALCTABLE') TableHeight = TableSize<2> YPos = Get_Printer('POS')<2> IF YPos + TableHeight > 9.0 THEN FirstLine = 0 stat = Set_Printer('PAGEBREAK') font<2> = 8 IF BoldHeader THEN font<4> = 1 ELSE font<4> = 0 IF ULHeader THEN font<6> = 1 ELSE font<6> = 0 IF ItalicHeader THEN font<5> = 1 ELSE font<5> = 0 stat = Set_Printer('FONT',font,'100') IF HeaderFormat = '' THEN HeaderFormat = TableFormat stat = Set_Printer('ADDTABLE',colFormat,colHeader,'',HdrShade,'',0,HeaderFormat:@FM:TablePos) font<4> = 0 font<5> = 0 font<6> = 0 stat = Set_Printer('FONT',font,fontSpacing) stat = Set_Printer('ADDTABLE',colFormat,'',colData,HdrShade,'',0,TableFormat:@FM:TablePos) END ELSE IF PrintHeads THEN IF BoldHeader THEN font<4> = 1 ELSE font<4> = 0 IF ULHeader THEN font<6> = 1 ELSE font<6> = 0 IF ItalicHeader THEN font<5> = 1 ELSE font<5> = 0 stat = Set_Printer('FONT',font,'100') IF HeaderFormat = '' THEN HeaderFormat = TableFormat stat = Set_Printer('ADDTABLE',colFormat,colHeader,'',HdrShade,'',0,HeaderFormat:@FM:TablePos) PrintHeads = 0 END font<2> = 8 font<4> = 0 font<5> = 0 font<6> = 0 stat = Set_Printer('FONT',font,fontSpacing) stat = Set_Printer('ADDTABLE',colFormat,'',colData,HdrShade,'',1,TableFormat:@FM:TablePos) END NEXT I RETURN