compile SUBROUTINE Print_MB1B_Report( Purge ) DECLARE FUNCTION SECURITY_CHECK, SET_PRINTER, GET_PRINTER, MSG, FIELDCOUNT, ENTID, REPOSITORY, PRINTER_SELECT DECLARE FUNCTION OBJ_INSTALL, Popup DECLARE SUBROUTINE SECURITY_ERR_MSG, RList, ErrMsg,Set_Status $INSERT SECURITY_RIGHTS_EQU $INSERT OIPRINT_EQUATES $INSERT MSG_EQUATES $INSERT COMPANY_EQU $INSERT WO_LOG_EQUATES $INSERT WO_MAT_EQUATES $INSERT SAP_MU_TRANS_EQUATES $INSERT APPCOLORS 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 OPEN 'SAP_MU_TRANS' TO SAPMuTransTable ELSE ErrMsg('Unable to open "SAP_MU_TRANS" in Print_MB1B_Report routine.') RETURN END IF NOT(ASSIGNED(Purge)) THEN Purge = '' IF Purge = 1 THEN DelKeys = Popup(@WINDOW,'','SAP_MU_TRANS_PURGE') IF DelKeys = '' THEN RETURN DelKeyCnt = COUNT(DelKeys,@VM) + (DelKeys NE '') MsgHead = 'Purge SAP Makeup Transactions' MsgText = 'Are you sure you wish to purge selected transactions from the system?' OK = Msg(@WINDOW,'','YESNO','',MsgHead:@FM:MsgText) IF OK = 1 THEN FOR I = 1 TO DelKeyCnt DelKey = DelKeys<1,I> DELETE SAPMuTransTable,DelKey ELSE Null NEXT I END RETURN END SELECT SAPMuTransTable LineCount = 0 DataLines = '' bcDataLines = '' CurrDate = OCONV(Date(),'D4/') CurrTime = OCONV(Time(),'MTH') CurrDTM = ICONV(CurrDate:' ':CurrTime,'DT') Done = 0 LOOP READNEXT TransRecKey ELSE Done =1 UNTIL Done READ TransRec FROM SAPMuTransTable,TransRecKey THEN MUCassNos = TransRec MUCassQtys = TransRec MUBatchNos = XLATE('SAP_MU_TRANS',TransRecKey,'MU_BATCH_NO','X') BatchNo = XLATE('SAP_MU_TRANS',TransRecKey,'BATCH_NO','X') EpiPartNo = XLATE('SAP_MU_TRANS',TransRecKey,'EPI_PART_NO','X') FOR I = 1 TO Count(MUCassNos,@VM) + (MUCassNos NE '') LineCount += 1 DataLines = EpiPartNo ; bcDataLines = '*':EpiPartNo:'*' DataLines = MuCassQtys<1,I> ; bcDataLines = '*':MuCassQtys<1,I>:'*' DataLines = MuCassNos<1,I>:CRLF$:MUBatchNos<1,I> ; bcDataLines = '*':MUBatchNos<1,I>:'*' DataLines = TransRecKey:CRLF$:BatchNo ; bcDataLines = '*':BatchNo:'*' NEXT I TransRec = CurrDTM WRITE TransRec ON SAPMuTransTable,TransRecKey THEN NULL END END REPEAT * SAP "constants" printed at top for scanning into SAP form. MovementType = '311' SAPPlantNo = '1210' LocFinishedGoods = '0500' LocFloorStock = '0400' * * * PRINT SETUP * * * PageInfo = '' PageInfo = 0.5 ;* Margins PageInfo = 1.35 PageInfo = 0.5 PageInfo = 0.50 PageInfo = LETTER PageSetup = 0 ;* 1 = Landscape mode PrintSetup = '' PrintSetup<1,1> = '2' ;* Preview Normal PrintSetup<1,2> = '5' ;* Show Print and PDF, hide Print Setup PrintSetup<1,3> = '0' ;* Show the printing window PDFParms = 'Printing PDF Document':@FM: '' :@FM:'':@FM: '' stat = Set_Printer( 'INIT', PDFParms, 'MB1B Report',PageInfo,PageSetup,PrintSetup) PageSize = Get_Printer('PAGESIZE') PageHeight = PageSize<2> MaxPrintLength = PageHeight - PageInfo - PageInfo font = 'Arial' ;* Font basics font<2> = 10 font<4> = 0 stat = Set_Printer('FONTHEADFOOT', font) stat = Set_Printer('FOOTER',"Page 'P' Received by:__________________________________________ Qty issued:________ ":@VM:@VM:"'T' 'D'") stat = Set_Printer('LINESTYLE', PS_SOLID:@FM:2) stat = Set_Printer('LINE', -0.1:@FM:-1.2:@FM:7.5:@FM:-1.2, 1) stat = Set_Printer('LINE', -0.1:@FM:-0.1:@FM:7.5:@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','Work Order No: ':WONo,2.7:@FM:-0.325,font,1) font<2> = '18' ;* Big type font<4> = 1 ;* Bold on font<5> = 1 ;* Italics stat = Set_Printer('TEXTXY','SAP MB1B Data Report',2.1:@FM:-0.80,font,0) font<2> = 12 ;* Drop the font size font<4> = 0 ;* Bold off font<5> = 0 ;* Italics off colHeader = 'Movement':CRLF$:'Type' ; colFormat = '^1980' colHeader<1,2> = 'Plant NO' ; colFormat<1,2> = '^2520' colHeader<1,3> = 'Floor':CRLF$:'Stock':CRLF$:'Location' ; colFormat<1,3> = '^3240' colHeader<1,4> = 'Finished':CRLF$:'Goods':CRLF$:'Location' ; colFormat<1,4> = '^3240' colData = MovementType ; bcData = '*':MovementType:'*' colData<1,2> = SAPPlantNo ; bcData<1,2> = '*':SAPPlantNo:'*' colData<1,3> = LocFloorStock ; bcData<1,3> = '*':LocFloorStock:'*' colData<1,4> = LocFinishedGoods ; bcData<1,4> = '*':LocFinishedGoods:'*' font = 'Arial' ;* Font basics font<2> = 10 font<4> = 0 TableFormat = TB_ALL HeaderFormat = TB_ALL TablePos = 'L' HdrShade = LTGREY$ PrintHeads = 1 BoldHeader = 0 ULHeader = 0 ItalicHeader = 0 PrintHeads = 1 GOSUB PrintTable bcFont = '' bcFont<1> = '3 of 9 Barcode' bcFont<2> = '18' bcFont<3> = 'R' bcFont<4> = '0' bcFontSpacing = 130 stat = Set_Printer('FONT',bcFont,bcFontSpacing) stat = Set_Printer('ADDTABLE',colFormat,'',bcData,'','',0,'') stat = Set_Printer('FONT',Font,'100') stat = Set_Printer('TEXT') DataLineCnt = COUNT(DataLines,@FM) + (DataLines NE '') bcData = '' FOR M = 1 TO DataLineCnt colHeader = 'EPI Part NO' ; colFormat = '^3420' colHeader<1,2> = 'Wfr Qty' ; colFormat<1,2> = '^1440' colHeader<1,3> = 'Makeup Batch' ; colFormat<1,3> = '^3060' colHeader<1,4> = 'Product Batch' ; colFormat<1,4> = '^3060' font = 'Arial' ;* Font basics font<2> = 10 font<4> = 0 colData = DataLines stat = Set_Printer('ADDTABLE',colFormat,colHeader,'',HdrShade,'',0,HeaderFormat) stat = Set_Printer('ADDTABLE',colFormat,'',coldata,'','',0,TB_ALL) bcData = bcDataLines stat = Set_Printer('FONT',bcFont,bcFontSpacing) stat = Set_Printer('ADDTABLE',colFormat,'',bcData,'','',0,TB_NONE) stat = Set_Printer('FONT',Font,'100') stat = Set_Printer('TEXT') NEXT M Void = Set_Printer('TERM',0) 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 > MaxPrintLength THEN FirstLine = 0 stat = Set_Printer('PAGEBREAK') font<2> = 10 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> = 10 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