Pular para o conteúdo

Aprenda a criar relatórios complexos com Oracle Reports – Tutorial passo a passo

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.

SQL
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:

SQL
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.

Oracle Reports
2

Com o Weblogic iniciado e sem erros, execute o serviço Start Reports Builder (Iniciar Reports Builder) e poderemos começar.

3

Criando nosso primeiro relatório

O Reports iniciará com uma tela de boas vindas com as opções:

4
  • 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.

5

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.

SQL
SELECT codigo,
       descricao
FROM   empresa
6

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:

7

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á.

8

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.

9

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.

10

É 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:

11
12

Com tudo definido, vamos executar o nosso relatório. Para isso vá ao menu principal em Program>>Run Paper Layout ou tecle CTRL+R.

13

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 !

Sergio Willians

Sergio Willians

Sergio Willians é o fundador do GPO (Grupo de Profissionais Oracle) e possui quase 30 anos de experiência em tecnologias Oracle, sendo especialista em desenvolvimento Forms/Reports, PL/SQL e EBS (E-Business Suite) nos módulos Receivables, Payables e General Ledger. Atualmente trabalha na Scania Latin America, onde se dedica à área de integração de dados com Confluent Kafka. Sua paixão é compartilhar conhecimento com a comunidade Oracle, contribuindo para o crescimento e a excelência da plataforma.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

plugins premium WordPress