Estou apanhando no jasperreport

esse relatorio esta na linguagem procedural clipper que envolver duas tabela forne + movpe



sele 0
cvar1 := 'FORNE'+nl
cSql := "select * from "+cvar1+" where vende = '"+cfu+"' and sql_deleted = 'F' order by vende,grupo,cotac" 
use sql (cSql) alias sql_forne via 'MySql'
go top
do while .t.   
    if lin > 58
        if aeimp = 'p' 
            npg++
            @ 01, 000 PSay "Data: "+DtoC(Date())
            @ 01, 020 psay substr(nemp,1,35)  
            @ 01, 059 PSay tran(nPg,"Pagina : 9999999999")
            @ 02, 001 psay 'RELATORIO DAS SENHAS POR CONSULTOR'  
            @ 02, 065 psay 'HORA :' 
            @ 02, 071 psay time() 
            @ 03, 001 psay replicate('=',79) 
            @ 04, 001 psay 'Consultor:' 
            @ 04, 011 psay nfu 
            @ 05, 001 psay replicate('=',79) 
            lin = 6
            @ lin, 001 psay 'Categoria  Senha   Dt Sorteio Dt Reserva  Total de Dias'
            					 *123456789012345678901234567890123456789012345678901234567890
            					 *         1         2         3         4         5
				LIN = LIN + 1
            @ LIN, 001 psay replicate('=',79) 
            LIN = LIN + 1
            pas = 't'
        endif
    endif
*    if vende = cfu
    	  	cgr = grupo
    	  	ctc = cotac
			sele 0
			cvar1 := 'MOVPE'+nl
			cSql := "select * from "+cvar1+" where grupo = '"+cgr+"' and cotac = '"+ctc+"' and comte = ' ' and cance = ' ' and sql_deleted = 'F'" 
			use sql (cSql) alias sql_movpe3 via 'MySql'
    	  	go top
    	  	*seek cgr+ctc
    	  	*if found()
			*	if cance = ' ' .and. comte = ' '
         if reccount() = 0 
				passa = 'f'
			else
		  		passa = 't'
		  		go top
		  	endif		
		  	close sql_movpe3
		  	*	else
			*	  	passa = 'f'	
		  	*	endif	
    	  	*else
			*	passa = 'f'
		  	*endif
		  /*dbsetorder(4)
		  seek cgr+ctc
		  if found()
		  	   if cance = ' ' .and. comte = ' '
		  			passa = 't'
		  		else
				  	passa = 'f'	
		  		endif	
		  else
	  			passa = 'f'
		  endif*/
			sele 0
			cvar1 := 'MOVPE'+nl
			cSql := "select * from "+cvar1+" where grupo = '"+cgr+"' and cota2 = '"+ctc+"' and comte = ' ' and cance = ' ' and sql_deleted = 'F'" 
			use sql (cSql) alias sql_movpe4 via 'MySql'
    	  	go top
         if reccount() = 0 
				passa = 'f'
			else
		  		passa = 't'
		  		go top
		  	endif		
		  	close sql_movpe4
		  	sele sql_forne
		  	if passa = 't'
		  	else	
	        	if aeimp = 'p' 
	            @ lin, 001 psay grupo  
	            @ lin, 010 psay cotac
	            @ lin, 020 psay dtoc(datso)
	            @ lin, 031 psay dtoc(datrs)
	            tdias = date() - datrs
	            @ lin, 043 psay tran(tdias,"9,999,999")
	            lin = lin + 1
	        	elseif aeimp = 'u'
	            tdias = date() - datrs  
	            cgr = grupo
	            ctc = cotac
	            dts = datrs
	            dtss = datso
	            tds = tdias
	            AaDd(aArray,{cgr,ctc,dtss,dts,tds,nx})
	            nx++
	        	endif              
		  endif
*    endif
    skip            
    if eof()  
        exit        
    endif         
enddo

bem tentei usar a variavel string [] para receber dados do dataset e criei paramentros no relatorio para receber o array mais so mostra o ultimo registro nao começa do primeiro ate o final

gostaria de receber dicas melhor como devo proceder para criar no jasper esse relatorio;