Escolar Documentos
Profissional Documentos
Cultura Documentos
BIRT
Preparado por:
O Actuate BIRT é uma ferramenta de geração de relatórios de código aberto e voltada para
aplicações web, especialmente aquelas baseadas em Java e J2EE. É beneficiada por utilizar a
plataforma Eclipse e suas principais comunidades de utilizadores.
O BIRT é composto dos seguintes componentes: BIRT Report Engine e BIRT Report
Designer.
O BIRT Report Engine é uma ferramenta utilizada para visualizar relatórios. Ela gera relatórios
nos formatos HTM, CVS ou PDF para que você possa visualizar seu relatório no seu browser. O BIRT
Report Engine está embutido no seu sistema, ou seja, quando você instalar o seu software de
aplicação, você também instalará o BIRT Report Engine.
O BIRT Report Designer é utilizado para desenvolvimento de relatórios. O Designer gera
relatórios que integram com aplicações Web.
BIRT Report Design Files são arquivos XML com a extensão .rptdesign. relatórios BIRT podem
conter um ou vários arquivos. Os arquivos são categorizados por library files ou resource files.
Biblioteca de arquivos BIRT ou library files também são arquivos XML e tem a extensão
.rptlibrary. Biblioteca de arquivos BIRT contém código que é usado várias vezes por itens como por
exemplo: tipo de fonte, tamanho, número de páginas. Os arquivos individuais podem ser reutilizados
varias vezes no BIRT Report Designs.
Resource Files contem itens como imagens ou arquivos externos. Resource files podem ser usados
tanto para report design files quanto para library files. Arquivos de propriedade também são resource
files. Muitos modelos diferentes de relatórios usam o mesmo arquivos de propriedade.
O XML do BIRT Report details como library files e resource files são requerimentos do relatório.
Sem estes arquivos o relatório não executará.
Após esta breve apresentação sobre o BIRT, começaremos a traçar os passos para a instalação do
produto.
A maneira mais fácil de começar a desenvolver relatórios utilizando o BIRT é instalando o All-
in-One. Uma versão do All-in-One pode ser baixada em http://download.eclipse.org/birt/downloads .
Este download inclui o Framework do BIRT, Eclipse SDK, GEF e o EMF, tudo que se precisa para
começar.
Pré-requisitos: Java 1.5 JDK/JRE.
Para
1. Instalação do BIRT
a. Descompactar o arquivo “birt-report-designer-all-in-one-x_x_x.zip”;
b. Executar o arquivo “eclipse.exe”;
c. Selecionar um workspace.
Em alguns casos apresenta a seguinte mensagem de erro indicando que a versão do JVM é
inferior a 1.5. Certifique-se que uma versão igual ou superior do Java 1.5 JDK/JRE esteja instalada.
Caso a versão seja inferior a 1.5, baixar uma versão atualizada em
http://www.java.com/pt_BR/download .
Acrescente no valor da variável o local onde se encontra a pasta bin do Java JDK/JRE,
separado por ;
Ex.: C:\oracle\ora92\bin;C:\Arquivos de
programas\Java\jre1.6.0_07\bin;D:\Actuate8\iServer\ActuateIntegration\Uninstallerjre\bin;
1. No servidor onde está instalado o Maximo, localize e copie a pasta \com existente do caminho:
<Diretório do Máximo>\reports\birt\scriptlibrary\classes
2. No computador onde está sendo configurado o Birt para desenvolvimento, cole a pasta \com
copiada anteriormente no seguinte caminho:
<Diretório do Eclipse>\plugins\org.eclipse.birt.report.viewer_2.1.2.v20070205-
1728\birt\WEB-INF\classes
Se necessário crie a pasta classes para poder colocar a pasta \com dentro caso essa não exista.
A parte do caminho informada v20070205-1728 pode variar de acordo com a versão do Birt
instalada.
<Diretório do Eclipse>\plugins\org.eclipse.birt.report.viewer_2.1.2.v20070205-
1728\birt\WEB-INF\classes
5. Abra o arquivo que foi colado no passo 4 e informe os parâmetros de conexão ao banco de
dados para auxiliar seu desenvolvimento. Com essa configuração não será necessário publicar
o relatório todas as vezes que for necessário testar durante o desenvolvimento uma vez que será
possível testar dentro do próprio Eclipse. Repare que para cada tipo de banco de dados os
parâmetros são diferentes. O banco de dados utilizado no exemplo a seguir tem as seguintes
características:
Geralmente a conexão dos relatórios possuem o nome maximoDataSource, mas isso pode
variar de acordo com a vontade e necessidade do desenvolvedor. No exemplo será utilizado o
nome padrão.
Material Confidencial – Uso Interno 8
Após editar o arquivo não esqueça de salvar.
6. Será necessário copiar para o eclipse o driver de conexão JDBC. Para isso localize no servidor
onde está instalado o Maximo o driver no seguinte caminho:
<Diretório do Máximo>\applications\maximo\lib
Note que para cada banco de dados existe um driver diferente, copie o driver necessário para o banco
de dados utilizado por você conforme abaixo:
7. Cole o arquivo copiado no passo anterior no seguinte caminho do computador onde está sendo
configurado o Eclipse:
8. Copie do servidor onde está instalado o Maximo as pasta libraries, reports e templates
existentes no caminho:
<Diretório do Máximo>\reports\birt
9. Na maquina onde está sendo configurado o Birt, localize o diretório do Eclipse e crie uma
pasta de nome BibliotecaMaximo. Dentro da pasta criada cole as pastas libraries, reports e
templates copiadas no passo anterior.
10. Desse passo em diante as configurações serão feitas no próprio Eclipse, portanto abra-o.
16. Crie um novo projeto com o objetivo de armazenar somente os relatórios core do Maximo.
Para isso clique em File New Others
18. Escolha um nome para o projeto que irá conter os relatórios core e clique em Finish.
20. Expanda a pasta General e escolha a opção File System. Clique no botão Next em seguida.
6. Agora que já se tem uma fonte, é preciso criar um conjunto de dados que será utilizado no
relatório. Clique com o botão direito em Data Sets e em seguida em New Data Set.
7. Após ter clicado em Next irá abrir a janela onde deve ser definido a Query que ira recuperar os
dados. É possível montar a Query arrastando as tabelas e colunas ou digitando.
Digite a sentença SQL abaixo:
select *
from CLASSICMODELS.ORDERDETAILS
Para criar o cabeçalho utilize um Grid, Labels e Image. Para criar a tabela onde será
apresentado os dados, basta arrastar o Data Set para a tela. Em seguida clique em Preview para
visualizar o relatório.
Altere a tabela para que o relatório fique como na imagem abaixo. Para isso deve-se excluir o
cabeçalho do agrupamento, alterar a cor de fundo do cabeçalho e dos rodapés
10. Vamos inserir agora uma nova coluna na tabela que irá calcular o valor de cada produtor *
quantidade. Para isso selecione a coluna PRICEEACH clique com o botão direito->Insert-
>Column to the Right. Acrescente um label TOTAL no cabeçalho e um componente Data no
nível de detalhes.
13. Preencha o campo Name com WhereClause. Devemos garantir que o valor padrão da variável
seja “Where 1=1”. Para isso devemos alterar o campo Default Value para 1=1 e no campo
Format as Clicar em “Change...”.
Este relatório irá mostrar um gráfico com os cinco maiores volumes pendente separado por clientes.
Mostrará ainda o limite de credito dos clientes com pendências. Após o gráfico apresentará os pedidos
de todos os clientes e uma lista de todos os clientes.
1. Abra o Eclipse Birt.
2. Selecione o menu File->New->Report. Selecione um projeto onde será criado o relatório e dê
um nome ao relatório e clique em Next. Selecione o template Blank Report e clique em Finish.
3. O primeiro passo na criação de um relatório é fazer a conexão com o Banco de Dados, para
isso clique com o botão direito do mouse em Data Sources e selecione New Data Source. No
caso deste relatório usaremos o BD de exemplo que acompanha o BIRT, Selecione Classic
Models Inc. Sample Database, de um nome ao Data Source e clique em Next e em seguida em
Finish.
4. Agora que já se tem uma fonte, é preciso criar um conjunto de dados que será utilizado no
relatório. Clique com o botão direito em Data Sets e em seguida em New Data Set.
5. Após ter clicado em Next irá abrir a janela onde deve ser definido a Query que ira recuperar os
dados. É possível montar a Query arrastando as tabelas e colunas ou digitando.
Digite a sentença SQL abaixo:
select
CLASSICMODELS.CUSTOMERS.CUSTOMERNAME,
CLASSICMODELS.ORDERS.ORDERNUMBER,
CLASSICMODELS.ORDERS.ORDERDATE,
CLASSICMODELS.ORDERS.STATUS,
CLASSICMODELS.ORDERDETAILS.QUANTITYORDERED,
CLASSICMODELS.ORDERDETAILS.PRICEEACH
from
CLASSICMODELS.CUSTOMERS,
CLASSICMODELS.ORDERS,
CLASSICMODELS.ORDERDETAILS
where
CLASSICMODELS.CUSTOMERS.CUSTOMERNUMBER = CLASSICMODELS.ORDERS.CUSTOMERNUMBER
and
CLASSICMODELS.ORDERS.ORDERNUMBER = CLASSICMODELS.ORDERDETAILS.ORDERNUMBER
8. No cabeçalho insira um Label TOTAL e na linha de detalhes insira um campo do tipo data. No
campo Expression digite:
dataSetRow["QUANTITYORDERED"] * dataSetRow["PRICEEACH"]
10. Formate os campos que representam valor para que apresentem o símbolo $ na frente de cada
numero, separador de milhar e limitar as casas decimais para 2
select CLASSICMODELS.CUSTOMERS.CUSTOMERNAME,
CLASSICMODELS.CUSTOMERS.CONTACTLASTNAME,
CLASSICMODELS.CUSTOMERS.ADDRESSLINE1,
CLASSICMODELS.CUSTOMERS.CREDITLIMIT
from CLASSICMODELS.CUSTOMERS
select CUSTOMERS.CUSTOMERNAME,
CUSTOMERS.CUSTOMERNUMBER,CLASSICMODELS.CUSTOMERS.CREDITLIMIT,
ordersums.OrderTotals,
paymentsums.PaidTotals
from CUSTOMERS,
( select ORDERS.CUSTOMERNUMBER, sum(ORDERDETAILS.QUANTITYORDERED *
ORDERDETAILS.PRICEEACH) as OrderTotals
from ORDERS, ORDERDETAILS where ORDERDETAILS.ORDERNUMBER = ORDERS.ORDERNUMBER
group by ORDERS.CUSTOMERNUMBER) ordersums,
( select CUSTOMERS.CUSTOMERNUMBER, sum(PAYMENTS.AMOUNT) as PaidTotals
from CUSTOMERS, PAYMENTS where PAYMENTS.CUSTOMERNUMBER = CUSTOMERS.CUSTOMERNUMBER
group by CUSTOMERS.CUSTOMERNUMBER) paymentsums
18. Na próxima tela devemos criar uma coluna computada chamada Outsanding. Para adicionar
esta coluna, clique em Computed Columns, New e preencha o campo Expression com
“row["ORDERTOTALS"] - row["PAIDTOTALS"]”.
19. Para criar o gráfico, devemos adicionar um componente chart no relatório. Clique no ícone
e arraste para antes da tabela Customer Order.
20. Selecione o gráfico de barras, no campo Dimession selecione a opção 2D With Depth, no
campo Multiple Y Axis selecione Secondary Axis e em Series Type selecione Line Series.
21. No campo Select Data marque o botão Use Data from e selecione o Data Set OutsandingRatio.
Em seguida clique em Filters.
23. O próximo passo é indicar quais campos irão popular o eixo X e o eixo Y do gráfico. No
campo Y Axis 1 preencher com a linha Outsanding, para adicionar basta arrastar a coluna que
se encontra no Data Preview e soltar no campo indicado. No campo Y Axis 2 coloque a linha
CREDITLIMIT e no campo Category (X) Series coloque a linha CUSTOMERNAME.
24. Agora iremos desabilitar a legenda do eixo Y Axis 2, para isto, dentro do agrupamento Chart
Area e do agrupamento Axis, selecione a linha Y-Axis-2 e desmarque o Checkbox visible do
campo Labels.
27. Para alterar o titulo do gráfico, selecione Title e altere o campo Chart Title para Outsanding
Ratio
29. Faça os mesmos procedimentos do passo anterior para o eixo Value (Y) Series – 2, porem o
campo position deve ser Above
31. Agora iremos deixar o gráfico interativo, ou seja, quando o usuário clicar sobre as colunas o
relatório ira buscar o campo correspondente na tabela Customer Order. Primeiro devemos
adicionar um bookmark no campo CUSTOMERNAME. Para criar o bookmark selecione o
campo CUSTOMERNAME na tabela, na aba Properties clique no campo bookmark e em
seguida no botão . Adicione a seguinte sentença:
row["CUSTOMERNAME"]
Este relatório irá listar os contratos de compra agrupados por organização e listar as linhas do
contrato de compra. Será efetuado também a publicação do relatório no Maximo 7.
1. Abra o Eclipse Birt.
2. Selecione o menu File->New->Project procure a pasta Business Intelligence and Reporting
Tools e selecione Report Project e clique em Next.
3. Dê um nome ao seu projeto e clique em Finish.
4. Selecione o menu File->New->Report. Selecione um projeto onde será criado o relatório e dê
um nome ao relatório e clique em Next. Selecione o template Tivoli Maximo Subreport
Template e clique em Finish.
importPackage(Packages.com.ibm.tivoli.maximo.report.script);
mxReportScriptContext = MXReportScriptContext.initialize(reportContext);
MXReportScriptContext.close();
maximoDataSet = MXReportDataSetProvider.create(this.getDataSource().getName(),
this.getName());
maximoDataSet.open();
maximoDataSet.setQuery(sqlText);
8. Selecione agora o método Fetch do Data Set “ mainDataSet” e adicione o seguinte script:
if (!maximoDataSet.fetch())
return (false);
return (true);
9. Para criar as colunas de um clique duplo no Data Set. Na tela que abrirá clique em Output
Columns e digite as colunas uma a uma. Observe que os nomes das colunas devem ser
idênticos aos digitados anteriormente no método Fetch.
10. Para configurar o Data Set secundário, selecione o Data Set criado pelo Template(subDataSet),
clique em script, selecione o método open e adicione o seguinte script:
subDataSet = MXReportDataSetProvider.create(this.getDataSource().getName(),
this.getName());
subDataSet.open();
subDataSet.setQuery(sqlText);
Material Confidencial – Uso Interno 74
11. Selecione agora o método Fetch do Data Set “ subDataSet” e adicione o seguinte script:
if (!subDataSet.fetch())
return (false);
Após clicar em OK, repetir o passo anterior e criar os agrupamentos por CONTRACTNUM e
REVISIONNUM. A tabela ficará como na imagem abaixo:
Material Confidencial – Uso Interno 78
Onde o ícone representa o cabeçalho do relatório e o ícone o rodapé. Os ícones , e
representam respectivamente o cabeçalho do agrupamento por ORGID, CONTRACTNUM e
REVISIONNUM e os ícones , e representam respectivamente o rodapé do
agrupamento por REVISIONNUM, CONTRACTNUM e ORGID.
17. O próximo passo é a publicação do relatório mo Maximo 7.1. Logue no Maximo, clique em
GoTo -> Administration -> Reporting -> Report Administration.
Obs.: Os campos Report Type e Report Folder são preenchidos automaticamente quando se preenche
os dois campos anteriores. Se necessário altere estes campos.