compile function INVOICE_RPT6() begin condition pre: post: end condition declare function msg, set_property, send_event, dialog_box, utility, get_property declare function set_printer, fieldcount, obj_Install, Printer_Select, Get_Status declare subroutine rlist, or_view, activate_save_select, yield, extract_si_keys, ErrMsg declare subroutine btree.extract $insert logical $insert rlist_equates $insert msg_equates $insert coc_equ $insert order_equ $insert company_equ $insert oiprint_equates Params = dialog_box( 'INVOICE_RPT6', @window, '*CENTER' ) if Params = 'CANCEL' or Params = '' then return 0 end open 'DICT.COC' to DictCOCTable else MsgInfo = '' MsgInfo = -2 MsgInfo = -2 MsgInfo = 'Unable to open DICT.COC table...' Void = msg( '', MsgInfo ) return 0 end Stat = utility( 'CURSOR', 'H' ) CustIds = Params<1> ShipDateFrom = Params<2> ShipDateThru = Params<3> * initialize the printer and set the headings * New Style PDF printing (OI7.1) added 1/29/04 John C. Henry, J.C. Henry & Co. FileNameParms = 'Printing Shipping Notice':@FM: '' :@FM: 6 :@FM: '' 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', FileNameParms, 'Shipping Notice','','' , PrintSetup) Font = 'Times New Roman,14,L,1' ;* 14 point, Left just, Bold convert ',' to @fm in Font Void = set_printer( 'FONT', Font ) * CustCnt = fieldcount( CustIds, @vm ) for i = 1 to CustCnt TotQtyShip = 0 TotRejCnt = 0 ThisCustId = CustIds<1,i> SearchStr = '' if CustIds then SearchStr<-1> = 'WO_CUST_NO':@vm:ThisCustId end if ShipDateFrom and ShipDateThru then SearchStr<-1> = 'SHIP_DT':@vm:ShipDateFrom:'...':ShipDateThru end else if ShipDateFrom then SearchStr<-1> = 'SHIP_DT':@vm:'>=':ShipDateFrom end if ShipDateThru then SearchStr<-1> = 'SHIP_DT':@vm:'<=':ShipDateThru end end SearchStr := @fm Void = utility( 'CURSOR', 'H' ) * do a btree.extract btree.extract( SearchStr, 'COC', DictCOCTable, Keys, '', Flag ) IF Get_Status(errCode) THEN ErrMsg(errCode) if Flag <> 0 then MsgInfo = '' MsgInfo = -2 MsgInfo = -2 MsgInfo = 'Error while extracting COC records...' Void = msg( '', MsgInfo ) return 0 end if Keys then convert @vm to @fm in Keys *Keys = key_sort( Keys, 'COC', 'CUST_NAME':@fm:'#ENTRY_DATE':@fm:'PO', 1 ) ThisCOCRec = xlate( 'COC', Keys<1>, '', 'X' ) * use the first COC for customer shipping specific information Font<2> = 14 Font<3> = 'C' Font<4> = 0 ;* not bold Void = set_printer( 'FONT', Font ) Void = set_printer( 'TEXT', obj_Install('Get_Prop','Company' )) Font<4> = 1 ;* bold Void = set_printer( 'FONT', Font ) Void = set_printer( 'TEXT', obj_Install('Get_Prop','Division' )) Font<2> = 12 Font<4> = 0 Void = set_printer( 'FONT', Font ) *Void = set_printer( 'TEXT', 'Epitaxial Services' ) Void = set_printer( 'TEXT', obj_Install('Get_Prop','Address')) Void = set_printer( 'TEXT', obj_Install('Get_Prop','CSZ')) Void = set_printer( 'TEXT', 'Phone 1-888-575-3741' ) Void = set_printer( 'TEXT', 'Phone 480-668-4033' ) Void = set_printer( 'TEXT', 'Fax 480-668-4021' ) Void = set_printer( 'TEXT', '' ) Void = set_printer( 'TEXT', '' ) Font<2> = 14 Font<4> = 1 Void = set_printer( 'FONT', Font ) Void = set_printer( 'TEXT', 'SHIPMENT NOTICE' ) Font<4> = 0 ;* remove bolding Font<2> = 10 Void = set_printer( 'FONT', Font ) Void = set_printer( 'TEXT', '' ) Void = set_printer( 'TEXT', '' ) * Ship To Info ;* Changed ship to to point to order instead of company ;* 9/18/2003 John C. Henry, J.C. Henry & Co., Inc. *OrderNo = ThisCOCRec ;* This is multivalued OrderNo = XLATE('COC',Keys<1>,'RDS_ORDER_NO','X') ;* Changed to symbolic 2/23/2005 jch OrderRec = XLATE('ORDER',OrderNo,'','X') ShipToName = OrderRec ShipToAddr = OrderRec ; * This is MV's needs work ShipToCity = OrderRec ShipToST = OrderRec ShipToZIP = OrderRec CustRec = xlate( 'COMPANY', ThisCOCRec, '', 'X' ) Table = '' Table<-1> = '':@vm:'Shipping to:':@vm:ShipToName ;* JCH *Address = xlate( 'COMPANY', ThisCOCRec, company_address$, 'X' ) Acnt = fieldcount( ShipToAddr, @vm ) ;* JCH for j = 1 to Acnt Table<-1> = '':@vm:'':@vm:ShipToAddr<1,j> ;* JCH next j Table<-1> = '':@vm:'':@vm:ShipToCity:', ':ShipToST:' ':ShipToZIP TableColInfo = '<+1440':@vm:'<+1440':@vm:'<+3600' x = Set_Printer("ADDTABLE", TableColInfo, '', Table, '', '', 1, TB_NONE) Void = set_printer( 'TEXT', '' ) COCCnt = fieldcount( Keys, @fm ) for k = 1 to COCCnt ThisCOCID = Keys ThisCOCRec = xlate( 'COC', ThisCOCID, '', 'X' ) PONo = XLATE( 'COC', ThisCOCID, 'PO_NO', 'X' ) POLine = XLATE('COC',ThisCOCID, 'PO_LINE','X') PORel = XLATE('COC',ThisCOCID, 'PO_REL','X') IF POLine NE '' THEN PONo := ' Line ':POLine IF PORel NE '' THEN PONo := ' Rel ':PORel * Table = '' TableColInfo = '<+1440':@vm:'<+2160':@vm:'<+2880':@vm:'<+1440':@vm:'<+2160' Table<-1> = '':@vm:'Purchase Order#:':@vm:PONo:@vm:'Ship Date':@vm:oconv( ThisCOCRec, 'D2/' ) x = Set_Printer("ADDTABLE", TableColInfo, '', Table, '', '', 1, TB_NONE) Table = '' ShipVia = ThisCOCRec x = Set_Printer("ADDTABLE", TableColInfo, '', Table, '', '', 1, TB_NONE) TableColInfo = '6640>+':@vm:'<+2000' Font<4> = 1 Void = set_printer( 'FONT', Font ) TTable = '':@vm:'Tracking Number(s)' x = Set_Printer("ADDTABLE", TableColInfo, '', TTable, '', '', 1, TB_NONE) Font<4> = 0 Void = set_printer( 'FONT', Font ) TrackingNos = ThisCOCRec TableColInfo = '6640>+':@vm:'<+2000' convert @vm to @fm in TrackingNos Tcnt = fieldcount( TrackingNos, @fm ) for l = 1 to Tcnt Table<-1> = '':@vm:TrackingNos next l x = Set_Printer("ADDTABLE", TableColInfo, '', Table, '', '', 1, TB_NONE) Table = '' Font<6> = 1 ;* underline Void = set_printer( 'FONT', Font ) Table<-1> = 'Item':@vm:'Part#':@vm:'Lot#':@vm:'Qty Ship':@vm:'Rejects':@VM:'Work Order' TableColInfo = '>+720':@vm:'<+2160':@vm:'<+1440':@vm:'>+720':@vm:'>+720':@VM:'>1440' x = Set_Printer("ADDTABLE", TableColInfo, '', Table, '', '', 1, TB_NONE) Font<6> = 0 ;* no more underline Void = set_printer( 'FONT', Font ) Table = '' *OItems = ThisCOCRec OItems = XLATE('COC',ThisCOCID,'RDS_ORDER_LINE','X') ;* Changed to symbolic 2/23/2005 JCH OPartNos = XLATE('COC',ThisCOCID,'RDS_PART_NO','X') ;* Changed to symbolic 2/23/2005 JCH OLotNos = XLATE('COC',ThisCOCID,'RDS_LOT_NO','X') ;* Changed to symbolic 2/23/2005 JCH OWaferQtys = XLATE('COC',ThisCOCID,'RDS_WAFER_QTY','X') ;* Changed to symbolic 2/23/2005 JCH ORejects = XLATE('COC',ThisCOCID,'RDS_REJECTS','X') ;* Changed to symbolic 2/23/2005 JCH OCnt = fieldcount( OItems, @vm ) QtyShip = 0 RejCnt = 0 for l = 1 to OCnt Table<-1> = OItems<1,l>:@vm:OPartNos<1,l>:@vm:OLotNos<1,l>:@vm:OWaferQtys<1,l>:@vm:ORejects<1,l>:@VM:ThisCOCRec QtyShip += OWaferQtys<1,l> RejCnt += ORejects<1,l> next l TableColInfo = '>+720':@vm:'<+2160':@vm:'<+1440':@vm:'>+720':@vm:'>+720':@VM:'>1440' x = Set_Printer("ADDTABLE", TableColInfo, '', Table, '', '', 1, TB_NONE) Font<4> = 1 Void = set_printer( 'FONT', Font ) Table = '' Table<-1> = 'Total shipment for packing list ':ThisCOCId:':':@vm:QtyShip:@vm:RejCnt TableColInfo = '^+4320':@vm:'>+720':@vm:'>+720' x = Set_Printer("ADDTABLE", TableColInfo, '', Table, '', '', 1, TB_NONE) TotQtyShip += QtyShip TotRejCnt += RejCnt Void = set_printer( 'TEXT', str( '*', 101 ) ) Font<4> = 0 Void = set_printer( 'FONT', Font ) Void = set_printer( 'TEXT', '' ) Void = set_printer( 'TEXT', '' ) next k Font<4> = 1 Void = set_printer( 'FONT', Font ) Table = '' TableColInfo = '^+3600':@vm:'>+720':@vm:'>+720' Table<-1> = 'Total shipment for all packing lists:':@vm:TotQtyShip:@vm:TotRejCnt x = Set_Printer("ADDTABLE", TableColInfo, '', Table, '', '', 1, TB_NONE) Font<4> = 0 Void = set_printer( 'FONT', Font ) end else MsgInfo = '' MsgInfo = -2 MsgInfo = -2 MsgInfo = 'No records found meeting your criteria for ':oconv( ThisCustId, '[XLATE_CONV,COMPANY*CO_NAME]' ):'...' MsgInfo = '!' Void = msg( '', MsgInfo ) end if i = CustCnt else * not on the last one do a page break Void = set_printer( 'PAGEBREAK' ) end next i Void = set_printer( 'TERM', 1 ) Stat = utility( 'CURSOR', 'A' ) return 0 *================================================================================================* * initialize the printer and set the headings if DirToPrinter = 'Yes' then OutputParam = 0 end else OutputParam = 3 ;* maximized print preview end PrintPath = Printer_Select('',1) ;* Get default printer path Void = set_printer( 'INIT', '', '', '', '', OutputParam , PrintPath) Font = 'Times New Roman,14,L,1' ;* 14 point, Left just, Bold convert ',' to @fm in Font return *================================================================================================*