Como bien sabemos con el comando STRQMQRY podremos ejecutar un comando SQL desde un proceso batch (CL). Si se tratase de un comando SELECT podemos direccionar la salida del query a un archivo o reporte.
Lo que comúnmente hacemos para generar un listado utilizando un query del gestor de consultas DB2 (STRQMQRY) es ejecutarlo en batch y derivar la información a un archivo temporal, luego crearemos un programa que imprima el resultado. Esto implica crear un programa nuevo, y hasta tal vez, un archivo de impresora - PRTF.
El gestor de consultas DB2 UDB para iseries nos permite crear un objeto de tipo *QMFORM el cual es un formato de reporte que puede ser usado para imprimir los registros productos del Query (*QMQRY).
Arrancamos el Gestor de consultas DB2.
==> STRQM
En el menú del Gestor de consultas seleccionamos opción 1 para crear una consulta y nos saldrá lo siguiente:
Trabajar con Consultas del Gestor de Consultas Biblioteca . . . . . . . . . . MILIBRERIA Nombre, F4 para lista Modalidad creación consultas : PROMPT Teclee opciones, pulse Intro. 1=Crear 2=Cambiar 3=Copiar 4=Suprimir 5=Visualizar 6=Imprimir 7=Redenominar 9=Ejecutar 10=Convertir a SQL Opc Consulta Tipo Descripción 1 DEMOQUERY (No puede encontrarse un objeto que coincida con el nombre especificado.) F3=Salir F4=Solicitud F5=Renovar F11=Visualizar sólo consulta F12=Cancelar F16=Repetir situar en F17=Situar en F24=Más teclas |
Creamos la consulta DEMOQUERY
Definir Consulta Asistida Consulta . . . . . : DEMOQUERY Teclee opciones, pulse Intro. Pulse F21 para seleccionar todo. 1=Seleccionar Opc Selección de Consulta Asistida 1 Especificar archivos Definir expresiones Seleccionar y poner en secuencia campos Seleccionar registros 1 Seleccionar campos de clasificación Seleccionar funciones de resumen Especificar registros duplicados 1 Especificar formato de informe F3=Salir F5=Ejecutar informe F6=Ejecutar muestra F12=Cancelar F18=Visualizar SQL F21=Seleccionar todo F22=Sentencia QM |
Definimos el archivo con el cual trabajaremos.
Especificar Archivos Teclee elecciones, pulse Intro. Archivo . . . . . . . . : A CLIENTES Nombre, Biblioteca . . . . . . : MILIBRERIA Nombre, + para más archivos . . . F3=Salir F4=Solicitud F5=Ejecutar informe F12=Cancelar F18=Visualizar SQL F20=Ver nombre completo |
Establecemos los campos de clasificación.
Seleccionar Campos de Clasificación Teclee una prioridad de clasificación (0-9999) y A (Ascendente) o D (Descendente) para los nombres de 32 campos como máximo, pulse Prio Prio Clas A/D Campo Clas A/D Campo 10 A A.CODCLI A.NOMCLI A.SEXCLI A.DIRCLI A.SALCLI A.RUCCLI A.TARCLI F3=Salir F5=Ejecutar informe F6=Ejecutar muestra F12=Cancelar F18=Visualizar SQL F24=Más teclas |
Creamos el formato de Reporte.
Especificar Formato de Informe Teclee elecciones, pulse Intro. Formato . . . . . . . . . . . DEMOFORM Nombre, *, F4 para Biblioteca . . . . . . . . . MILIBRERIA Nombre, *LIBL, F4=Solicitud F12=Cancelar |
Seleccionar Formato de Informe Formato . . . . . : DEMOFORM Teclee opciones, pulse Intro. Pulse F21 para seleccionar todo. 1=Seleccionar Opc Formato de Informe 1 Editar formato de columna 1 Editar cabecera de página 1 Editar pie de página Editar texto final Editar texto de ruptura 1 Especificar opciones de formato F3=Salir F5=Ejecutar informe F12=Cancelar F13=Editar consulta F18=Visualizar SQL F21=Seleccionar todo F22=Sentencia QM |
Presionamos F11 para editar los títulos de la cabecera de columnas
Editar Formato de Columna Teclee información, pulse Intro. Para Utilización y Edición, pulse F4 para obtener una lista. Para Cabecera, pulse F4 para obtener una solicitud. Columna Cabecera Util. Edit Sec Sangr Ancho CODCLI CODCLI 1 2 6 NOMCLI NOMCLI 2 2 15 SEXCLI SEXCLI 3 2 6 DIRCLI DIRCLI 4 2 25 SALCLI SALCLI 5 2 17 RUCCLI RUCCLI 6 2 11 TARCLI TARCLI 7 2 16 F2=Teclas alternativas F3=Salir F4=Solicitud F5=Ejecutar informe F6=Insertar línea F10=Copiar línea F11=Editar cabecera F24=Más teclas |
Personalizamos el nombre de cada columna a nuestro gusto.
Editar Formato de Columna Teclee información, pulse Intro. Para Utilización y Edición, pulse F4 para obtener una lista. Para Cabecera, pulse F4 para obtener una solicitud. Columna Cabecera CODCLI CODIGO CLIENTE NOMCLI NOMBRE SEXCLI SEXO DIRCLI DIRECCION SALCLI SALARIO RUCCLI RUC TARCLI TARJETA F2=Teclas alternativas F3=Salir F4=Solicitud F5=Ejecutar informe F6=Insertar línea F10=Copiar línea F24=Más teclas |
Aquí definimos el titulo del reporte
Editar Cabecera de Página Teclee las elecciones, pulse Intro. Líneas en blanco previas . . . . . . . . . 0 0-999 Líneas en blanco posteriores . . . . . . . 2 0-999 Texto en página: Utilice &col, &DATE, &TIME y &PAGE para provocar la inserción de variables. Lín. Ajuste Texto en Cabecera de Página 1 IZQUIERDA WWW.ISERIES-PERU.BLOGSPOT.COM 1 DERECHA FECHA: &DATE HORA: &TIME 2 CENTRO LISTADO DE CLIENTES 2 DERECHA PAGINA: &PAGE F2=Teclas alternativas F3=Salir F4=Solicitud F5=Ejecutar informe F6=Insertar línea F10=Copiar línea F12=Cancelar F24=Más teclas |
Colocamos un texto de fin de reporte. Eliminamos las líneas que no deseamos con F14.
Editar Pie de Página Teclee las elecciones, pulse Intro. Líneas en blanco previas . . . . . . . . . 2 0-999 Líneas en blanco posteriores . . . . . . . 0 0-999 Texto en página: Utilice &col, &DATE, &TIME y &PAGE para provocar la inserción de variables. Lín. Ajuste Texto a Pie de Página 1 CENTRO * * * FIN DE REPORTE * * * F2=Teclas alternativas F3=Salir F4=Solicitud F5=Ejecutar F6=Insertar línea F10=Copiar línea F12=Cancelar |
Seguidamente, pulsamos F5 para ejecutar el Query con el formulario.
Visualizar Informe Consulta . . .: * Anchura . .: 123 Formato . . . .: MILIBRERIA/DEMOFORM Columna . .: 1 Control . . . . Línea ....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+....0....+....1....+....2... CODIGO CLIENTE NOMBRE SEXO DIRECCION SALARIO RUC TARJETA -------------- --------------- ---- ------------------------- ----------------- ----------- ---------------- 000001 CLI001 J.VASQUEZ M WWW.ISERIES-PERU.BLOGSPOT 1,500.50 12345678901 5215264656656936 000002 CLI002 C.SANCHEZ M AVENIDA PERU 123 2,000.00- 59789656851 5262625464656263 000003 000004 000005 000006 000007 * * * FIN DE REPORTE * * * ****** * * * * * F I N D E L O S D A T O S * * * * * F3=Salir F12=Cancelar F19=Izquierda F20=Derecha F21=Partir |
Salimos salvando el Query y el formulario.
Salir Teclee elecciones, pulse Intro. Opción . . . . . 1 1=Salvar y salir 2=Salir sin salvar 3=Continuar sin salvar 4=Salvar y continuar Consulta . . . . DEMOQUERY Nombre Biblioteca . . MILIBRERIA Nombre, *CURLIB Descripción . . Formato . . . . DEMOFORM Nombre Biblioteca . . MILIBRERIA Nombre, *CURLIB Descripción . . F5=Renovar F12=Cancelar |
Nos aparecerá 2 objetos nuevos de tipo *QMQRY y *QMFORM
Trabajar con Objetos utilizando PDM Biblioteca . . . MILIBRERIA Situar en . . . . . . . Situar en tipo . . . . Teclee opciones, pulse Intro. 2=Cambiar 3=Copiar 4=Suprimir 5=Visualizar 8=Visualizar descripción 9=Salvar 10=Restaurar Opc Objeto Tipo Atributo Texto DEMOQUERY *QMQRY PROMPT DEMOFORM *QMFORM QUERY MGR |
Hacemos un OVRPRTF para que el reporte considere un ancho de 132, ya que si no lo hacemos asi, el reporte se truncará y saldrá cortado en 2 archivos spool.
==>OVRPRTF FILE(QPQXPRTF) PAGESIZE(*N 132)
Luego, Ejecutamos la consulta
===> STRQMQRY QMQRY(MILIBRERIA/DEMOQUERY) OUTPUT(*PRINT) QMFORM(MILIBRERIA/DEMOFORM) DATETIME(*NO) PAGNBR(*NO)
No hay comentarios:
Publicar un comentario