sábado, 19 de marzo de 2011

Consulta STRQMQRY asociada a formato de informe (*QMQRY *QMFORM)

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)                                                  

En nuestro Spool aparecerá el archivo de reporte QPQXPRTF con el diseño que hemos personalizado.



No hay comentarios:

Publicar un comentario