compile function PRINT_LABELS2() begin condition pre: post: end condition declare function msg, set_property, send_event, dialog_box, utility, get_property declare function set_printer, fieldcount, key_sort,Printer_Select declare subroutine rlist, or_view, activate_save_select, yield, extract_si_keys declare subroutine btree.extract $insert logical $insert rlist_equates $insert msg_equates $insert names_equ $insert company_equ $insert oiprint_equates open 'COMPANY' to COTable else Void = msg( '', 'Unable to open COMPANY table...' ) return 0 end Stat = utility( 'CURSOR', 'H' ) Stmt = 'SELECT COMPANY WITH CO_TYPE = "C" BY CO_NAME' rlist( Stmt, target_activelist$, '', '', '' ) Nrec1 = '' Nrec2 = '' Nrec3 = '' Rcnt = 0 RowsPrinted = 0 if @reccount then gosub PrinterInit Eof = false$ NumKeys = @reccount Cnt = 0 loop readnext CId else Eof = true$ until Eof read CORec from COTable, CId else Void = msg( '', 'Unable to read COMPANY ':CId ) return 0 end Column = '' Attn = 'Attn: Y2k Contact/Quality Dept.' CoName = CORec Addr1 = CORec Addr2 = CORec Addr3 = CORec City = CORec St = CORec Zip = CORec if City then City := ', ' end Column = Attn:@vm:CoName:@vm:Addr1:@vm:Addr2:@vm:Addr3:@vm:City:St:' ':Zip Rcnt += 1 begin case case Rcnt = 1 Nrec1 = Column case Rcnt = 2 Nrec2 = Column case Rcnt = 3 Nrec3 = Column end case if Rcnt = 3 then gosub PrintRow end repeat if Nrec1 <> '' or Nrec2 <> '' or Nrec3 <> '' then * print last ones gosub PrintRow end end Void = set_printer( 'TERM' ) Stat = utility( 'CURSOR', 'A' ) return 0 *================================================================================================* PrinterInit: * initialize the printer and set the headings PrintPath = Printer_Select('') ;* Get Printer Path Void = set_printer( 'INIT', '', '', .25:@fm:.38:@fm:'':@fm:.5, '', 2 ,PrintPath) Font = 'Times New Roman,7,L,0' ;* 10 point, Left just, Bold convert ',' to @fm in Font Void = set_printer( 'FONT', Font ) Void = set_printer( 'TEXT', '' ) return *================================================================================================* PrintRow: if RowsPrinted = 10 then Void = set_printer( 'PAGEBREAK' ) RowsPrinted = 0 Void = set_printer( 'TEXT', '' ) end * do printing Table = '' Table<-1> = Nrec1<1,1>:@vm:Nrec2<1,1>:@vm:Nrec3<1,1> x = Set_Printer("TABLE", Table, '', 2.81:@fm:2.81:@fm:2.81, 'L':@fm:'L':@fm:'L', TB_NONE) Table = '' Table<-1> = Nrec1<1,2>:@vm:Nrec2<1,2>:@vm:Nrec3<1,2> x = Set_Printer("TABLE", Table, '', 2.81:@fm:2.81:@fm:2.81, 'L':@fm:'L':@fm:'L', TB_NONE) Table = '' Table<-1> = Nrec1<1,3>:@vm:Nrec2<1,3>:@vm:Nrec3<1,3> x = Set_Printer("TABLE", Table, '', 2.81:@fm:2.81:@fm:2.81, 'L':@fm:'L':@fm:'L', TB_NONE) Table = '' Table<-1> = Nrec1<1,4>:@vm:Nrec2<1,4>:@vm:Nrec3<1,4> x = Set_Printer("TABLE", Table, '', 2.81:@fm:2.81:@fm:2.81, 'L':@fm:'L':@fm:'L', TB_NONE) Table = '' Table<-1> = Nrec1<1,5>:@vm:Nrec2<1,5>:@vm:Nrec3<1,5> x = Set_Printer("TABLE", Table, '', 2.81:@fm:2.81:@fm:2.81, 'L':@fm:'L':@fm:'L', TB_NONE) Table = '' Table<-1> = Nrec1<1,6>:@vm:Nrec2<1,6>:@vm:Nrec3<1,6> x = Set_Printer("TABLE", Table, '', 2.81:@fm:2.81:@fm:2.81, 'L':@fm:'L':@fm:'L', TB_NONE) * reset vars RowsPrinted += 1 Rcnt = 0 Nrec1 = '' Nrec2 = '' Nrec3 = '' return