123 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			123 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 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<company_co_name$>
 | |
|         Addr1     = CORec<company_address$,1>
 | |
|         Addr2     = CORec<company_address$,2>
 | |
|         Addr3     = CORec<company_address$,3>
 | |
|         City      = CORec<company_city$>
 | |
|         St        = CORec<company_state$>
 | |
|         Zip       = CORec<company_zip$> 
 | |
| 
 | |
|         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
 |