Avançar para a área de conteúdo

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

Na primeira vez que você efetua sign in no developerWorks, um perfil é criado para você. Informações selecionadas do seu perfil developerWorks são exibidas ao público, mas você pode editá-las a qualquer momento. Seu primeiro nome, sobrenome (a menos que escolha ocultá-los), e seu nome de exibição acompanharão o conteúdo que postar.

Todas as informações enviadas são seguras.

  • Fechar [x]

Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

Todas as informações enviadas são seguras.

  • Fechar [x]

Geração de relatórios formatados para servidores de dados IBM usando o CLPPlus

O caminho fácil para relatórios dos seus dados do DB2 e Informix

Mangesh Shanbhag, Staff Software Engineer, Common Application Development, IBM
Mangesh é Staff Software Engineer e trabalha na IBM India nos últimos três anos e meio. Desde então, ele está associado com o desenvolvimento de ferramentas de Information Management no India Software Lab. Ele tem cerca de cinco anos de experiência em desenvolvimento de produto de software. Atualmente, ele trabalha com a equipe Common Application Development, em que desenvolve recursos de relatórios, script e compatibilidade com o SQL do CLPPlus. Ele é formado em ciência da computação pela VTU Karnataka (Índia). Em seu tempo livre, ele gosta de ler livros e assistir a filmes. Ele também é um ávido fã de esportes.

Resumo:  É fácil e simples gerar relatórios a partir de uma linha de comando com a nova ferramenta chamada CLPPlus, incluída no IBM® DB2® 9.7. Agora, os usuários de banco de dados podem gerar relatórios complexos e perfeitamente formatados usando seus recursos de geração avançada de relatórios. A capacidade de se conectar a todos os servidores de dados da IBM torna o CLPPlus adequado e consistente para administradores de banco de dados, desenvolvedores e usuários que trabalham em diversos servidores de dados da IBM, incluindo o DB2 para Linux®, UNIX® e Windows®, o DB2 para z/OS®e o Informix®. Neste artigo, obteremos os detalhes sobre opções importantes de formatação de relatório suportadas pelo CLPPlus, e aprenderemos a criar relatórios seguindo os exemplos.

Data:  06/Fev/2012
Nível:  Introdutório
Atividade:  251 visualizações
Comentários:  


A introdução da ferramenta CLPPlus no DB2 9.7 para Linux, UNIX e Windows trouxe muitas vantagens em relação a ferramentas anteriores do DB2:

  • Ela tem muito mais recursos de geração de relatórios do que o antigo processador da linha de comando do DB2.
  • Os recursos podem ser facilmente utilizados em scripts para geração regular de relatórios ou manutenção de banco de dados.
  • Por se tratar de uma ferramenta de cliente remoto, ele pode se conectar a bancos de dados remotos sem a necessidade de catalogar os bancos de dados remotos na máquina local.
  • Sua independência de servidor permite se conectar a diferentes servidores de dados IBM de dentro de uma única sessão.
  • Ele tem uma série de recursos de compatibilidade com SQL para DB2 que são úteis ao migrar de outros bancos de dados relacionais. Esses recursos permitem migrar scripts SQL de outros produtos de servidor de banco de dados para o DB2, no estado em que se encontram ou com modificações mínimas. Isso reduz significativamente o esforço de migração envolvido na modificação dos scripts de fornecedores de bancos de dados diferentes.

Nas seções seguintes, aprenderemos sobre as principais opções de formatação de relatório suportadas pelo CLPPlus, com exemplos para ajudar a ter uma introdução.

Ativar e executar o CLPPlus

O CLPPlus está disponível em todas as instalações do DB2 9.7 e posterior. Ele é instalado automaticamente por padrão juntamente com outros componentes de servidor e cliente. Também faz parte do pacote de drivers de servidor de dados do DB2, que pode ser transferido por download gratuitamente e instalado de forma independente (consulte Recursos).

Depois instalar o CLPPlus, é possível iniciá-lo em uma das três maneiras a seguir:


Introdução às opções de relatório

O CLPPlus fornece vários comandos que podem ser usados para especificar o formato do relatório para uma consulta executada. Esses comandos podem ser classificados em três categorias básicas:

  • Formatação de valores de coluna usando o comando COLUMN .
  • Uso de funções de agregação do lado do cliente e formatos correspondentes para valores de coluna específicos usando os comandos BREAK e COMPUTE .
  • Geração de cabeçalhos e rodapés dinâmicos nos relatórios gerados.

Nas seções a seguir, examine cada uma dessas categorias.


Usando o comando COLUMN

O CLPPlus fornece diversas opções para formatar colunas. Eles são úteis na formatação de relatórios que contêm diversas colunas de diferentes tipos e larguras. O comando COLUMN permite a formatação de valores de colunas, bem como a modificação dos atributos das colunas, como texto de cabeçalho, largura, e assim por diante. A Listagem 1 fornece um exemplo da sintaxe do comando COLUMN :


Listagem 1. Comando COLUMN

COL[UMN] [column_name-1 [CLE[AR] |
                       FOR[MAT] format_spec |
                       HEA[DING] heading_text |
                       JUSTIFY [ LEFT | RIGHT | CENTER ] |
                       WRAPPED | TRUNCATED |
                       FOLD_AFTER |
                       FOLD_BEFORE |
                       NEWLINE |
                       LIKE <column_name-2> |
                       NULL <user-text> |
                       PRINT|NOPRINT |
                       NEW_VALUE variable-name |
                       OLD_VALUE variable-name |
                       ALIAS  alias-name |
                       ON |
                       OFF...]]

Na Listagem 1, column_name-1 especifica o nome de uma coluna no conjunto de resultados de uma consulta executada. O comando COLUMN é usado para determinar a especificação de formato da coluna column_name-1.

As várias opções do comando são as seguintes:

  • CLEAR - Limpa as especificações definidas anteriormente para essa coluna.
  • FORMAT - Indica as especificações de formato para os valores dos dados numéricos e alfanuméricos.
  • HEADING - Fornece o texto do título da coluna.
  • JUSTIFY - Justificação à esquerda, direita ou centro dos valores da coluna.
  • WRAPPED - Quando o valor da coluna ultrapassa a largura dela, o valor é quebrado para a próxima linha.
  • TRUNCATED - Quando o valor da coluna ultrapassa a largura dela, os caracteres excessivos são truncados.
  • NULL - Quando são encontrados valores nulos, é impresso o texto fornecido pelo usuário.
  • PRINT | NOPRINT - Especifica se a coluna no conjunto de resultados deve ser impressa ou não.
  • ON | OFF - Liga ou desliga as especificações de uma coluna específica.
  • LIKE - Copia as especificações de formato de column-name-1 a partir de column-name-2.
  • FOLD_AFTER, FOLD_BEFORE - Quando um registro ultrapassa o número de caracteres disponíveis para uma linha, essa opção permite decidir se deseja dobrar o registro —antes ou depois da coluna atual.
  • NEWLINE - Igual à opção FOLD_AFTER .
  • ALIAS - Fornece um nome alternativo cujas especificações de formato de coluna serão usadas em column-name-1.

O exemplo a seguir demonstra como usar essas opções. Observação: Esses exemplos supõem que o banco de dados SAMPLE, que vem como padrão na instalação de servidor DB2, está disponível.

Formatação de acordo com os tipos de colunas

Se quisermos que os valores do relatório sejam formatados de acordo com os tipos de colunas, a opção de coluna FORMAT pode ser definida nas colunas para especificar o formato do relatório para os valores da coluna.

O exemplo na Listagem 2 mostra como usar as opções FORMAT para dois tipos de colunas diferentes. A coluna SALARY é formatada com o formato decimal "99999,99". Os valores que não aderem a esse formato serão exibidos usando o caractere de antífen (#). A coluna LASTNAME é formatada com "A6", que restringe os valores da coluna ao máximo de seis caracteres.


Listagem 2. Formatação de tipos de colunas

SQL>column salary format 99999.99
SQL>column lastname format A6
SQL>firstnme, lastname, salary from employee ;

FIRSTNME     LASTNA      SALARY
------------ ------ -----------
CHRISTINE    HAAS      ########
MICHAEL      THOMPS    94250.00
             ON

SALLY        KWAN      98250.00
JOHN         GEYER     80175.00
IRVING       STERN     72250.00
EVA          PULASK    96170.00
             I

EILEEN       HENDER    89750.00
             SON

THEODORE     SPENSE    86150.00
             R

VINCENZO     LUCCHE    66500.00
             SSI

SEAN         O'CONN    49250.00
             ELL

Restringindo as larguras da coluna

Este exemplo mostra como restringir valores de coluna a determinada largura. As opções de coluna WRAPPED e TRUNCATED dão a opção de quebrar ou truncar valores se eles ultrapassarem o comprimento especificado. Por padrão, as colunas são configuradas para WRAPPED.

Na Listagem 3, FORMAT A8 configura FIRSTNME e LASTNAME para terem a largura máxima de oito caracteres. Conforme ilustrado na Listagem 3, os caracteres adicionais podem ser quebrados ou truncados. Os pontos (...) indicam que parte do nome foi truncada.


Listagem 3. Formatação de larguras de coluna

SQL>column firstnme format A8 wrapped
SQL>column lastname format A8 truncated
SQL>select firstnme, lastname from emp;

FIRSTNME LASTNAME
-------- --------
CHRISTIN HAAS
E

MICHAEL  THOMPSON
SALLY    KWAN
JOHN     GEYER
IRVING   STERN
EVA      PULASKI
EILEEN   HENDE...
THEODORE SPENSER
VINCENZO LUCCH...
SEAN     O'CON...
DELORES  QUINTANA
HEATHER  NICHOLLS
BRUCE    ADAMSON
ELIZABET PIANKA
H

MASATOSH YOSHI...
I

MARILYN  SCOUTTEN

Usando opções de justificação

Vejamos agora como justificar as colunas usando o CLPPlus. O exemplo na A Listagem 4 supõe que queremos que todos os valores alfanuméricos sejam justificados à esquerda ou centralizados, e que todos os valores numéricos sejam justificados à direita.


Listagem 4. Justificando colunas

SQL>column firstnme justify left
SQL>column midinit justify center
SQL>column salary justify right
SQL>select  firstnme, midinit, salary from employee;

FIRSTNME     MIDINIT      SALARY
------------ ------- -----------
CHRISTINE       I      152750.00
MICHAEL         L       94250.00
SALLY           A       98250.00
JOHN            B       80175.00
IRVING          F       72250.00
EVA             D       96170.00
EILEEN          W       89750.00
THEODORE        Q       86150.00
VINCENZO        G       66500.00
SEAN                    49250.00
DELORES         M       73800.00
HEATHER         A       68420.00
BRUCE                   55280.00
ELIZABETH       R       62250.00
MASATOSHI       J       44680.00
MARILYN         S       51340.00
JAMES           H       50450.00
DAVID                   57740.00
WILLIAM         T       68270.00
JENNIFER        K       49840.00
JAMES           J       42180.00
SALVATORE       M       48760.00


Uso de BREAK e COMPUTE

Os dois comandos importantes usados para a geração de relatórios são BREAK e COMPUTE. Esses comandos são usados em conjunto durante a geração de relatórios para formatar o relatório com base nos valores de colunas. O uso de BREAK e COMPUTE permite que os relatórios sejam divididos em diversos conjuntos de registros relacionados, tornando o relatório mais legível e classificado.

Comando BREAK

O comando BREAK sempre é usado em tandem com o comando COMPUTE . Toda vez que uma linha é processada para impressão, o comando BREAK compara o valor da coluna com o valor anterior. Quando o valor da coluna muda, o processamento da linha quebra e executa as ações especificadas no comando COMPUTE e depois a ação SKIP especificada no comando BREAK é executada.

Esta é a sintaxe de BREAK:

BREAK ON <column-name>  [ SKIP  < PAGE |  n  > ]

onde n é um número inteiro.

Comando COMPUTE

COMPUTE sempre é usado com o comando BREAK . Quando é alcançado um ponto de interrupção de uma coluna específica (column-2), o COMPUTE daquela coluna é chamado. A função agregada especificada é executada em todos os valores de column-1 desde o último ponto de interrupção de column-2.

Esta é a sintaxe:

COMPUTE <function LABEL text OF column-1>+ ON column-2

onde a função é: [ SUM | MAX | MIN | AVG | COUNT | NUM | STD | VAR ].

Quebra em um valor de coluna

Se um relatório precisar ser dividido em conjuntos separados de registros com base em determinado valor de coluna, é possível usar o comando BREAK . No exemplo da Listagem 5, a quebra é definida na coluna EDLEVEL. Assim, cada vez que o valor da coluna EDLEVEL muda, a tabela de resultados é quebrada com um separador de quebra e uma linha é ignorada.


Listagem 5. Quebra de valores de coluna

SQL>break on edlevel skip 2
SQL>select edlevel, firstnme, lastname, salary, bonus from employee order by edlevel;


EDLEVEL FIRSTNME     LASTNAME             SALARY       BONUS
------- ------------ --------------- ----------- -----------
     12 JOHN         PARKER             35340.00      300.00
     12 MAUDE        SETRIGHT           35900.00      300.00
     12 MICHELLE     SPRINGER           35900.00      300.00
*******


     14 THEODORE     SPENSER            86150.00      500.00
     14 SEAN         O'CONNELL          49250.00      600.00
     14 JAMES        JEFFERSON          42180.00      400.00
     14 PHILIP       SMITH              37750.00      400.00
     14 WING         LEE                45370.00      500.00
     14 GREG         ORLANDO            39250.00      600.00
     14 HELENA       WONG               35370.00      500.00
*******


     15 DANIEL       SMITH              49180.00      400.00
     15 MARIA        PEREZ              37380.00      500.00
*******


     16 JOHN         GEYER              80175.00      800.00

EDLEVEL FIRSTNME     LASTNAME             SALARY       BONUS
------- ------------ --------------- ----------- -----------
     16 IRVING       STERN              72250.00      500.00
     16 EVA          PULASKI            96170.00      700.00
     16 EILEEN       HENDERSON          89750.00      600.00
     16 DELORES      QUINTANA           73800.00      500.00
     16 BRUCE        ADAMSON            55280.00      500.00
     16 MASATOSHI    YOSHIMURA          44680.00      500.00
     16 JAMES        WALKER             50450.00      400.00
     16 DAVID        BROWN              57740.00      600.00
     16 SYBIL        JOHNSON            47250.00      300.00
     16 RAMLAL       MEHTA              39950.00      400.00
     16 JASON        GOUNOT             43840.00      500.00
     16 KIYOSHI      YAMAMOTO           64680.00      500.00
     16 ROY          ALONZO             31840.00      500.00
*******

Quebrando e calculando

Se seu relatório precisar ser quebrado em um conjunto de registros com base em determinado valor de coluna, e depois for preciso executar alguns cálculos nesses registros, é possível usar BREAK e COMPUTE em conjunto, como mostrado na Listagem 6.

Na Listagem 6, BREAK é definido na coluna EDLEVEL. COMPUTE foi definido na coluna EDLEVEL, que executará uma operação de cálculo na coluna SALARY. Assim, cada vez que o valor da coluna EDLEVEL muda, o relatório é quebrado e a operação de cálculo especificada MAX é executada na coluna SALARY. O número de linhas ignoradas após cada ponto de interrupção pode ser modificado usando a opção SKIP do comando BREAK .


Listagem 6. Executando um cálculo em uma quebra

SQL> BREAK ON EDLEVEL SKIP 2

SQL> COMPUTE MAX LABEL MAX_SAL of SALARY on EDLEVEL

SQL> SELECT EDLEVEL, EMPNO, FIRSTNME, SALARY FROM EMPLOYEE ORDER BY EDLEVEL;

EDLEVEL EMPNO  FIRSTNME          SALARY
------- ------ ------------ -----------
     12 000290 JOHN            35340.00
     12 000310 MAUDE           35900.00
     12 200310 MICHELLE        35900.00
*******                     -----------
MAX_SAL                        35900.00



     14 000100 THEODORE        86150.00
     14 000120 SEAN            49250.00
     14 000230 JAMES           42180.00
     14 200120 GREG            39250.00
     14 200330 HELENA          35370.00
*******                     -----------
MAX_SAL                        86150.00
...
...

Diversos cálculos

No exemplo da Listagem 7, diversos cálculos foram executados para cada ponto de interrupção da coluna SALARY. Esse exemplo mostra como diversos cálculos separados por vírgula podem ser definidos em um único comando COMPUTE . MAX e AVG são as operações executadas nas colunas BONUS e SALARY, respectivamente, para cada ponto de interrupção em EDLEVEL.


Listagem 7. Diversos cálculos

SQL> BREAK on EDLEVEL skip 1
SQL> COMPUTE MAX label MAX_BON of BONUS, AVG label AVG_SAL of SALARY 
     on EDLEVEL
SQL> SELECT EDLEVEL, FIRSTNME, BONUS, SALARY FROM EMPLOYEE ORDER 
     BY EDLEVEL;

EDLEVEL FIRSTNME           BONUS      SALARY
------- ------------ ----------- -----------
     12 JOHN              300.00    35340.00
     12 MAUDE             300.00    35900.00
     12 MICHELLE          300.00    35900.00
*******              -----------
MAX_BON                   300.00
*******                          -----------
AVG_SAL                             35713.33


     14 THEODORE          500.00    86150.00
     14 SEAN              600.00    49250.00
     14 JAMES             400.00    42180.00
     14 PHILIP            400.00    37750.00
     14 WING              500.00    45370.00
     14 GREG              600.00    39250.00
     14 HELENA            500.00    35370.00
*******              -----------
MAX_BON                   600.00
*******                          -----------
AVG_SAL                             47902.85

...
...

Omitindo valores

Pode haver cenários em que gostaríamos de fazer alguns cálculos em conjuntos de registros quebrados com base em determinados valores de coluna, mas em que não queríamos imprimir essa coluna no relatório. Nesse caso, usamos a opção NOPRINT . Use as opções PRINT e NOPRINT de coluna para ativar e desativar a impressão de determinada coluna do relatório.

Na Listagem 8 , a operação MAX é executada na coluna SALARY para cada ponto de interrupção da coluna EDLEVEL. Mas visto que NOPRINT está ativado para a coluna EDLEVEL, essa coluna é omitida do relatório. Como mostrado, não imprimir a coluna EDLEVEL no relatório não afeta as operações de cálculo e quebra definidas nela.


Listagem 8. Omitindo valores do relatório

SQL>break on EDLEVEL skip 1
SQL>column edlevel noprint
SQL>COMPUTE MAX LABEL MAX_SAL of SALARY on EDLEVEL
SQL>SELECT EDLEVEL, EMPNO, FIRSTNME, SALARY FROM EMPLOYEE ORDER BY EDLEVEL;

EMPNO  FIRSTNME          SALARY
------ ------------ -----------
000290 JOHN            35340.00
000310 MAUDE           35900.00
200310 MICHELLE        35900.00
                    -----------
                        MAX_SAL
                       35900.00


000100 THEODORE        86150.00
000120 SEAN            49250.00
000230 JAMES           42180.00
000300 PHILIP          37750.00
000330 WING            45370.00
200120 GREG            39250.00
200330 HELENA          35370.00
                    -----------
                        MAX_SAL
                       86150.00
...
...
            


Títulos

O CLPPlus suporta títulos, um recurso útil para melhorar a aparência do seu relatório. O uso de títulos juntamente com números de página e opções de coluna torna os relatórios mais atraentes e informativos. Títulos em várias linhas, definidos usando uma lista de título separada por vírgulas, também são suportados. Existe a opção de alinhar os títulos à esquerda, centro ou à direita da página, e é possível usar a opção de ignorar para deixar linhas em branco depois de cada título.

A lista a seguir oferece detalhes sobre os tipos de títulos suportados pelo CLPPlus:

  • TTITLE: título no alto da página; exibido no alto de cada página do relatório.
  • BTITLE: título ao pé da página. Assim como TTITLE, é exibido na parte inferior de cada página do relatório.
  • REPHEADER: cabeçalho de relatório; exibido apenas uma vez no início do relatório.
  • REPFOOTER: rodapé de relatório; exibido apenas uma vez no fim do relatório.

Uso de TTITLE e BTITLE

O exemplo na Listagem 9 mostra o uso de TTITLE e BTITLE em um relatório. O tamanho da linha é configurado para o valor 70 a fim de alinhar o título com a exibição da tabela. Aqui, o título no topo é justificado à direita e o título de rodapé é justificado no centro.


Listagem 9. Formatação de larguras da coluna

SQL> ttitle right 'Employee Data'
SQL> btitle center 'IBM Corporation'
SQL> select empno, firstnme, lastname, edlevel, salary, bonus from emp ;
SQL> set linesize 70

                                                        Employee Data

EMPNO  FIRSTNME     LASTNAME        EDLEVEL      SALARY       BONUS
------ ------------ --------------- ------- ----------- -----------
000010 CHRISTINE    HAAS                 18   152750.00     1000.00
000020 MICHAEL      THOMPSON             18    94250.00      800.00
000030 SALLY        KWAN                 20    98250.00      800.00
000050 JOHN         GEYER                16    80175.00      800.00
000060 IRVING       STERN                16    72250.00      500.00
000070 EVA          PULASKI              16    96170.00      700.00
000090 EILEEN       HENDERSON            16    89750.00      600.00
000100 THEODORE     SPENSER              14    86150.00      500.00
000110 VINCENZO     LUCCHESSI            19    66500.00      900.00
000120 SEAN         O'CONNELL            14    49250.00      600.00
000130 DELORES      QUINTANA             16    73800.00      500.00

                            IBM Corporation

                                                        Employee Data

EMPNO  FIRSTNME     LASTNAME        EDLEVEL      SALARY       BONUS
------ ------------ --------------- ------- ----------- -----------
000210 WILLIAM      JONES                17    68270.00      400.00
000220 JENNIFER     LUTZ                 18    49840.00      600.00
000230 JAMES        JEFFERSON            14    42180.00      400.00
000240 SALVATORE    MARINO               17    48760.00      600.00
000250 DANIEL       SMITH                15    49180.00      400.00
000260 SYBIL        JOHNSON              16    47250.00      300.00
000270 MARIA        PEREZ                15    37380.00      500.00
000280 ETHEL        SCHNEIDER            17    36250.00      500.00
000290 JOHN         PARKER               12    35340.00      300.00
000300 PHILIP       SMITH                14    37750.00      400.00
000310 MAUDE        SETRIGHT             12    35900.00      300.00

                            IBM Corporation	

Números de página

No exemplo abaixo, TTITLE é definido com a opção PGNO , que faz o número da página ser exibido no alto de cada página do relatório.


Listagem 10. Números de página

SQL> TTITLE right 'PAGE NO: ' PGNO
SQL> select empno, firstnme, salary, edlevel from employee order by edlevel ;
                             PAGE NO: 1

EMPNO  FIRSTNME          SALARY EDLEVEL
------ ------------ ----------- -------
000290 JOHN            35340.00      12
000310 MAUDE           35900.00      12
200310 MICHELLE        35900.00      12
000100 THEODORE        86150.00      14
000120 SEAN            49250.00      14
000230 JAMES           42180.00      14
000300 PHILIP          37750.00      14
000330 WING            45370.00      14
200120 GREG            39250.00      14
200330 HELENA          35370.00      14
000250 DANIEL          49180.00      15
000270 MARIA           37380.00      15
000050 JOHN            80175.00      16
000060 IRVING          72250.00      16
000070 EVA             96170.00      16

                             PAGE NO: 2

EMPNO  FIRSTNME          SALARY EDLEVEL
------ ------------ ----------- -------
000090 EILEEN          89750.00      16
000130 DELORES         73800.00      16
000150 BRUCE           55280.00      16
000170 MASATOSHI       44680.00      16
000190 JAMES           50450.00      16



Variáveis em títulos

Nesse exemplo, um TTITLE de várias linhas (separado por vírgulas) é usado em combinação com PGNO e a variável de coluna NEW_VALUE . NEW_VALUE é uma variável que pode ser definida em qualquer coluna e ela contém o novo valor dessa coluna em qualquer ponto. De modo similar, OLD_VALUE contém o último valor de uma coluna. As variáveis de novo e antigo valor podem ser usadas com TTITLE e BTITLE respectivamente.

Como mostra a Listagem 11, TTITLE é exibido em duas linhas. A primeira linha exibe o número da página atual e a segunda, o novo valor da coluna EDLEVEL. Da mesma forma, BTITLE exibe o valor antigo da coluna EDLEVEL.


Listagem 11. Variáveis em títulos

SQL> break on edlevel skip 1
SQL> column edlevel new_value new_edlevel_value old_value old_edlevel_value
SQL> TTITLE RIGHT 'PAGE NO: ' PGNO skip , center 'Education Level : '   new_edlevel_value
SQL> BTITLE CENTER 'Education Level : ' old_edlevel_value
SQL> select  edlevel, empno, firstnme, lastname, salary from employee order by edlevel;

                                                                             
                                                           PAGE NO: 1
                         Education Level : 12                             

EDLEVEL EMPNO  FIRSTNME     LASTNAME             SALARY
------- ------ ------------ --------------- -----------
     12 000290 JOHN         PARKER             35340.00
     12 000310 MAUDE        SETRIGHT           35900.00
     12 200310 MICHELLE     SPRINGER           35900.00
*******

     14 000100 THEODORE     SPENSER            86150.00
     14 000120 SEAN         O'CONNELL          49250.00
     14 000230 JAMES        JEFFERSON          42180.00
     14 000300 PHILIP       SMITH              37750.00
     14 000330 WING         LEE                45370.00
     14 200120 GREG         ORLANDO            39250.00
     14 200330 HELENA       WONG               35370.00
*******

     15 000250 DANIEL       SMITH              49180.00
     15 000270 MARIA        PEREZ              37380.00
*******

                         Education Level : 15                             

                                                           PAGE NO: 2
                         Education Level : 16                             

EDLEVEL EMPNO  FIRSTNME     LASTNAME             SALARY
------- ------ ------------ --------------- -----------
     16 000050 JOHN         GEYER              80175.00
     16 000060 IRVING       STERN              72250.00
     16 000070 EVA          PULASKI            96170.00
     16 000090 EILEEN       HENDERSON          89750.00
     16 000130 DELORES      QUINTANA           73800.00
     16 000150 BRUCE        ADAMSON            55280.00
     16 000170 MASATOSHI    YOSHIMURA          44680.00
     16 000190 JAMES        WALKER             50450.00
     16 000200 DAVID        BROWN              57740.00
     16 000260 SYBIL        JOHNSON            47250.00
     16 000320 RAMLAL       MEHTA              39950.00
     16 000340 JASON        GOUNOT             43840.00
     16 200170 KIYOSHI      YAMAMOTO           64680.00
     16 200340 ROY          ALONZO             31840.00
*******

     17 000160 ELIZABETH    PIANKA             62250.00

                         Education Level : 17                             

                                                           PAGE NO: 3
                         Education Level : 17                             

EDLEVEL EMPNO  FIRSTNME     LASTNAME             SALARY
------- ------ ------------ --------------- -----------
     17 000180 MARILYN      SCOUTTEN           51340.00
     17 000210 WILLIAM      JONES              68270.00
     17 000240 SALVATORE    MARINO             48760.00
     17 000280 ETHEL        SCHNEIDER          36250.00
     17 200240 ROBERT       MONTEVERDE         37760.00
     17 200280 EILEEN       SCHWARTZ           46250.00
*******

     18 000010 CHRISTINE    HAAS              152750.00
     18 000020 MICHAEL      THOMPSON           94250.00
     18 000140 HEATHER      NICHOLLS           68420.00
     18 000220 JENNIFER     LUTZ               49840.00




Cabeçalhos e rodapés de relatório

A Listagem 12 mostra como usar cabeçalhos e rodapés de relatório. Diferentemente de TTITLE e BTITLE, eles são exibidos apenas no início e fim do relatório, independentemente do número de páginas que ele tenha.


Listagem 12. Usando cabeçalhos e rodapés

SQL> REPHEADER CENTER 'EMPLOYEE INFORMATION REPORT'
SQL> REPFOOTER CENTER 'END OF EMP INFORMATION REPORT'
SQL> select empno, firstnme, lastname, salary, bonus, edlevel from employee where edlevel
between 16 and 19;

                    EMPLOYEE INFORMATION REPORT                          

EMPNO  FIRSTNME     LASTNAME             SALARY       BONUS EDLEVEL
------ ------------ --------------- ----------- ----------- -------
000010 CHRISTINE    HAAS              152750.00     1000.00      18
000020 MICHAEL      THOMPSON           94250.00      800.00      18
000140 HEATHER      NICHOLLS           68420.00      600.00      18
000160 ELIZABETH    PIANKA             62250.00      400.00      17
000180 MARILYN      SCOUTTEN           51340.00      500.00      17
000210 WILLIAM      JONES              68270.00      400.00      17
000220 JENNIFER     LUTZ               49840.00      600.00      18
000240 SALVATORE    MARINO             48760.00      600.00      17
000280 ETHEL        SCHNEIDER          36250.00      500.00      17
200010 DIAN         HEMMINGER          46500.00     1000.00      18
200140 KIM          NATZ               68420.00      600.00      18
200220 REBA         JOHN               69840.00      600.00      18
200240 ROBERT       MONTEVERDE         37760.00      600.00      17
200280 EILEEN       SCHWARTZ           46250.00      500.00      17

14 rows were retrieved.

                   END OF EMP INFORMATION REPORT


Conclusão

Após ler este artigo e acompanhar os exemplos apresentados, já devemos estar prontos para começar a gerar relatórios usando a ferramenta de linha de comando CLPPlus. Este artigo abrangeu algumas das opções importantes de formatação de relatório, o que dá um entendimento melhor e mais claro dos recursos de geração de relatórios do CLPPlus. Há diversas outras opções do CLPPlus que podem ser usadas para aprimorar os relatórios formatando-os e melhorando sua capacidade de leitura. O aspecto de independência de servidor do CLPPlus o torna consistente e, assim, minimiza o esforço de aprendizado da ferramenta para usuários de servidores de dados IBM.


Recursos

Aprender

Obter produtos e tecnologias

Discutir

Sobre o autor

Mangesh é Staff Software Engineer e trabalha na IBM India nos últimos três anos e meio. Desde então, ele está associado com o desenvolvimento de ferramentas de Information Management no India Software Lab. Ele tem cerca de cinco anos de experiência em desenvolvimento de produto de software. Atualmente, ele trabalha com a equipe Common Application Development, em que desenvolve recursos de relatórios, script e compatibilidade com o SQL do CLPPlus. Ele é formado em ciência da computação pela VTU Karnataka (Índia). Em seu tempo livre, ele gosta de ler livros e assistir a filmes. Ele também é um ávido fã de esportes.

Ajuda para Relatar Abuso

Relatar abuso

Obrigado. Esta entrada foi sinalizada para atenção do moderador.


Ajuda para Relatar Abuso

Relatar abuso

Falha no envio do Relatório de abuso. Tente novamente mais tarde.


developerWorks: Registre-se


Precisa de um ID IBM?
Esqueceu seu ID IBM?


Esqueceu sua senha?
Alterar sua senha

Ao clicar em Enviar, você concorda com os termos de uso do developerWorks.

 


Na primeira vez que você efetua sign in no developerWorks, um perfil é criado para você. Informações selecionadas do seu perfil developerWorks são exibidas ao público, mas você pode editá-las a qualquer momento. Seu primeiro nome, sobrenome (a menos que escolha ocultá-los), e seu nome de exibição acompanharão o conteúdo que postar.

Selecione seu nome de exibição

Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

(Deve possuir de 3 a 31 caracteres.)


Ao clicar em Enviar, você concorda com os termos de uso do developerWorks.

 


Classificar este artigo

Comentários

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Information Management
ArticleID=789930
ArticleTitle=Geração de relatórios formatados para servidores de dados IBM usando o CLPPlus
publish-date=02062012

Conheça a IBM da sua cidade

Virtual Branch Office Brasil

A IBM está mais perto do que você imagina!


Tags

Help
Use o campo de pesquisa para encontrar todos os tipos de conteúdo no My developerWorks com essa tag.

Use a barra de rolagem para ver mais ou menos tags.

Tags populares mostra as principais tags para esta zona de conteúdo em particular (por exemplo, Java technology, Linux, WebSphere).

Minhas tags mostra suas tags para esta zona de conteúdo em particular (por exemplo, Java technology, Linux, WebSphere).

Use o campo de pesquisa para localizar todos os tipos de conteúdo no Meu developerWorks com essa tag. Tags populares mostra as tags principais para essa zona de conteúdo particular (por exemplo, tecnologia Java, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere). Minhas tags mostra as suas tags para essa zona de conteúdo em particular (por exemplo, tecnologia Java, Linux, WebSphere).