11 lines
8.7 KiB
JSON
11 lines
8.7 KiB
JSON
{
|
|
"header": {
|
|
"version": 1,
|
|
"type": "record"
|
|
},
|
|
"body": {
|
|
"record1": {
|
|
"<1>": "declare function security_check, set_printer, get_printer, msg, fieldcount\r\ndeclare function winexec, Printer_Select\r\ndeclare subroutine security_err_msg\r\n$insert security_rights_equ\r\n$insert oiprint_equates\r\n$insert msg_equates\r\n\r\n* text field equates\r\nequ MfgName$ to 1\r\nequ PackListNo$ to 2\r\nequ EntryDate$ to 3\r\nequ MfgSpec$ to 4\r\nequ MfgSO$ to 5\r\nequ Cust$ to 6\r\nequ Polish$ to 7\r\nequ CustPo$ to 8\r\nequ QtyRec$ to 9\r\nequ Notes$ to 10\r\nequ Order$ to 1\r\nequ OrdLine$ to 2\r\nequ PO$ to 3\r\nequ MfgLot$ to 4\r\nequ Wo$ to 5\r\nequ InvoiceNos$ to 6\r\nequ ShipDate$ to 7\r\nequ InProcess$ to 8\r\nequ ShipQty$ to 9\r\nequ Rejects$ to 10\r\nif security_check( 'Wafer Inventory', Print$ ) then\r\n * pull off variables\r\n TextFields = 'WAFERMFG/PACK_LIST_NO/ENTRY_DATE/MFG_SPEC_NO/MFG_SALES_ORD_NO/'\r\n TextFields:= 'CUST_NAME/POLISH/PO_TO_MFG/QTY_RECEIVED/NOTES'\r\n swap '/' with @rm:@window:'.' in TextFields\r\n TextFields = @window:'.':TextFields\r\n TextFields = get_property( TextFields, 'TEXT' )\r\n convert @rm to @fm in TextFields\r\n Notes = TextFields<Notes$>\r\n NotesOut = ''\r\n swap char(13):char(10) with @fm in Notes\r\n Ncnt = fieldcount( Notes, @fm )\r\n for i = 1 to Ncnt\r\n if Notes<i> <> '' then\r\n ThisPara = fmt( Notes<i>, 'T#55' )\r\n convert @tm to @fm in ThisPara\r\n NotesOut := ThisPara:@fm:@fm\r\n end\r\n next i\r\n NotesOut[-2,2] = ''\r\n Notes = NotesOut\r\n NoteCnt = fieldcount( Notes, @fm )\r\n Status = .status->value\r\n if Status = 'O' then \r\n Status = 'Open'\r\n end else\r\n Status = 'Closed'\r\n end\r\n TotOnSite = .tot_on_site->array\r\n TotInProcess = .tot_in_process->array\r\n TotAvail = .tot_avail->array\r\n TotShipQty = .tot_ship_qty->array\r\n TotRejects = .tot_rej->array\r\n LineItems = .inv_detail->array\r\n OrdNo = LineItems<Order$>\r\n MfgLot = LineItems<MfgLot$>\r\n WO = LineItems<Wo$>\r\n PO = LineItems<PO$>\r\n InvoiceNos = LineItems<InvoiceNos$>\r\n ShipDate = LineItems<ShipDate$>\r\n ShipQty = LineItems<ShipQty$>\r\n Rejects = LineItems<Rejects$>\r\n InProcess = LineItems<InProcess$>\r\n Lcnt = fieldcount( PO, @vm ) \r\n MaxLines = 37\r\n*lcnt = 54 ;* for testing\r\n\tPrintPath = Printer_Select('',1)\t\t;* Get default printer path\r\n Stat = set_printer( 'INIT', '', '', .25:@fm:'':@fm:0:@fm:'', 0, 0, PrintPath )\r\n gosub CheckErr\r\n Font = \"Courier New,9,L,1\"\r\n convert ',' to @fm in Font\r\n Hf = Font\r\n Stat = set_printer( 'FONT', Font )\r\n gosub CheckErr\r\n gosub PrintToF\r\n * print body\r\n* MfgLot = str( 111128:@vm, 55 )\r\n* Wo = str( 1000:@vm, 55 )\r\n* PO = str( 455:@vm, 55 )\r\n* INvoiceNos = str( 555:@vm, 55 )\r\n* shipdate = str( 55555:@vm, 55 )\r\n* shipqty = str( 14:@vm, 55 )\r\n* rejects = str( '$45.00':@vm, 55 )\r\n* InProcess = str( 500:@vm, 55 )\r\n\r\n LinesPrinted = 0\r\n for j = 1 to 24\r\n Stat = set_printer( 'TEXT', '' )\r\n next j\r\n for i = 1 to Lcnt\r\n LineOut = fmt( OrdNo<1,i>, 'L#9' ):' '\r\n\t LineOut:= fmt( PO<1,i>, 'L#14' ):' '\r\n\t LineOut:= fmt( MfgLot<1,i>, 'L#13' ):' '\r\n\t LineOut:= fmt( Wo<1,i>, 'L#6' ):' '\r\n\t LineOut:= fmt( InvoiceNos<1,i>, 'L#13' ):' '\r\n\t LineOut:= fmt( ShipDate<1,i>, 'L#8' ): ' '\r\n\t LineOut:= fmt( InProcess<1,i>, 'R#9' ):' '\r\n\t LineOut:= fmt( ShipQty<1,i>, 'R#7' ):' '\r\n\t LineOut:= fmt( Rejects<1,i>, 'R#7' )\r\n\t Stat = set_printer( 'TEXT', LineOut )\r\n\t LinesPrinted += 1\r\n\t if LinesPrinted = MaxLines then\r\n\t gosub PageBreak\r\n\t end\r\n\tnext i\r\n if Notes then\r\n for k = 1 to 5\r\n stat = set_printer( 'TEXT', '' )\r\n LinesPrinted += 1\r\n if LinesPrinted = MaxLines then\r\n gosub PageBreak\r\n end\r\n next k\r\n stat = set_printer( 'TEXT', space(13):'NOTE:' )\r\n LinesPrinted += 1\r\n if LinesPrinted = MaxLines then \r\n gosub PageBreak\r\n end\r\n for Nc = 1 to NoteCnt\r\n stat = set_printer( 'TEXT', space(23):Notes<Nc> )\r\n\t LinesPrinted += 1\r\n\t if LinesPrinted = MaxLines then\r\n\t gosub PageBreak\r\n\t end\r\n next Nc\r\n end\r\n stat = set_printer( 'TEXTXY', '( Total On Site ':TotOnSite:' )', .25:@fm:9.25, Hf, 0 )\t \r\n stat = set_printer( 'TEXTXY', 'Total Quantity Wafers Shipped ':TotShipQty, 2.5:@fm:9.25, Hf, 0 )\r\n stat = set_printer( 'TEXTXY', 'Total Rejects ':TotRejects, 6.25:@fm:9.25, Hf, 0 )\r\n stat = set_printer( 'TEXTXY', '( Total In Process ':TotInProcess:' )', .25:@fm:9.44, Hf, 0 )\t \r\n stat = set_printer( 'TEXTXY', '( Total Available ':TotAvail:' )', .25:@fm:9.63, Hf, 0 )\t \r\n stat = set_printer( 'TERM' ) \r\n gosub CheckErr \r\nend else\r\n security_err_msg( 'Wafer Inventory', Print$ )\r\nend\r\nRETURN 0\r\n*===========================================================================*\r\nPrintTof:\r\n Tfon = Hf\r\n Tfon<2> = 12\r\n stat = set_printer( 'TEXTXY', 'EPITRONICS SILICON DIVISION', 2.25:@fm:0, TFon, 1 )\r\n stat = set_printer( 'TEXTXY', 'CUSTOMER WAFER INVENTORY', 0:@fm:.5, Tfon, 1 )\r\n stat = set_printer( 'TEXTXY', 'INVENTORY# ':.waf_inv_no->text, 6.19:@fm:.5, Tfon, 1 ) \r\n stat = set_printer( 'LINESTYLE', ps_solid:@fm:1 )\r\n stat = set_printer( 'LINE', 0:@fm:.75:@fm:7.5:@fm:.75, 1 )\r\n stat = set_printer( 'TEXTXY', 'Date: ':TextFields<EntryDate$>, 6:@fm:1, Hf, 1 )\r\n stat = set_printer( 'TEXTXY', 'Manufacturer: ':TextFields<MfgName$>, .25:@fm:1, Hf, 1 )\r\n stat = set_printer( 'TEXTXY', ' #: ':TextFields<PackListNo$>, .25:@fm:1.19, Hf, 1 )\r\n stat = set_printer( 'TEXTXY', 'Mfg Spec#: ':TextFields<MfgSpec$>, .25:@fm:1.5, Hf, 1 )\r\n stat = set_printer( 'TEXTXY', 'Customer: ':TextFields<Cust$>, 4:@fm:1.69, Hf, 1 )\r\n stat = set_printer( 'TEXTXY', 'Mfg Sls Ord#: ':TextFields<MfgSo$>, .25:@fm:1.88, Hf, 1 )\r\n stat = set_printer( 'TEXTXY', 'Customer PO#: ':TextFields<CustPo$>, 4:@fm:2.06, Hf, 1 )\r\n stat = set_printer( 'TEXTXY', 'Polish: ':TextFields<Polish$>, .25:@fm:2.25, Hf, 1 ) \r\n stat = set_printer( 'TEXTXY', 'Qty Received: ':TextFields<QtyRec$>, .25:@fm:2.63, Hf, 1 ) \r\n stat = set_printer( 'TEXTXY', 'Status: ':Status, 4:@fm:2.63, Hf, 1 )\r\n stat = set_printer( 'LINE', 0:@fm:3:@fm:7.5:@fm:3, 1 )\r\n stat = set_printer( 'LINE', 0:@fm:9:@fm:7.5:@fm:9, 1 )\r\n stat = set_printer( 'TEXTXY', 'Ord#', 0:@fm:3.25, Hf, 1 )\r\n stat = set_printer( 'TEXTXY', 'Cust PO', .75:@fm:3.25, Hf, 1 )\r\n stat = set_printer( 'TEXTXY', 'Mfg Lot', 1.88:@fm:3.25, Hf, 1 )\r\n stat = set_printer( 'TEXTXY', 'Wo#', 2.94:@fm:3.25, Hf, 1 )\r\n stat = set_printer( 'TEXTXY', 'Invoice#', 3.5:@fm:3.25, Hf, 1 )\r\n stat = set_printer( 'TEXTXY', 'Ship Date', 4.63:@fm:3.25, Hf, 1 )\r\n stat = set_printer( 'TEXTXY', 'In Process', 5.44:@fm:3.25, Hf, 1 ) \r\n stat = set_printer( 'TEXTXY', 'Ship#', 6.38:@fm:3.25, Hf, 1 )\r\n stat = set_printer( 'TEXTXY', 'Rejects', 6.94:@fm:3.25, Hf, 1 )\r\n *stat = set_printer( 'LINESTYLE', ps_solid:@fm:3 ) \r\n stat = set_printer( 'LINE', 0:@fm:3.38:@fm:.63:@fm:3.38, 1 )\r\n stat = set_printer( 'LINE', .75:@fm:3.38:@fm:1.75:@fm:3.38, 1 )\r\n stat = set_printer( 'LINE', 1.88:@fm:3.38:@fm:2.81:@fm:3.38, 1 )\r\n stat = set_printer( 'LINE', 2.94:@fm:3.38:@fm:3.38:@fm:3.38, 1 )\r\n stat = set_printer( 'LINE', 3.5:@fm:3.38:@fm:4.5:@fm:3.38, 1 )\r\n stat = set_printer( 'LINE', 4.63:@fm:3.38:@fm:5.31:@fm:3.38, 1 )\r\n stat = set_printer( 'LINE', 5.44:@fm:3.38:@fm:6.19:@fm:3.38, 1 ) \r\n stat = set_printer( 'LINE', 6.31:@fm:3.38:@fm:6.81:@fm:3.38, 1 )\r\n stat = set_printer( 'LINE', 6.94:@fm:3.38:@fm:7.5:@fm:3.38, 1 ) \r\n *stat = set_printer( 'LINESTYLE', ps_solid:@fm:5 )\r\nreturn \r\n\r\n*===========================================================================*\r\nCheckErr:\r\n if stat < 0 then\r\n goto FatalExit\r\n end\r\nreturn \r\n\r\n*===========================================================================*\r\nFatalExit:\r\n Void = msg( '', Stat )\r\n Stat = set_printer( 'TERM' )\r\nreturn \r\n\r\n*===========================================================================*\r\nPageBreak:\r\n Stat = set_printer( 'PAGEBREAK' )\r\n\tLinesPrinted = 0\r\n for j = 1 to 24\r\n Stat = set_printer( 'TEXT', '' )\r\n next j\r\nreturn\r\n\r\n*===========================================================================*\r\n"
|
|
}
|
|
}
|
|
} |