compile SUBROUTINE Print_WO_Release( WONo ) DECLARE FUNCTION SECURITY_CHECK, SET_PRINTER, GET_PRINTER, MSG, FIELDCOUNT, ENTID, REPOSITORY, PRINTER_SELECT DECLARE FUNCTION OBJ_INSTALL DECLARE SUBROUTINE SECURITY_ERR_MSG, ErrMsg $INSERT SECURITY_RIGHTS_EQU $INSERT OIPRINT_EQUATES $INSERT MSG_EQUATES $INSERT QUOTE_EQU $INSERT ORDER_EQU $INSERT ORDER_DET_EQU $INSERT WO_LOG_EQU $INSERT WO_MAT_EQUATES $INSERT APPCOLORS $INSERT COC_EQU 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 WORec = XLATE('WO_LOG',WONo,'','X') * * * PRINT SETUP * * * PageInfo = '' PageInfo = 0.5 ;* Margins PageInfo = 1.35 PageInfo = 0.5 PageInfo = 0.50 PageSetup = 0 ;* 1 = Landscape mode PrintSetup = 2 ;* 0 = Print to printer without Preview stat = Set_Printer("INIT",'Printing','Work Order Release',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: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','Work Order Release',2.2:@FM:-0.80,font,0) font<2> = '10' font<4> = 0 ;* Bold off font<5> = 0 ;* Italics Off stat = Set_Printer('FONT', font) ;* Problem with default font getting set by 'TEXTXY' messages above WORec = XLATE('WO_LOG',WONo,'','X') CustNo = WORec OrderNo = WORec CustBillToInfo = XLATE('ORDER',OrderNo,'BILL_TO_INFO','X') CustShipToInfo = XLATE('ORDER',OrderNo,'SHIP_TO_INFO','X') OrderRec = XLATE('ORDER',OrderNo,'','X') VisionOrderNo = OrderRec PONo = OrderRec POLine = OrderRec PORel = OrderRec WoOrderItems = WORec Quote = XLATE('ORDER_DET',OrderNo:'*':WoOrderItems<1,1>,ORDER_DET_QUOTE_NO$,'X') ;* IF POLine NE '' THEN PONo := CRLF$:'Line ':POLine END IF PORel NE '' THEN PONo := CRLF$:'Rel ':PORel END SWAP @TM WITH CRLF$ IN CustBillToInfo SWAP @TM WITH CRLF$ IN CustShipToInfo CycleTime = WORec BEGIN CASE CASE CycleTime = 'P' ; CycleTime = '2 Days' CASE CycleTime = 'E' ; CycleTime = '7 Days' CASE CycleTime = 'F' ; CycleTime = '14 Days' CASE 1 ; CycleTime = 'Error' END CASE CommitDt = OCONV(WORec,'D4/') CustShipDt = OCONV(WORec,'D4/') RelBy = OCONV(WORec WOStepKeys = WORec WOStepRDSKeys = '' WOStepCnt = COUNT(WOStepKeys,@VM) + (WOStepKeys NE '') FOR I = 1 TO WOStepCnt WOStepKey = WOStepKeys<1,I> WOStepRDSKeys = XLATE('WO_STEP',WOStepKey,6,'X') NEXT I CassDetail = '' FOR I = 1 TO COUNT(WOMatKeys,@VM) + (WOMatKeys NE '') CassNo = FIELD(WOMatKeys<1,I>,'*',2) WOMatRec = XLATE('WO_MAT',WONo:'*':CassNo,'','X') IF NOT(ASSIGNED(RxDTM)) THEN RxDTM = OCONV(WOMatRec,'DT4/^HS') RelDTM = OCONV(WOMatRec,'DT4/^HS') RelBy = OCONV(WOMatRec,'[XLATE_CONV,LSL_USERS*FIRST_LAST]') END CassLine = CassNo:@VM CassLine := WOMatRec:@VM CassLine := WOMatRec:@VM CassLine := WOMatRec:@VM CassLine := WOMatRec:@VM FOR N = 1 TO WOStepCnt CassLine := WOStepRDSKeys:@VM NEXT N IF CassLine[-1,1] = @VM THEN CassLine[-1,1] = '' CassDetail = CassLine NEXT I WOSteps = '' FOR I = 1 TO COUNT(WOStepKeys,@VM) + (WOStepKeys NE '') WOStepKey = WOStepKeys<1,I> WOSteps<1,I> = FIELD(WOStepKey,'*',2) NEXT I WOStepPSNs = XLATE('WO_STEP',WOStepKeys,1,'X') WOStepDescs = XLATE('WO_STEP',WOStepKeys,8,'X') SWAP @VM WITH CRLF$ IN WOSteps SWAP @VM WITH CRLF$ IN WOStepPSNs SWAP @VM WITH CRLF$ IN WOStepDescs * Basic Order Information colHeader = 'Order No' ; colFormat = '^1440' colHeader<1,2> = 'Vision Order No' ; colFormat<1,2> = '^1440' colHeader<1,3> = 'Quote No' ; colFormat<1,3> = '^1440' colHeader<1,4> = 'PO No' ; colFormat<1,4> = '^1800' colHeader<1,5> = 'Step No' ; colFormat<1,5> = '^720' colHeader<1,6> = 'PSN' ; colFormat<1,6> = '^720' colHeader<1,7> = 'Step Description' ; colFormat<1,7> = '<3240' colData = OrderNo colData<1,2> = VisionOrderNo colData<1,3> = Quote colData<1,4> = PONo colData<1,5> = WOSteps colData<1,6> = WOStepPSNs colData<1,7> = WOStepDescs font = 'Arial' ;* Font basics font<2> = 10 font<4> = 1 ;* Bold font<5> = 0 ;* Italic Off stat = Set_Printer('FONT',font) IF stat < 0 THEN GOTO OIPrintErr stat = Set_Printer('ADDTABLE', colFormat,colHeader,'',LTGREY$,'',0,7) ;* Print column headings bold w/grey background font<4> = 0 ;* Bold off stat = Set_Printer('FONT',font) stat = Set_Printer('ADDTABLE',colFormat,'',colData,LTGREY$,'',1,7) ;* Print column data stat = Set_Printer('TEXT') colHeader = 'Received' ; colFormat = '^2520' colHeader<1,2> = 'Released' ; colFormat<1,2> = '^2520' colHeader<1,3> = 'Released By' ; colFormat<1,3> = '^1980' colHeader<1,4> = 'Cycle Time' ; colFormat<1,4> = '^1260' colHeader<1,5> = 'Commit Dt' ; colFormat<1,5> = '^1260' colHeader<1,6> = 'Cust Ship Dt' ; colFormat<1,6> = '^1260' colData = RxDTM colData<1,2> = RelDTM colData<1,3> = RelBy colData<1,4> = CycleTime colData<1,5> = CommitDt colData<1,6> = CustShipDt font<4> = 0 ;* Bold stat = Set_Printer('FONT',font) stat = Set_Printer('ADDTABLE', colFormat,colHeader,'',LTGREY$,'',0,7) ;* Print column headings bold w/grey background font<4> = 0 ;* Bold off stat = Set_Printer('FONT',font) stat = Set_Printer('ADDTABLE',colFormat,'',colData,LTGREY$,'',1,7) ;* Print column data 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 font<2> = 10 ;* 10 point font<4> = 0 ;* Bold stat = Set_Printer('FONT',font) stat = Set_Printer('ADDTABLE',colFormat,colHeader,'',LTGREY$,'',0,7) font<4> = 0 ;* Bold stat = Set_Printer('FONT',font) stat = Set_Printer('ADDTABLE',colFormat,'',colData,LTGREY$,'',1,7) stat = Set_Printer('TEXT') stat = Set_Printer('TEXT') * RDS Information * colHeader = 'Cass':CRLF$:'No' ; colFormat = '^720' colHeader<1,2> = 'Lot No' ; colFormat<1,2> = '<2880' colHeader<1,3> = 'Wafer':CRLF$:'Qty' ; colFormat<1,3> = '>720' colHeader<1,4> = 'Part No' ; colFormat<1,4> = '<1800' colHeader<1,5> = 'Substrate PN' ; colFormat<1,5> = '<1800' FOR I = 6 TO WOStepCnt + 5 colHeader<1,I> = 'WO Step ':I-5:CRLF$:'RDS No' ; colFormat<1,I> = '^1440' NEXT I colData = CassDetail font<2> = 10 ;* 10 point font<4> = 1 ;* Bold stat = Set_Printer('FONT',font) stat = Set_Printer('ADDTABLE','^10800','C a s s e t t e D e t a i l','','','',0,7) font<4> = 0 ;* Bold stat = Set_Printer('FONT',font) stat = Set_Printer('ADDTABLE', colFormat,colHeader,'',LTGREY$,'',0,7) ;* Print column headings bold w/grey background font<4> = 0 ;* Bold off stat = Set_Printer('FONT',font) stat = Set_Printer('ADDTABLE',colFormat,'',colData,LTGREY$,'',1,7) ;* Print column data Void = set_printer( 'TEXT', '' ) Void = set_printer( 'TEXT', '' ) Void = Set_Printer('TERM') RETURN * * * * * * * OIPrintErr: * * * * * * * ErrMsg(ErrorTitle:@SVM:ErrorMsg) ErrMsg(ErrorTitle:@SVM:'Set_Printer returned errorcode ':stat) stat = Set_Printer('TERM',1) RETURN