Integrando Advpl com Java usando iReport

Propaganda
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 botão DOWNLOAD, em seguida selecione a plataforma ( SO )
2 - http://www.netbeans.org/
Clique no botão 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 licença.
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 através do
ShellExecute
@method ADVPL
ShellExecute( cFile, cOperation, cParams, cDir, nFlag )
Analisando os métodos 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 condições de iniciar nosso relatório iReport !
Bom, feito todo o ambiente, iremos iniciar nosso projeto. De início, 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 variáveis SIGACFG
Essas variáveis tem como objetivo, execução do relatório iReport. Detalhes de cada variável:
MV_RELDIR
MV_JADVHT
MV_JADVDB
MV_JADVUS
MV_JADVPW
Diretório onde encontra-se o .exe do nosso relatório Java
IP do Banco de Dados
Nome do Banco de Dados
Usuário do Banco de Dados *
Senha do Banco de Dados *
Obs.: Como você percebeu, o MV_JADVUS , e MV_JADVHT guardam informações do banco de
dados, como usuário e senha respectivamente. Claro que é possível inserir esses dados no
momento da passagem de parâmetros no fonte, porém, é mais fácil criar um usuário/senha no banco
de dados, apenas com role SELECT. Todos esses parâmetros podem sofrer alterações, e de fato, é
melhor guardar em variáveis.
Crie as demais variáveis, 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 relatório com iReport
Em seguida, teste a conexão.
Com a conexão ativa, agora iremos criar o relatório de fato.
O iReport encontra-se na pasta c:\iReport-2.0.5
ARQUIVO + ASSISTENTE DE RELATÓRIO
INSIRIR O SELECT (*) OU CAMPOS
ADICIONE OS CAMPOS DO RELATÓRIO
NESTE CASO, NÃO IREMOS EFETUAR AGRUPRAMENTO, CLIQUE EM PRÓXIMO
SELECIONE O MODELO DO RELATÓRIO.
Criando nosso executável a partir do .jar :
Exibindo o relatório.
Download