Genere informes con formato para servidores de datos IBM usando CLPPlus

La ruta fácil hacia reportes para sus datos DB2 e Informix

Generar informes desde una línea de comando es fácil y simple con la nueva herramienta llamada CLPPlus, introducida en el IBM® DB2® 9.7. Ahora los usuarios de base de datos pueden generar informes complejos con formatos pulcros usando sus recursos de generación de reportes. LA capacidad para conectarse a todos los servidores de datos IBM hace que CLPPlus sea adecuado y consistente para administradores de base de datos, desarrolladores y usuarios que trabajan a lo largo de múltiples servidores de datos IBM, incluyendo DB2 para Linux®, UNIX®y Windows®, DB2 for z/OS®, e Informix®. En este artículo, obtenga detalles sobre importantes opciones para formatos de informes soportadas por CLPPlus y aprenda cómo generar informes siguiendo los ejemplos.

Mangesh Shanbhag, Staff Software Engineer, Common Application Development, IBM

Mangesh Shanbhag photoMangesh es ingeniero de software de personal que ha trabajado en IBM India durante los últimos tres años y medio. Desde entonces, ha estado asociado con el desarrollo de herramientas Information Management en el India Software Lab. Él cuenta con cerca de cinco años completos de experiencia en desarrollo de productos de software. Actualmente, trabaja con el equipo Common Application Development, donde está desarrollando informes CLPPlus, scripting, y recursos de compatibilidad SQL. Cuenta con un B.E. en ciencias de la computación de la VTU Karnataka (India). En su tiempo libre, ama la lectura y ver películas. También es un ávido fanático de los deportes.



16-05-2012

La introducción de la herramienta CLPPlus en DB2 9.7 for Linux, UNIX y Windows nos presenta numerosas ventajas con respecto a herramientas DB2 anteriores:

  • Esta tiene muchos más recursos de informes que el antiguo procesador de línea de comando DB2.
  • Las capacidades pueden utilizarse fácilmente en scripts para informes regulares de base de datos o para mantenimiento.
  • Al ser una herramienta de cliente remoto, esta puede conectarse a bases de datos remotas sin necesidad de que usted catalogue as bases de datos remotas en la máquina local.
  • Su independencia de servidor le permite conectarse a diferentes servidores de datos IBM desde una sesión única.
  • Tiene numerosos recursos de compatibilidad DB2 que son útiles a la hora de migrar desde otras bases de datos relacionales. Estos recursos le permiten migrar scripts SQL desde otros productos de servidor de base de datos hacia DB2, bien sea tal como están, o con modificaciones mínimas. Esto reduce en gran medida el esfuerzo de migración incluido en la modificación de scripts de diferentes proveedores de bases de datos.

En las siguientes secciones, aprenda sobre las principales opciones de generación de informes soportadas por CLPPlus, con ejemplos para ayudarle a iniciar.

Tenga el CLPPlus listo y en funcionamiento

CLPPlus está disponible en todas las instalaciones DB2 9.7 y posteriores. Este se instala automáticamente de forma predeterminada, junto con otros componentes de servidor y de cliente. Este también es parte del paquete DB2 Data Server Driver, el cual puede ser descargado sin costo e instalado de forma independiente (vea Recursos).

En cuanto haya instalado CLPPlus, usted puede iniciar CLPPlus en cualquiera de las siguientes tres formas:

  • En Windows, haga clic en Start > Run para abrir una ventana de comandos. Ingreseclpplus y luego haga clic en OK.
    Figura 1. Iniciando desde un prompt de comandos Windows Run
    Iniciando desde un prompt de comandos Windows Run
  • Desde una ventana de comandos de sistema operativo, ingrese clpplus y presione Enter. Esto aplica para shells de comandos Windows, AIX y Linux.
    Figura 2. Iniciando desde un prompt de comandos
    Iniciando desde un prompt de comandos
  • Vaya a Start > All Programs > IBM DB2 y luego seleccione Command Line Tools > Command Line Processor Plus.
    Figura 3. Iniciando desde la interfaz GUI
    Iniciando desde la interfaz GUI

Inicie con las opciones de reporte

CLPPlus proporciona diversos comandos que usted puede usar para especificar el formato de informe para una consulta ejecutada. Estos comandos pueden categorizarse ampliamente en tres categorías:

  • Asignando formato a los valores de columna usando el comando COLUMN .
  • Usando funciones de agregación del lado del cliente y los formatos correspondientes para valores de columna específicos usando los comandos BREAK y COMPUTE .
  • Generando encabezados y pies de página dinámicos para los informes generados

En las siguientes secciones, examine cada una de estas categorías.


Usando el comando COLUMN .

CLPPlus ofrece varias opciones para dar formato a las columnas. Estos son útiles para el formateo de informes que contengan múltiples columnas de diferentes tipos y amplitudes. El comando COLUMN permite dar formato a valores de columna y también modificar atributos de columna como texto de encabezado, ancho, y demás. El Listado 1 proporciona un exemplo de sintaxis del comando COLUMN :

Listado 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...]]

En el Listado 1, column_name-1 especifica el nombre de una columna en el conjunto de resultados de una consulta ejecutada. El comando COLUMN se utiliza para definir la especificación de formato para la columna column_name-1.

Las diferentes opciones del comando son las siguientes:

  • CLEAR - Limpia las especificaciones definidas previamente para esta columna.
  • FORMAT - Indica especificaciones de formato para valores de datos numéricos y alfanuméricos.
  • HEADING - Proporciona texto de encabezado de columna.
  • JUSTIFY - Alinea los valores de columna a la izquierda, la derecha o los centra.
  • WRAPPED - Cuando el valor de la columna excede el ancho de columna, empaqueta el valor en la siguiente fila.
  • TRUNCATED - Cuando el valor de la columna excede el ancho de columna, trunca los caracteres excedentes.
  • NULL - Cuando encuentra valores nulos, imprime texto proporcionado por el usuario.
  • PRINT | NOPRINT - Especifica si la columna del conjunto de resultados se va a imprimir o no.
  • ON | OFF - Activa o desactiva las especificaciones de columna de una columna específica.
  • LIKE - Copia las especificaciones de formato para column-name-1 desde column-name-2.
  • FOLD_AFTER, FOLD_BEFORE - Cuando n registro excede el número de caracteres disponible para una fila, esta opción le permite decidir dónde ubicar el registro—después o antes de la columna actual.
  • NEWLINE - Igual que la opción FOLD_AFTER .
  • ALIAS - Proporciona un nombre de alias cuyas especificaciones de formato de columna se usarán para column-name-1.

Los siguientes ejemplos demuestran cómo usted podría usar estas opciones. Nota: Estos ejemplos suponen la disponibilidad de la base de datos SAMPLE que se incluye de forma estándar con la instalación del servidor DB2.

Asignación de formato según los tipos de columna

Si usted desea que los valores del informe sean formateados según los tipos de columna, entonces la opción FORMAT puede ser definida en las columnas para especificar el formato del informe para los valores.

El ejemplo del Listado 2 muestra cómo podía usted usar las opciones FORMAT para dos tipos de columna diferentes. La columna SALARY está formateada con un formato decimal "99999.99." Los valores que no se adhieran a este formato se mostrarán usando el carácter de numeral (#). La columna LASTNAME es formateada con "A6," lo cual restringe los valores de columna a un número máximo de seis caracteres.

Listado 2. Asignando formato a tipos de columna
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

Restringiendo anchos de columna

Este ejemplo le muestra cómo restringir valores de columna a un ancho particular. Las opciones de columna WRAPPED y TRUNCATED le ofrecen la opción de empaquetar o de truncar los valores si exceden la extensión especificada. De forma predeterminada, las columnas están configuradas en WRAPPED.

En el Listado 3, FORMAT A8 establece que FIRSTNME y LASTNAME tengan un ancho máximo de ocho caracteres. Como se ilustra en el Listado 3, los caracteres adicionales pueden ser empaquetados o truncados. Los puntos (...) indican que parte del nombre ha sido truncado.

Listado 3. Asignando formato a anchos de columna
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 las opciones de justificación

Ahora, observemos cómo puede usted justificar sus columnas usando CLPPlus. El ejemplo del Listado 4 supone que usted desea que todos los valores alfanuméricos queden justificados a la izquierda o centrados, y que todos los valores numéricos se justifiquen a la derecha.

Listado 4. Justificando columnas
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

Usando BREAK y COMPUTE

Los dos comandos importantes usados para la generación de informes son BREAK y COMPUTE. Estos comandos se usan conjuntamente durante la generación de reportes para dar formato a reporte con base en los valores de columna. Usar BREAK y COMPUTE permite que los informes se dividan en múltiples conjuntos de registros relacionados, permitiendo así que los informes sea más ordenados y fáciles de leer.

El comando BREAK .

El comando BREAK siempre se usa de forma conjunta con el comando COMPUTE . Cada vez que se procesa una fila para procesamiento, el comando BREAK compara el valor de la columna con el valor anterior. Cuando el valor de la columna cambia, el procesamiento de fila interviene y efectúa las acciones especificadas en el comando COMPUTE y luego la acción SKIP especificada en el comando BREAK es llevada a cabo.

Esta es la sintaxis para BREAK:

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

donde n es un entero.

El comando COMPUTE .

COMPUTE siempre se utiliza con el comando BREAK . Cuando se llega a un punto de quiebre para una columna específica (column-2), COMPUTE es invocado para esa columna. La función agregada específica es llevada a cabo sobre todos los valores de column-1 desde el último punto de quiebre para column-2.

Esta es la sintaxis:

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

donde function es: [ SUM | MAX | MIN | AVG | COUNT | NUM | STD | VAR ].

Interrumpiendo en un valor de columna

Si un informe necesita ser dividido en conjuntos separados de registros con base en un valor de columna en particular, entonces usted puede usar el comando BREAK . En el ejemplo del Listado 5, la interrupción está definida para la columna EDLEVEL. Así, cada vez que el valor de la columna EDLEVEL cambie, la tabla de resultado se divide con un separador de interrupción y una línea punteada.

Listado 5. Interrumpiendo en valores de columna
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
*******

Interrumpiendo y luego computando

Si su informe necesita ser dividido en conjuntos separados de registros con base en un valor de columna en particular, y luego usted necesita llevar a cabo algo de procesamiento sobre esos registros, puede usar BREAK y COMPUTE juntos, como se muestra en el Listado 6.

En el Listado 6, BREAK se define para la columna EDLEVEL. COMPUTE ha sido definido sobre la columna EDLEVEL, lo cual efectúa una operación de cómputo común sobre la columna SALARY. Así, cada vez que el valor de la columna EDLEVEL cambia, el informe se interrumpe y la operación de cómputo especificada MAX se lleva a cabo en la columna SALARY. El número de líneas punteadas después de cada punto de quiebre puede modificarse usando la opción SKIP del comando BREAK .

Listado 6. Efectuando un cómputo en una interrupción
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
...
...

Múltiples cómputos

En el ejemplo del Listado 7, se han efectuado múltiples cómputos para cada punto de quiebre de la columna SALARY. Este ejemplo muestra cómo se pueden definir múltiples cómputos separados por comas, en un solo comando COMPUTE . Las operaciones MAX y AVG se llevan a cabo en las columnas BONUS y SALARY respectivamente para cada punto de quiebra en EDLEVEL.

Listado 7. Múltiples cómputos
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

...
...

Omitiendo valores

Puede haber escenarios donde usted pueda desear hacer algunos cómputos sobre conjuntos de registros interrumpidos con base en un valor de columna en particular, pero tal vez no desee imprimir esa columna en el informe. En este caso, usted usa la opción NOPRINT . Use las opciones de columna PRINT y NOPRINT para activar y desactivar la impresión de una columna particular del informe.

En el Listado 8, la operación MAX es efectuada en la columna SALARY para cada punto de quiebre de la columna EDLEVEL. Pero como NOPRINT está activado para la columna EDLEVEL, esta columna es omitida del reporte. Como se muestra, no imprimir la columna EDLEVEL en el reporte no afecta las operaciones de computación e interrupción definidas en ella.

Listado 8. Omitiendo valores en su informe
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

CLPPlus soporta títulos, un recurso importante para mejorar la apariencia de su informe. El uso de títulos junto con números de página y opciones de columna hace que los informes sean mucho más atractivos e informativos. También se soportan los títulos multi-línea, definidos usando listas de títulos separados por coma. Usted tiene la opción de alinear los títulos a la izquierda, a la derecha o centrados, y puede usar la opción de saltar para dejar renglones en blanco después de cada título.

LA siguiente lista detalla los tipos de títulos soportados en CLPPlus:

  • TTITLE: Título de la parte superior de la página; se muestra en la parte superior de cada página de un informe.
  • BTITLE: El título inferior. como TTITLE, este se muestra en la parte inferior de cada página del informe.
  • REPHEADER: Encabezado de informe; se muestra solo una vez al inicio del informe.
  • REPFOOTER: Pie de página del informe; se muestra solo una vez en la parte final del reporte.

Usando TTITLE y BTITLE

El ejemplo del Listado 9 muestra el uso de TTITLE y BTITLE en un informe. El tamaño de línea está configurado a un valor de 70, para alinear el título con la presentación de tabla. Aquí, el título superior está justificado a la derecha y el título inferior está centrado.

Listado 9. Formateando anchos de columna
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

En el siguiente ejemplo, TTITLE es definido con la opción PGNO , o cual hace que el número de página se muestre en la parte superior de cada página del reporte.

Listado 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

Variables en títulos

En este ejemplo se usa TTITLE multi-línea (separados con comas) en combinación con PGNO y la variable de columna NEW_VALUE . La variable NEW_VALUE , la cual puede definirse sobre cualquier columna, contiene el nuevo valor para esa columna en cualquier punto dado. De forma similar OLD_VALUE contiene el último valor de una columna. Se pueden usar variables antiguas y nuevas con TTITLE y BTITLE respectivamente.

Como se muestra en el Listado 11, TTITLE se muestra en dos líneas. LA primera línea muestra el número de página actual, y la segunda línea muestra el nuevo valor de la columna EDLEVEL. De manera similar, BTITLE muestra el valor antiguo de la columna EDLEVEL.

Listado 11. Variables e 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

Encabezados y pies de página de informes

El Listado 12 muestra cómo usa encabezados y pies de página de informes en un reporte. A diferencia de TTITLE y BTITLE, estos solo se muestran al comienzo y al final del informe, sin importar el número de páginas del informe.

Listado 12. Usando encabezados y pies de página
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

Conclusión

Después de leer este artículo y de seguir los ejemplos presentados, usted deberá estar en capacidad para comenzar a generar reportes usando la línea de comando CLPPlus. Este artículo cubrió algunas opciones importantes de la asignación de formatos a informes, lo cual debe proporcionarle un mejor y más claro entendimiento de los recursos de generación de informes en CLPPlus. Hay diversas opciones adicionales en CLPPlus que pueden utilizarse para mejorar los informes al asignarles formato y al mejorar su facilidad de lectura. El aspecto de independencia de servidor de CLPPlus le hace consistente y minimiza el esfuerzo de aprendizaje de herramientas para los usuarios de todos los servidores de datos IBM.

Recursos

Aprender

Obtener los productos y tecnologías

  • DB2 Data Server Driver: Descargue el paquete DB2 Data Server Driver para obtener CLPPlus.
  • DB2 para Linux, UNIX y Windows: Descargue una versión de prueba gratuita de DB2 9.7 for Linux, UNIX y Windows.
  • DB2 Express-C 9.7: Descargue DB2 Express-C 9.7.2, un producto totalmente licenciado disponible para toda la comunidad , sin costo.
  • Construya su próximo proyecto de desarrollo con software de prueba IBM, disponible para descarga directamente de developerWorks.

Comentar

Comentarios

developerWorks: Ingrese

Los campos obligatorios están marcados con un asterisco (*).


¿Necesita un IBM ID?
¿Olvidó su IBM ID?


¿Olvidó su Password?
Cambie su Password

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


La primera vez que inicie sesión en developerWorks, se creará un perfil para usted. La información en su propio perfil (nombre, país/región y nombre de la empresa) se muestra al público y acompañará a cualquier contenido que publique, a menos que opte por la opción de ocultar el nombre de su empresa. Puede actualizar su cuenta de IBM en cualquier momento.

Toda la información enviada es segura.

Elija su nombre para mostrar



La primera vez que inicia sesión en developerWorks se crea un perfil para usted, teniendo que elegir un nombre para mostrar en el mismo. Este nombre acompañará el contenido que usted publique en developerWorks.

Por favor elija un nombre de 3 - 31 caracteres. Su nombre de usuario debe ser único en la comunidad developerWorks y debe ser distinto a su dirección de email por motivos de privacidad.

Los campos obligatorios están marcados con un asterisco (*).

(Por favor elija un nombre de 3 - 31 caracteres.)

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


Toda la información enviada es segura.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=90
Zone=Information mgmt
ArticleID=816129
ArticleTitle=Genere informes con formato para servidores de datos IBM usando CLPPlus
publish-date=05162012