Criando um relatório no Oracle Reports 11g Parte I
Olá Pessoal !
Estou de volta após alguns meses afastado da produção de artigos. Como prometido, antes de continuar a saga Oracle Forms, iniciarei a de Oracle Reports.
A idéia é disponibilizar artigos em partes, iniciando com o básico e avançando nas funcionalidades da ferramenta.
Oracle Reports
Para quem não conhece, o Oracle Reports faz parte da Suite Oracle Fusion Middleware que está atualmente na versão 11g. Com ele é possível a criação de relatórios com alto nível de complexidade, utilizando código SQL e PL/SQL. Para instalar a Suite, é necessário instalar o Java SDK e o Weblogics.
Preparando os dados
Primeiramente vamos criar uma pequena tabela para utilizarmos em nosso relatório. Criemos então uma tabela chamada EMPRESA que conterá apenas o código e a descrição.
CREATE TABLE empresa (
codigo NUMBER(05),
descricao VARCHAR2(200)
)
Não vou me ater a detalhes como a criação de Primary Key, pois não será necessário para atingirmos o objetivo desse artigo, mas nada impede de você criar uma estrutura mais detalhada e utilizá-la em seus testes. 😉
Agora iremos preencher os dados:
INSERT INTO empresa VALUES (1,’TESTE 1’)
/
INSERT INTO empresa VALUES (2,’TESTE 2’)
/
INSERT INTO empresa VALUES (3,’TESTE 3’)
/
INSERT INTO empresa VALUES (4,’TESTE 4’)
/
INSERT INTO empresa VALUES (5,’TESTE 5’)
/
Pronto, após o COMMIT já temos uma massa de dados para o nosso futuro relatório.
Iniciando o Reports
Supondo que você já tenha instalado na sua máquina todo o ambiente necessário para começarmos a criação do nosso relatório, iniciemos o Weblogics.
Com o Weblogic iniciado e sem erros, execute o serviço Start Reports Builder (Iniciar Reports Builder) e poderemos começar.
Criando nosso primeiro relatório
O Reports iniciará com uma tela de boas vindas com as opções:
- Use the Report Wizard: Permite utilizar um wizard para a criação do relatório;
- Build a new report manually: Cria um novo relatório sem nenhum tipo de informação;
- Open an existing report: Abre um report já existente.
Nós iremos utilizar a segunda opção (Build a new report manually), pois a idéia é aprender sobre o funcionamento da ferramenta detalhadamente.
Após esse passo, vá em File>>Connect ou simplesmente CTRL+J para conectarmos o Reports ao SCHEMA que tem acesso a nossa tabela EMPRESA e a nossos dados.
Observe a janela Object Navigator. Nela é possível ter acesso a qualquer objeto criado em nosso relatório. Dê um duplo clique em Data Model para iniciarmos a inclusão do nosso código SQL. O Data Model é a área onde criamos e modificamos nossos objetos utilizado no relatório (queries, formulas, data links, etc…) e é nela onde concentraremos boa parte de nossa atenção.
A tela abaixo irá aparecer, e escolheremos o objeto SQL para incluírmos a nossa Query que trará ás informações que queremos mostrar no relatório.
SELECT codigo,
descricao
FROM empresa
Por ser o nosso primeiro relatório, utilizaremos apenas essa query simples para trazer os dados.
Clique em OK e o Reports fará a validação da Query. Se algum erro de sintaxe for encontrado, uma mensagem de erro será exibida e a tela acima voltará a aparecer com o código SQL.
Caso o código esteja correto, a próxima tela será exibida:
Temos uma Query com um grupo em nosso modelo do Data Model. Clique com o botão direito na Query (Q_1) e escolha a opção Property Inspector. Uma janela com o mesmo nome irá abrir e mostrar as propriedades da Query.
- Name: Mostra o nome da Query (pode ser alterado);
- SQL Query Statement: Exibe o código SQL utilizado na criação do Data Model.
Nesse momento, apenas essas duas opções são relevantes para a criação de nosso relatório.
O próximo passo é desenhar o relatório. Para isso,dê um duplo clique na opção Paper Layout no Object Navigator. A tela de edição do relatório aparecerá.
Na primeira seta vermelha acima, crie um Repeating Frame no Layout. Após isso, clique com o botão direito do mouse e escolja o Property Inspector.
Os Repeating Frames são ligados aos grupos de cada Query no reports. Para cada registro gerado pela query e exibido no grupo, um Repeating Frame é exibido no relatório. Ex:
Grupo: G_EMPRESA
Código e Descricao
O Select retornará 5 linhas contendo código e descrição. Essas linhas serão exibidas uma abaixo da outra (é possível mudar a orientação) no espaço definido no Repeating Frame.
Para que isso aconteça, precisamos ligar o Repeating Frame ao Group. Vá ao Property Inspector e clique no list Item disponível no atributo Source. Lá estarão listados todos os grupos definidos no Data Model.
Após isso, vá até o atributo Horizontal Elasticity e mude o valor para Variable. Permitindo assim que os registros possam ser exibidos sem restrição de tamanho do Repeating Frame.
Agora precisamos incluir os campos e sua descrição. Para a descrição utilizaremos o objeto Text na Toolbar e para os campos o objeto Field. Os dois estão destacados com setas vermelhas na imagem abaixo.
É necessário também atribuir aos Fields os seus respectivos campos. Clique com o botão direito e acesse o Property Inspector e altere o valor do atributo Source para os campos que quer exibir (codigo e descricao).
Para mudar a cor, fonte e bordas dos objetos, utilize as opções Fill Color, Line Color e Text Color da Toolbar, que estão destacados na imagem abaixo:
Com tudo definido, vamos executar o nosso relatório. Para isso vá ao menu principal em Program>>Run Paper Layout ou tecle CTRL+R.
Parabéns, o seu primeiro relatório no Reports rodou com sucesso !!!
Nos próximos artigos trabalharemos com esse mesmo relatório e daremos uma cara melhor a ele e mais funcionalidades. Salve-o em formato RDF para que possa usá-lo como base dos próximos artigos.
Espero que esse artigo ajude a aqueles que estão iniciando na ferramenta.
Um grande abraço e até a próxima !