Desarrollando en Cobol y Natural sobre Plataforma Mainframe

lunes, 9 de noviembre de 2015

¿Cómo recuperar queries en QMF?

Hace algunas semanas estuvimos viendo cómo se puede almacenar una query en la base de datos de QMF. Una vez que tenemos dicha información a salvo, hoy vamos a centrarnos en revisar cuáles son los comandos que tenemos disponibles para poder recuperar dichas querys de la base de datos.

En su día ya estuvimos viendo la instrucción SAVE de QMF, que nos permitía guardar cualquier tipo de código que tuviésemos escrito en el menú DRAW. Junto a ella, como veremos a continuación, tenemos otros otros dos comandos que nos van a venir muy bien a la hora de reutilizar nuestras queries de uso más frecuente. Se trata de DISPLAY QUERY y de LIST QUERIES.

¿Cómo recuperar una query en QMF?


Una vez almacenada la información, la siguiente cuestión que se nos plantearía es cómo recuperar la query en el momento en el que lo deseemos. Obviamente, no tendría mucho sentido almacenar el código si no pensamos usarlo nunca más con posterioridad.

En este entorno, para realizar la acción de recuperar la query en QMF disponemos del comando DISPLAY. Para poder usarlo, en primer lugar tendremos que posicionarnos en la ventana 6=DRAW de la herramienta QMF, tal y como hicimos a la hora de guardar el código.

Una vez aquí, en la línea COMMAND tendremos que incluir el comando DISPLAY QUERY.

COMMAND ===> DISPLAY QUERY EJEMPLO

Pulsamos INTRO y se nos deplegará la siguiente ventana.


Como se puede apreciar, se trata del mismo código que previamente habíamos almacenado con el comando SAVE. Una vez recuperada, esta declaración ya se podría ejecutar del mismo modo que se haría con cualquier otra query de QMF.

Listar todas las queries almacenadas en QMF


Imaginaos que llega un momento en el que tenéis almacenadas 50 queries en vuestro QMF y, por la razón que sea, un cliente os pide que obtengáis de nuevo un informe cuya query lanzásteis hace más de un año. Lo más probable es que no os acordéis del nombre con el que la guardásteis. Entonces, ¿cómo podríais acceder de nuevo a ella?

Para estos casos vamos a usar el comando LIST, que nos mostrará un listado de todas las queries que nuestro usuario tiene almacenadas en la base de datos de QMF. De nuevo, para poder usarlo, en primer lugar tendremos que posicionarnos en la ventana 6=DRAW de la herramienta QMF.

Una vez aquí, en la línea COMMAND tendremos que incluir el comando LIST QUERIES.

COMMAND ===> LIST QUERIES

Pulsamos INTRO y se nos deplegará la siguiente ventana.








Como vemos, en esta pantalla aparecen las queries que previamente he almacenado en QMF con mi usuario.

A continuación, si queremos recuperar el código de alguno de los objetos SQL listados, lo único que tendremos que hacer es usar el comando DISPLAY en la columna ACTION. De este modo, se recuperará el contenido de la query de la misma forma que con el comando DISPLAY QUERY que hemos examinado anteriormente.

                                     --------Dates--------
Action   Name               Owner    Modified   Last Used
                                                         
DISPLAY  EJEMPLO            JJ00917  2015-10-06 2015-10-07


Esta sería el método estándar para recuperar una query de nuestra base de datos de QMF siempre que no recordemos el nombre con el que la almacenamos en su día.

Almacenar y recuperar queries en QMF


En principio, con los comandos revisados, ya podríamos operar de una manera básica con la base de datos de QMF. Las instrucciones SAVE, DISPLAY y LIST nos permitirán almacenar las queries que vayamos creando y recuperarlas siempre que tengamos necesidad de ellas (independientemente de que nos encontremos ante un tratamiento con la instrucción SELECT, con UPDATE, con INSERT o con DELETE).

Por supuesto, existen más comandos QMF que los aquí mencionados, pero con estas 3 instrucciones ya podremos sobrevivir en el entorno. En un futuro, en un nuevo post, intentaré esbozar una visión global de cuáles son todos los comandos disponibles para esta herramienta.

Aunque siempre habrá queries que sólo queramos usar una vez y que puedan ser desechadas tras su uso, lo importante es que tengamos la posibilidad de reutilizar fácilmente las queries que deban ser ejecutadas periódicamente. Esa función podrá ser realizada de forma eficiente con las instrucciones QMF revisadas hoy.



En principio, siguiendo los pasos aquí comentados no deberíais tener problemas a la hora de trabajar en el entorno. De todas formas, cualquier problema o duda que os surja, ya sabéis que podéis dejármela abajo en los comentarios. Intentaré contestaros lo antes posible.

Y eso es todo por hoy. Espero que con lo comentado en el post tengáis suficiente para moveros por QMF y que al menos os sirva para poder almacenar (y recuperar posteriormente) vuestras queries más importantes.

Saludos.

lunes, 2 de noviembre de 2015

¿Cómo almacenar queries en QMF?

En ocasiones, tras utilizar una determinada query en QMF, nos damos cuenta de que vamos a tener que emplearla más veces en el futuro. En condiciones normales, al abandonar la sesión de la herramienta QMF perderíamos el código introducido y, por tanto, la próxima vez que quisiéramos ejecutarla tendríamos que volver a teclear la query completa. Sin embargo, existe una forma de almacenar este código para poder recuperarlo en el futuro.

Ejecución múltiple de queries en QMF


Si necesitamos emplear una determinada query en múltiples ocasiones a lo largo del tiempo, no será necesario que introduzcamos su código cada vez que tengamos que recurrir a ella. La herramienta QMF nos da la opción de almacenar el código de dicha query, de manera que podamos recuperarlo siempre que lo precisemos.

Para explicar esto, prefiero que lo veamos con un ejemplo. Supongamos, por tanto, que hemos creado una determinada query SQL (a petición de nuestro cliente, por supuesto) y que ya la hemos ejecutado y hemos obtenido la información que nos habían solicitado.


La query en cuestión sería la siguiente, donde se realizaría la extracción de todas las poblaciones que pertenezcan a la provincia de Madrid y que hayan sido dadas de alta en el sistema en el año 2014 o en algún ejercicio posterior.

SELECT * FROM JJDB22.JJLOCAT0        
  WHERE JJGE_CO_INTERN = '28'        
    AND JJCA_FX_ALTSIS >= '2014-01-01'


Una vez ejecutada la query, los resultados mostrados serían los siguientes, donde se visualizaría el código y la descripción de cada población (entre otros datos).

    JJTU    JJCA    JJCA    JJCA    JJCA           
     CO      CO      CO      CO      NO            
   INTERN  INTERN  2SCLOC  3SCLOC  PBLSIT          
---------  ------  ------  ------  -----------------
    43277       0                  COLMENAR VIEJO  
    43277       1  CTO     1       COLMENAR VIEJO  
    44590       0                  COLMENAR VIEJO  
    44590       1  DIV2    0       COLMENAR VIEJO  
    44590       2  DV00    2       COLMENAR VIEJO  
    44590       3  CTO     1       COLMENAR VIEJO  
    47909       0                  MADRID          
    57746       0                  MADRID          
    91957       0                  MADRID          
    91966       0                  ALCOBENDAS      
    91966       1  CTO     1       ALCOBENDAS        


Se trata únicamente de la primera página extraída por QMF ya que, obviamente, para este ejemplo no merece la pena mostrar más datos del listado.

¿Cómo almacenar una query en QMF?


Normalmente, ejecutaremos la query sobre la tabla DB2, obtendremos los resultados y desecharemos el código con posterioridad. Sin embargo, en el caso de que concluyamos que este proceso nos puede resultar útil en el futuro o de que sospechemos que el cliente nos puede volver a pedir el mismo informe más adelante, entonces lo óptimo sería almacenarnos la declaración para no tener que volver a teclearla más veces.

Para poder guardarnos una query sobre DB2, en primer lugar tendremos que posicionarnos en la ventana 6=DRAW de la herramienta QMF.





Una vez aquí, en la línea COMMAND tendremos que insertar el comando SAVE.

COMMAND ===> SAVE

Pulsamos INTRO y se nos deplegará la siguiente ventana.



En esta ventana tenemos 3 apartados que tendremos que rellenar antes de confirmar la operación.

1º) NAME: Aquí simplemente tendremos que indicar el nombre con el que deseamos que la query con SELECT (o con cualquier otra instrucción) quede almacenada en QMF.

2º) CONFIRM: Aquí tendremos que indicar YES si queremos que, en el futuro, el sistema nos pida confirmación cada vez que queramos modificar esta query en el almacén de QMF.

3º) SHARE: Si indicamos YES en esta opción, entonces la query que almacenemos en QMF podrá ser recuperada por cualquier otro usuario que conozca el nombre de la misma.

Una vez que rellenemos estos datos y pulsemos INTRO, en QMF nos aparecerá el siguiente mensaje, donde se nos confirma el guardado del objeto con el nombre de nuestro usuario seguido del nombre elegido para la query (en la ventana anterior).

OK, QUERY was saved as JJ00917.EJEMPLO in the database.


En estos momentos, nuestra query ya quedaría almacenada en la base de datos de QMF y ya estaría disponible para ser recuperada fácilmente en el futuro.



Una vez visto el comando con el que podemos salvar queries en QMF, en un futuro post pasaremos a examinar las instrucciones que nos van a permitir recuperar esas queries almacenadas. Tened en cuenta que con todo esto no pretendo hacer una revisión exhaustiva de los comandos QMF, sino simplemente dar un repaso a los conceptos más básicos que nos van a permitir sobrellevar nuestro día a día en el cliente.

Y eso es todo por hoy. Como siempre, espero que con la explicación os haya quedado claro cómo se pueden almacenar queries en QMF. En caso contrario, ya sabéis que podéis dejarme vuestras dudas aquí abajo...

Saludos.

Related Posts Plugin for WordPress, Blogger...