{ "header": { "version": 1, "type": "record" }, "body": { "record1": { "<1>": "declare function security_check, set_printer, get_printer, msg, fieldcount, entid, repository,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$insert company_equ\r\n$insert lsl_users_equ\r\n\r\nif security_check( 'CAR', Print$ ) then\r\n * see what they want to print\r\n PopupId = entid( @appid<1>, 'POPUP', '', 'CAR_PRINT_OPTS' )\r\n ChoosenRow = repository( 'EXECUTE', PopupId, @window, '' )\r\n if ChoosenRow else\r\n return 0 \r\n end\r\n Internal = ( index( ChoosenRow, '2', 1 ) )\r\n * pull off variables\r\n Company = .cust_name->text\r\n IssueDate = .issue_date->text\r\n Contact = .contact_name->text\r\n Address = xlate( 'COMPANY', .cust_no->text, company_address$, 'X' )\r\n Date = .issue_date->text\r\n TelePhone = oconv( xlate( 'COMPANY', .cust_no->text, company_phones$, 'X' )<1,1>, '[PHONE_FORMAT]' ) ;* take first phone#\r\n Fax = .fax->text\r\n AcctRep = oconv( .acct_rep->text, '[XLATE_CONV,LSL_USERS*FIRST_LAST]' )\r\n SalesRepDID = oconv( xlate( 'LSL_USERS', .acct_rep->text, lsl_users_did$, 'X' ), '[PHONE_FORMAT]' )\r\n if ( SalesRepDID <> '' ) else\r\n SalesRepDID = '(480) 668-4000'\r\n end\r\n CustPart = .cust_part->text \r\n WO = .wo->text\r\n QuoteNum = .quote_num->text\r\n LotInfo = .lot_info->array\r\n LotNos = LotInfo<2>\r\n RejQty = sum( LotInfo<3> )\r\n swap @vm:@vm with '' in LotNos\r\n if LotNos[-1,1] = @vm then LotNos[-1,1] = ''\r\n swap @vm with ', ' in LotNos\r\n Problem = .problem->text\r\n if Internal then\r\n Findings = .findings->text\r\n end else\r\n\t Findings = .cust_findings->text\r\n\t if Findings <> '' then\r\n\t * fine use the customer findings description\r\n\t end else\r\n\t Findings = .findings->text\r\n\t end\r\n end\r\n if Internal then\r\n CorrectiveAction = .correct_actions->text\r\n end else\r\n\t CorrectiveAction = .cust_correct_actions->text\r\n\t if CorrectiveAction <> '' then\r\n\t * fine use the customer corrective action description\r\n\t end else\r\n\t CorrectiveAction = .correct_actions->text\r\n\t end\r\n end\r\n if Internal then\r\n ContainAction = .contain_actions->text\r\n\t ContactNotes = .cust_contact_notes->text \r\n end else\r\n * not used for customer printout\r\n ContainAction = ''\r\n ContactNotes = ''\r\n end\r\n \r\n PrintPath = Printer_Select('',1)\t\t;* Get default printer path\r\n Stat = set_printer( 'INIT', '', '', .5:@fm:'':@fm:.5:@fm:'', 0 ,'',PrintPath)\r\n \r\n Font = \"Times New Roman,12,R,1\"\r\n convert ',' to @fm in Font\r\n Stat = set_printer( 'FONT', Font )\r\n if Internal then\r\n Void = set_printer( 'TEXT', 'CA#':.car_ref_id->text )\r\n end\r\n Font<3> = 'C'\r\n Stat = set_printer( 'FONT', Font ) \r\n Void = set_printer( 'TEXT', 'Epitronics Silicon Division' )\r\n Void = set_printer( 'TEXT', '550 West Juanita' )\r\n Void = set_printer( 'TEXT', 'Mesa, AZ 85210' )\r\n Void = set_printer( 'TEXT', '' )\r\n Void = set_printer( 'TEXT', '' )\r\n Font<2> = 16\r\n Stat = set_printer( 'FONT', Font )\r\n Void = set_printer( 'TEXT', 'Corrective Action Report' )\r\n if Internal then\r\n Void = set_printer( 'TEXT', \"*INTERNAL USE ONLY*\" )\r\n end\r\n Void = set_printer( 'TEXT', '' )\r\n Void = set_printer( 'TEXT', '' )\r\n Font<2> = 11\r\n Font<3> = 'L'\r\n Font<4> = 1\r\n Stat = set_printer( 'FONT', Font ) \r\n \r\n\r\n TableColInfo = '<+4320':@vm:'<+2880':@vm:'<+3600' \r\n \r\n * Company and Date Headings\r\n Table = ''\r\n Table<1> = 'Company:~Date:~Account Rep:'\r\n convert '~' to @vm in Table\r\n x = Set_Printer(\"ADDTABLE\", TableColInfo, '', Table, '', '', 1, TB_NONE )\r\n Font<4> = 0\r\n Stat = set_printer( 'FONT', Font ) \r\n * Company and Date Data\r\n Table = ''\r\n TData = Company\r\n if Internal then\r\n * use the Issue Date\r\n TData:='~':IssueDate\r\n end else\r\n * use today as the print date \r\n TData:='~':oconv( date(), 'D2/' )\r\n end\r\n TData:= '~':AcctRep\r\n Table<1> = TData\r\n convert '~' to @vm in Table\r\n x = Set_Printer(\"ADDTABLE\", TableColInfo, '', Table, '', '', 1, TB_NONE)\r\n Font<4> = 1\r\n Stat = set_printer( 'FONT', Font ) \r\n \r\n \r\n * Contact and Telephone No Headings\r\n Table = ''\r\n Table<1> = 'Contact:~Telephone No:~Quote#:'\r\n convert '~' to @vm in Table\r\n x = Set_Printer(\"ADDTABLE\", TableColInfo, '', Table, '', '', 1, TB_NONE)\r\n Font<4> = 0\r\n Stat = set_printer( 'FONT', Font ) \r\n * Contact and Telephone No Data\r\n Table = ''\r\n Table<1> = Contact:'~':TelePhone:'~':QuoteNum\r\n convert '~' to @vm in Table\r\n x = Set_Printer(\"ADDTABLE\", TableColInfo, '', Table, '', '', 1, TB_NONE)\r\n Font<4> = 1\r\n Stat = set_printer( 'FONT', Font ) \r\n \r\n \r\n * Address and Fax No Headings\r\n Table = ''\r\n Table<1> = 'Address:~Fax:~Work Order No:'\r\n convert '~' to @vm in Table\r\n \r\n x = Set_Printer(\"ADDTABLE\", TableColInfo, '', Table, '', '', 1, TB_NONE)\r\n Font<4> = 0\r\n Stat = set_printer( 'FONT', Font ) \r\n * Address and Fax No Data\r\n Table = ''\r\n Table<1> = Address<1,1>:'~':Fax:'~':WO\r\n Acnt = fieldcount( Address, @vm )\r\n for i = 2 to Acnt\r\n Table<-1> = Address<1,i>:'~'\r\n next i\r\n convert '~' to @vm in Table\r\n x = Set_Printer(\"ADDTABLE\", TableColInfo, '', Table, '', '', 1, TB_NONE)\r\n Font<4> = 1\r\n Stat = set_printer( 'FONT', Font ) \r\n \r\n * Part no Headings\r\n TableColInfo = '<+7200':@vm:'<+3600'\r\n Table = ''\r\n Table<1> = '~Part No:'\r\n convert '~' to @vm in Table\r\n x = Set_Printer(\"ADDTABLE\", TableColInfo, '', Table, '', '', 1, TB_NONE)\r\n Font<4> = 0\r\n Stat = set_printer( 'FONT', Font ) \r\n * Part no Data\r\n Table = ''\r\n Table<1> = '~':CustPart\r\n convert '~' to @vm in Table\r\n x = Set_Printer(\"ADDTABLE\", TableColInfo, '', Table, '', '', 1, TB_NONE)\r\n Void = set_printer( 'TEXT', '' ) \r\n Font<4> = 1\r\n Stat = set_printer( 'FONT', Font ) \r\n \r\n \r\n * # Rejects and Lot# Headings\r\n TableColInfo = '<+5040':@vm:'<+5040' \r\n Table = ''\r\n Table<1> = '# of wafers Rejected:~Lot No(s):'\r\n convert '~' to @vm in Table\r\n x = Set_Printer(\"ADDTABLE\", TableColInfo, '', Table, '', '', 1, TB_NONE)\r\n Font<4> = 0\r\n Stat = set_printer( 'FONT', Font )\r\n * # Rejects and Lot# Data\r\n Table = ''\r\n Table<1> = RejQty:'~':LotNos \r\n convert '~' to @vm in Table\r\n x = Set_Printer(\"ADDTABLE\", TableColInfo, '', Table, '', '', 1, TB_NONE)\r\n Font<4> = 1\r\n Stat = set_printer( 'FONT', Font )\r\n Void = set_printer( 'TEXT', '' )\r\n \r\n \r\n * Defective Description Headings\r\n TableColInfo = '<+10080'\r\n Void = set_printer( 'TEXT', 'Defective Description:' )\r\n Font<4> = 0\r\n Stat = set_printer( 'FONT', Font )\r\n * Defective Description Data\r\n Table = ''\r\n Table<1> = Problem \r\n x = Set_Printer(\"ADDTABLE\", TableColInfo, '', Table, '', '', 1, TB_NONE)\r\n Void = set_printer( 'TEXT', '' )\r\n Font<4> = 1\r\n Stat = set_printer( 'FONT', Font )\r\n \r\n \r\n * Findings Headings\r\n Void = set_printer( 'TEXT', 'Findings:' )\r\n Font<4> = 0\r\n Stat = set_printer( 'FONT', Font )\r\n * Findings Data\r\n Table = ''\r\n Table<1> = Findings\r\n x = Set_Printer(\"ADDTABLE\", TableColInfo, '', Table, '', '', 1, TB_NONE)\r\n Void = set_printer( 'TEXT', '' )\r\n Font<4> = 1\r\n Stat = set_printer( 'FONT', Font )\r\n \r\n \r\n * Containment Headings\r\n if Internal then\r\n\t Void = set_printer( 'TEXT', 'Containment Actions:' )\r\n\t Font<4> = 0\r\n\t Stat = set_printer( 'FONT', Font )\r\n\t * Containment Data\r\n\t Table = ''\r\n\t Table<1> = ContainAction\r\n x = Set_Printer(\"ADDTABLE\", TableColInfo, '', Table, '', '', 1, TB_NONE)\r\n\t Void = set_printer( 'TEXT', '' )\r\n\t Font<4> = 1\r\n\t Stat = set_printer( 'FONT', Font )\r\n end\r\n\r\n\r\n * Corrective Action Headings\r\n Void = set_printer( 'TEXT', 'Corrective Action:' ) \r\n Font<4> = 0\r\n Stat = set_printer( 'FONT', Font )\r\n * Corrective Action Data\r\n Table = ''\r\n Table<1> = CorrectiveAction\r\n x = Set_Printer(\"ADDTABLE\", TableColInfo, '', Table, '', '', 1, TB_NONE)\r\n Void = set_printer( 'TEXT', '' )\r\n Font<4> = 1\r\n Stat = set_printer( 'FONT', Font )\r\n\r\n \r\n * Contact Contact Notes\r\n if Internal then\r\n\t Void = set_printer( 'TEXT', 'Customer Contact Notes:' ) \r\n\t Font<4> = 0\r\n\t Stat = set_printer( 'FONT', Font )\r\n\t * Contact Notes Data\r\n\t Table = ''\r\n\t Table<1> = ContactNotes\r\n x = Set_Printer(\"ADDTABLE\", TableColInfo, '', Table, '', '', 1, TB_NONE)\r\n\t Void = set_printer( 'TEXT', '' )\r\n\t Font<4> = 1\r\n\t Stat = set_printer( 'FONT', Font )\r\n end\r\n\r\n\r\n * Responsible Person and Timing Headings\r\n TableColInfo = '<+5040':@vm:'<+5040'\r\n Table = ''\r\n Table<1> = 'Responsible person:~Timing:'\r\n convert '~' to @vm in Table \r\n x = Set_Printer(\"ADDTABLE\", TableColInfo, '', Table, '', '', 1, TB_NONE)\r\n Font<4> = 0\r\n Stat = set_printer( 'FONT', Font )\r\n * Responsible Person and Timing Data\r\n Table = ''\r\n Table<1> = oconv( .resp_user_id->text, '[XLATE_CONV,LSL_USERS*FIRST_LAST]' ):'~':.ant_car_inplace_date->text\r\n convert '~' to @vm in Table \r\n x = Set_Printer(\"ADDTABLE\", TableColInfo, '', Table, '', '', 1, TB_NONE)\r\n \r\n \r\n * footing \r\n TableColInfo = '<+10080'\r\n if Internal then\r\n * do not need the footing for internal use\r\n end else\r\n\t Void = set_printer( 'TEXT', '' )\r\n\t Void = set_printer( 'TEXT', '' ) \r\n\t Font<4> = 1\r\n\t Font<2> = 14\r\n\t Stat = set_printer( 'FONT', Font )\r\n\t Table = ''\r\n\t Table = 'If you have any questions, please contact the sales representative listed above at ':SalesRepDID\r\n x = Set_Printer(\"ADDTABLE\", TableColInfo, '', Table, '', '', 1, TB_NONE)\r\n end\r\n * termination\r\n stat = set_printer( 'TERM' ) \r\nend else\r\n security_err_msg( 'CAR', Print$ )\r\nend\r\nRETURN 0\r\n*===========================================================================*\r\n" } } }