open-insight/LSL2/STPROC/PRINT_COMM_INVOICE.txt
Infineon\StieberD 7762b129af pre cutover push
2024-09-04 20:33:41 -07:00

379 lines
10 KiB
Plaintext

COMPILE SUBROUTINE Print_Comm_Invoice( ShipNo, PrintOnly, PrintPath, PDFFileName, PrinterInitialized)
DECLARE FUNCTION FieldCount, Msg, Set_Printer, Get_Printer, obj_RDS_Test
DECLARE FUNCTION Printer_Select, obj_Install,obj_RDS, obj_Invoice
DECLARE SUBROUTINE extract_si_keys, record_lock, Btree.Extract, ErrMsg
$INSERT MSG_EQUATES
$INSERT RDS_EQU
$INSERT RDS_LAYER_INFO_EQU
$INSERT PROD_SPEC_EQU
$INSERT OIPRINT_EQUATES
$INSERT NCR_EQU
$INSERT POPUP_EQUATES
$INSERT LOGICAL
$INSERT COA
$INSERT COC_EQU
$INSERT RDS_TEST_EQUATES
$INSERT RDS_LAYER_EQUATES
$INSERT WO_LOG_EQU
$INSERT WO_STEP_EQU
$INSERT WM_OUT_EQUATES
$INSERT SURFACE_SCAN_EQUATES
EQU COMM_INVOICE_SHIP_TO$ TO 1
EQU COMM_INVOICE_PHONE_TYPE$ TO 2
EQU COMM_INVOICE_PHONE_NO$ TO 3
EQU COMM_INVOICE_SHIP_DT$ TO 4
EQU COMM_INVOICE_PO$ TO 5
EQU COMM_INVOICE_SHIP_NO$ TO 6
EQU COMM_INVOICE_ORIGIN$ TO 7
EQU COMM_INVOICE_SHIP_VIA$ TO 8
EQU COMM_INVOICE_ITEM_ORD_NO$ TO 9
EQU COMM_INOVICE_ITEM_ORD_ITEM$ TO 10
EQU COMM_INVOICE_ITEM_QTY$ TO 11
EQU COMM_INVOICE_ITEM_DESC$ TO 12
EQU COMM_INVOICE_ITEM_PRICE$ TO 13
EQU COMM_INVOICE_ITEM_EXT_AMT$ TO 14
EQU COMM_INVOICE_SUB_SUPPLIED_BY$ TO 15
EQU COMM_INVOICE_INCO_CODE$ TO 16
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
EQU LTGREY$ TO 229 + (229*256) + (229*65536)
IF NOT(ASSIGNED(ShipNo)) THEN ShipNo = ''
IF NOT(ASSIGNED(PrintPath)) THEN PrintPath = ''
IF NOT(ASSIGNED(PDFFileName)) THEN PDFFileName = ''
IF NOT(ASSIGNED(PrinterInitialized)) THEN PrinterInitialized = 0
IF ShipNo = '' THEN
ErrMsg('Null parameter "ShipNo" passed to routine Print_Comm_Invoice')
RETURN
END
* * * PRINT SETUP * * *
FileName = 'Print Commercial Invoice'
Title = 'Print Commercial Invoice'
PageInfo = '' ; * Default is .5 inch margins and 8.5 x 11 paper
PageInfo<PI$LEFT> = 0.5
PageInfo<PI$TOP> = 1.5
PageInfo<PI$RIGHT> = 0.5
PageInfo<PI$BOTTOM> = 0.5
PageInfo<PI$SIZE> = LETTER
MaxPrintLength = 11 - PageInfo<PI$TOP> - PageInfo<PI$BOTTOM>
PageSetup = 0 ;* 1 = Landscape mode
PrintSetup = 0 ;* 0 = No Preview, 2 = Preview
IF NOT(PrinterInitialized) THEN
PrintSetup = ''
PrintSetup<1,1> = '2' ;* Specific Location
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, 'Commercial Invoice',PageInfo,PageSetup , PrintSetup)
END ELSE
stat = Set_Printer('PAGEBREAK')
END
GOSUB PrintSheet
IF NOT(PrinterInitialized) THEN
stat = Set_Printer( 'TERM' )
END
RETURN
* * * * * *
PrintSheet:
* * * * * *
font = 'Arial' ;* Font basics
font<2> = 10
font<4> = 0
stat = Set_Printer('FONTHEADFOOT', font)
font = 'Arial'
font<2> = '18' ;* Big type
font<4> = 1 ;* Bold on
font<5> = 1 ;* Italics
stat = Set_Printer('TEXTXY','Commercial Invoice',2.20:@FM:-0.80,font,0)
font<2> = 12 ;* Drop the font size
font<5> = 0 ;* Italics off
IF NOT(PrinterInitialized) THEN
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 = -0.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('TEXT')
END
colHeader = 'Tracking No(s)' ; colFormat = '^10800'
TrackingNos = XLATE('COC',ShipNo,COC_TRACKING_NOS$,'X')
SWAP ', ' WITH @VM IN TrackingNos
colData = TrackingNos
font<2> = 10
font<4> = 1 ;* Bold on
stat = Set_Printer('FONT',font)
stat = Set_Printer('ADDTABLE',colFormat,colHeader,'',LTGREY$,'',0,TB_ALL)
font<2> = 10
font<4> = 0
stat = Set_Printer('FONT',font)
stat = Set_Printer('ADDTABLE',colFormat,'',colData,LTGREY$,'',1,TB_ALL)
stat = Set_Printer('TEXT')
CommInvoiceData = obj_Invoice('CommInvoice',ShipNo)
ShipTo = CommInvoiceData<COMM_INVOICE_SHIP_TO$>
PhoneTypes = CommInvoiceData<COMM_INVOICE_PHONE_TYPE$>
PhoneNos = CommInvoiceData<COMM_INVOICE_PHONE_NO$>
SWAP @TM WITH CRLF$ IN ShipTo
SWAP @VM WITH CRLF$ IN PhoneTypes
SWAP @VM WITH CRLF$ IN PhoneNos
* * * *
colHeader = 'Consignee' ; colFormat = '<6840'
colHeader<1,2> = 'Phone' ; colFormat<1,2> = '<1980'
colHeader<1,3> = 'Number' ; colFormat<1,3> = '<1980'
colData = ShipTo
colData<1,2> = PhoneTypes
colData<1,3> = PhoneNos
font<2> = 10
font<4> = 1 ;* Bold on
stat = Set_Printer('FONT',font)
stat = Set_Printer('ADDTABLE',colFormat,colHeader,'',LTGREY$,'',0,TB_ALL)
font<2> = 10
font<4> = 0
stat = Set_Printer('FONT',font)
stat = Set_Printer('ADDTABLE',colFormat,'',colData,LTGREY$,'',1,TB_ALL)
stat = Set_Printer('TEXT')
* * * *
colHeader = 'Packing List No.' ; colFormat = '^2400'
colHeader<1,2> = 'Purchase Order No.' ; colFormat<1,2> = '^2400'
colHeader<1,3> = 'Timestamp' ; colFormat<1,3> = '^3600'
colHeader<1,4> = 'INCO Terms' ; colFormat<1,4> = '^2400'
colData = ShipNo
colData<1,2> = CommInvoiceData<COMM_INVOICE_PO$>
colData<1,3> = OCONV(Date(),'D4/'):' ':OCONV(Time(),'MTH')
colData<1,4> = CommInvoiceData<COMM_INVOICE_INCO_CODE$>
font<2> = 10
font<4> = 1 ;* Bold on
stat = Set_Printer('FONT',font)
stat = Set_Printer('ADDTABLE',colFormat,colHeader,'',LTGREY$,'',0,TB_ALL)
font<2> = 10
font<4> = 0
stat = Set_Printer('FONT',font)
stat = Set_Printer('ADDTABLE',colFormat,'',colData,LTGREY$,'',1,TB_ALL)
stat = Set_Printer('TEXT')
Country = CommInvoiceData<COMM_INVOICE_ORIGIN$>
SubSuppliedBy = CommInvoiceData<COMM_INVOICE_SUB_SUPPLIED_BY$>
colHeader = '' ; colFormat = '^10800'
BEGIN CASE
CASE SubSuppliedBy = 'C'
colData = 'Return of Goods Originating from ':Country
CASE SubSuppliedBy = 'L'
colData = 'Goods Originating from USA'
CASE 1
colData = 'Goods Originating from USA'
END CASE
BIfont = 'Arial'
BIfont<2> = '12' ;* Big type
BIfont<4> = 1 ;* Bold on
BIfont<5> = 1 ;* Italics
stat = Set_Printer('FONT',BIfont)
stat = Set_Printer('ADDTABLE',colFormat,'',colData,LTGREY$,'',1,TB_NONE)
stat = Set_Printer('TEXT')
stat = Set_Printer('FONT',font)
colHeader = 'Ord No' ; colFormat = '^720'
colHeader<1,2> = 'Item No' ; colFormat<1,2> = '^720'
colHeader<1,3> = 'Qty' ; colFormat<1,3> = '^1080'
colHeader<1,4> = 'Description' ; colFormat<1,4> = '<5760'
colHeader<1,5> = 'Unit':CRLF$:'Value' ; colFormat<1,5> = '>1080'
colHeader<1,6> = 'Subtotal' ; colFormat<1,6> = '>1440'
ItemOrdNos = CommInvoiceData<COMM_INVOICE_ITEM_ORD_NO$>
ItemNos = CommInvoiceData<COMM_INOVICE_ITEM_ORD_ITEM$>
ItemQtys = CommInvoiceData<COMM_INVOICE_ITEM_QTY$>
ItemDescs = CommInvoiceData<COMM_INVOICE_ITEM_DESC$>
ItemPrices = CommInvoiceData<COMM_INVOICE_ITEM_PRICE$>
ItemExtAmts = CommInvoiceData<COMM_INVOICE_ITEM_EXT_AMT$>
colData = ''
FOR I = 1 TO COUNT(ItemOrdNos,@VM) + (ItemOrdNos NE '')
colData<I,1> = ItemOrdNos<1,I>
colData<I,2> = ItemNos<1,I>
colData<I,3> = ItemQtys<1,I>
colData<I,4> = ItemDescs<1,I>
colData<I,5> = ItemPrices<1,I>
colData<I,6> = ItemExtAmts<1,I>
NEXT I
font<2> = 10
font<4> = 1 ;* Bold on
stat = Set_Printer('FONT',font)
stat = Set_Printer('ADDTABLE',colFormat,colHeader,'',LTGREY$,'',0,TB_ALL)
font<2> = 10
font<4> = 0
stat = Set_Printer('FONT',font)
stat = Set_Printer('ADDTABLE',colFormat,'',colData,LTGREY$,'',1,TB_ALL)
stat = Set_Printer('TEXT')
TotalValue = OCONV(SUM(ICONV(ItemExtAmts,'MD3')),'MD23,$'):' USD'
ShipRec = XLATE('COC',ShipNo,'','X')
TotBoxes = ShipRec<COC_TRACK_NO_BOX_CNT$>
ShipWt = ShipRec<COC_TRACK_NO_SHIP_WT$>
Shipper = ShipRec<COC_SHIP_VIA$>
colHeader = 'Total Boxes' ; colFormat = '^3600'
colHeader<1,2> = 'Total Weight' ; colFormat<1,2> = '^3600'
colHeader<1,3> = 'Total Value' ; colFormat<1,3> = '^3600'
colData = TotBoxes
colData<1,2> = ShipWt:'lbs / ':OCONV(ICONV((ShipWt*0.45),'MD2'),'MC2'):'kg'
colData<1,3> = TotalValue
font<2> = 10
font<4> = 1 ;* Bold on
stat = Set_Printer('FONT',font)
stat = Set_Printer('ADDTABLE',colFormat,colHeader,'',LTGREY$,'',0,TB_ALL)
font<2> = 10
font<4> = 0
stat = Set_Printer('FONT',font)
stat = Set_Printer('ADDTABLE',colFormat,'',colData,LTGREY$,'',1,TB_ALL)
stat = Set_Printer('TEXT')
Blurb = "{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fswiss\fcharset0 Arial;}}"
Blurb := "{\*\generator Msftedit 5.41.15.1507;}\viewkind4\uc1\pard\f0\fs20\par "
Blurb := "These commodities were exported from the United States in accordance with the Export Administration regulations.\par "
Blurb := "Diversion contrary to U.S. law prohibited. NLR \par\par "
Blurb := "I/We do hereby authorize\b ":Shipper:"\b0 to execute any additional documents necessary for the export of "
Blurb := "merchandise described herein on my/our behalf.\par\par "
Blurb := '\b"Value is for customs purposes only."\b0 \par\par '
Blurb := "I/We declare all the information contained in this invoice to be true and correct. \par "
Blurb := "}"
stat = Set_Printer('TEXTRTF',Blurb)
stat = Set_Printer('TEXT')
stat = Set_Printer('TEXT')
stat = Set_Printer('TEXT')
stat = Set_Printer('TEXT')
Signature = STR('_',40)
stat = Set_Printer('TEXT',Signature)
stat = Set_Printer('TEXT')
stat = Set_Printer('TEXT')
stat = Set_Printer('TEXT','Shipping/Receiving Signature')
*stat = Set_Printer('TEXT',OCONV(Date(),'D4/'):' ':OCONV(Time(),'MTH'))
RETURN