Você está na página 1de 24

Integrando Advpl com Java usando iReport

Por: Jos Roberto Teixeira

O primeiro passo definir o ambiente de desenvolvimento. 1. Java SDK 1.5 2. NetBeans 6.0 3. iReport Plugin NetBeans 4. iReport 2.5 5. Protheus 10 Usar qualquer SGBD ( Sql Server, DB2, Oracle, PostGres)

1 - Baixando o JDK http://java.sun.com/javase/downloads/index_jdk5.jsp Clique no boto DOWNLOAD, em seguida selecione a plataforma ( SO ) 2 - http://www.netbeans.org/ Clique no boto DOWNLOAD, seguido da plataforma. Ao termino do download, clique duplo em install, automaticamente ele ir selecionar a JVM previamente instalada.

3 - Baixando o Plugin iReport NetBeans http://plugins.netbeans.org/PluginPortal/faces/MainPage.jsp

Clique em iReport, em seguida clique em DOWNLOAD

Salve em qualquer pasta. Em seguida, execute o NetBeans e clique no menu tools + Plugins

Selecione e a guia download + Add Plugins

Clique em abrir. Em seguida, ir aparecer uma janela perguntado se voc aceita a licena.

4 - Baixando o iReport, no sourceforge. http://sourceforge.net/project/showfiles.php?group_id=64348

Agora, extrair o iReport que fique dessa forma:

C:\iReport-2.0.5

Passagem de parametros usando ShellExecute


Primeiro passo, criar novo projeto NetBeans6

Usando JSMooth

Passos 1 de 6 Passo 1

Passo 2

Passo 3

Passo 5

Passo 6

O TestJarToExe.exe foi gerado com sucesso. Agora, no Advpl iremos chama-lo atravs do ShellExecute @method ADVPL ShellExecute( cFile, cOperation, cParams, cDir, nFlag )

Analisando os mtodos Advpl x Java


static function callJ() local cFile := 'TestJarToExe.exe' local cDir := 'C:\nb_projects\TestJarToExe\dist\' local nRet := 0 nRet:= ShellExecute("Open", AllTrim(cFile),"RobertoTeixeira",cDir,1) return

package testjartoexe; import javax.swing.JOptionPane; /** * * @author Teixeira */ public class Main { /** * @param args the command line arguments */ public static void main(String[] args) { String sParam1 = args[0].toString(); JOptionPane.showMessageDialog(null, sParam1); } }

A partir de agora, temos condies de iniciar nosso relatrio iReport !

Bom, feito todo o ambiente, iremos iniciar nosso projeto. De incio, usando o Totvs Development Studio, daremos o nome de prjAdvplJava

O Projeto
Projeto configurado, ambiente configurados

Drivers
Os seguintes drivers banco de dados, devem constar na pasta lib do iReport

Criando variveis SIGACFG


Essas variveis tem como objetivo, execuo do relatrio iReport. Detalhes de cada varivel:

MV_RELDIR MV_JADVHT MV_JADVDB MV_JADVUS MV_JADVPW

Diretrio onde encontra-se o .exe do nosso relatrio Java IP do Banco de Dados Nome do Banco de Dados Usurio do Banco de Dados * Senha do Banco de Dados *

Obs.: Como voc percebeu, o MV_JADVUS , e MV_JADVHT guardam informaes do banco de dados, como usurio e senha respectivamente. Claro que possvel inserir esses dados no momento da passagem de parmetros no fonte, porm, mais fcil criar um usurio/senha no banco de dados, apenas com role SELECT. Todos esses parmetros podem sofrer alteraes, e de fato, melhor guardar em variveis.

Crie as demais variveis, com seus respectivos valores : MV_RELDIR MV_JADVHT MV_JADVDB MV_JADVUS MV_JADVPW C:\nb_projects\iReportDemo\dist\ localhost dadosadv postgres 12345

Criando o relatrio com iReport

Em seguida, teste a conexo.

Com a conexo ativa, agora iremos criar o relatrio de fato. O iReport encontra-se na pasta c:\iReport-2.0.5 ARQUIVO + ASSISTENTE DE RELATRIO

INSIRIR O SELECT (*) OU CAMPOS

ADICIONE OS CAMPOS DO RELATRIO

NESTE CASO, NO IREMOS EFETUAR AGRUPRAMENTO, CLIQUE EM PRXIMO

SELECIONE O MODELO DO RELATRIO.

Criando nosso executvel a partir do .jar :

Exibindo o relatrio.