martes, junio 22, 2010

Desplegar Diarios(Journal) en ISERIES

Tomado de:

http://www.help400.es/asp/scripts/nwart.asp?Num=87&Pag=54&Tip=U

Un visualizador de diarios fácil de leer  
Ultimamente, las mejoras introducidas en la base de datos DB2/400, junto con la necesidad de maximizar su integridad y consolidar el cumplimiento de normas de auditoría, han convertido al registro por diario de los datos corporativos (el journal) en un requisito casi imprescindible para la mayoría de instalaciones AS/400. El registro por diario de los archivos de base de datos proporciona unas posibilidades de recuperación excelentes y, además, también supone un factor adicional a la hora de implementar técnicas de control de compromiso y/o integridad referencial para los archivos de base de datos.
A menudo utilizamos las entradas de diario como una herramienta de depuración para hacer un seguimiento de los cambios en los datos de un archivo. Lamentablemente, por lo general los datos de una entrada de diario son difíciles de interpretar. Si alguna vez ha utilizado entradas de diario para realizar una depuración, sabrá de lo que estamos hablando. Incluso comprendiendo las pantallas del mandato DSPJRN (Visualizar Diario), es difícil trabajar con ese mandato porque sus resultados muestran la porción de datos de usuario de las entradas de diario como una serie de datos sin ningún tipo de formato. Si le parece interesante un método mejor para ver la actividad (adiciones, cambios y supresiones) en sus archivos, el programa de utilidad FMTJRNE que hoy presentamos, puede ser lo que andaba buscando.
FMTJRNE le permite ver una selección de entradas de diario pasando archivo por archivo y utilizando un formato de presentación fácil de comprender. FMTJRNE utiliza el diseño original de los archivos de base de datos para visualizar las columnas de cada entrada (por ejemplo, fecha/hora de actualización, programa que ha actualizado el registro, usuario que ha modificado el registro, etc.).
Cómo se utiliza FMTJRNE Para ejecutar el mandato, sólo hay que especificar FMTJRNE en una línea de entrada de mandatos seguido por el único parámetro obligatorio, el nombre del archivo cuyas entradas de diario queremos visualizar. Por omisión, la pantalla resultante muestra todas las entradas de diario actuales correspondientes al archivo seleccionado. También dispone de varios parámetros opcionales que permiten seleccionar las entradas y especificar opciones de salida. Puede restringir el número de entradas especificando:
  • Un rango de receptor de diario
  • Los números inicial y final de las entradas de diario
  • La fecha y hora inicial y final
  • El número de entradas
  • El trabajo que ha efectuado los cambios en los registros
  • El programa que ha efectuado los cambios en los registros
  • El perfil de usuario que ha efectuado los cambios en los registros
  • El ID de ciclo de control de compromiso
Las opciones de salida le permiten visualizar las entradas de diario formateadas en la pantalla de la estación de trabajo, enviar las entradas a un informe o enviarlas a un archivo de salida. Si selecciona la opción de archivo de salida, el nombre del archivo de salida debe empezar por los caracteres FMTJ. Esto evita que el programa de utilidad sobreescriba los archivos del sistema que no utiliza el mandato FMTJRNE. Si existen archivos de producción que empiezan por dichos caracteres, modifique el programa de comprobación de validez (VCP) del programa de manera que utilice una serie de caracteres diferente.
Puede especificar si desea añadir las entradas a un archivo o sustituir las existentes. También puede especificar si la utilidad debe crear el archivo de salida.
Detrás de los focos El programa de utilidad FMTJRNE consiste en la definición de mandato FMTJRNE, el programa de proceso de mandato (CPP) FMTJRNEC, el VCP FMTJRNEV y el grupo de paneles de ayuda FMTJRNE, que proporciona texto de ayuda sensible al contexto cuando se solicita el mandato. Además, la Utilidad RUNSQL (publicada en el número 50) debe estar instalada en el sistema. (Para obtener más información acerca de cómo obtener e instalar este mandato, vea el recuadro "Guía rápida del mandato RUNSQL" en este mismo artículo.)
El VCP FMTJRNEV valida los parámetros del mandato, como por ejemplo el nombre del archivo, el nombre del archivo de salida y el nombre del diario. También comprueba dos pares de parámetros - número de entrada y fecha/hora inicial, y número de entrada y fecha/hora final - para cerciorarse de que sólo se especifica un valor de cada par. Si la comprobación de validez no tiene éxito, la pantalla visualiza un mensaje de error en la parte inferior de la pantalla de entrada de mandatos. A continuación puede corregir los parámetros erróneos y volver a ejecutar el mandato. Si la comprobación de validez es satisfactoria, el CPP da formato a las entradas de diario y crea la salida.
Como puede ver en los ejemplos de salida del mandato FMTJRNE, la información de las entradas de diario es fácil de leer. Ahora, cuando tenga que averiguar qué está sucediendo con los datos de sus archivos, el mandato FMTJRNE le hará vida un poco más fácil.
Cómo instalar FMTJRNE Para instalar el programa de utilidad FMTJRNE:
1. Asegúrese de que el mandato RUNSQL está instalado en el sistema y en la lista de bibliotecas que utilizará cuando compile estos programas y utilice el mandato FMTJRNE.
2. Cree el mandato FMTJRNE como sigue:
CRTCMD CMD(FMTJRNE) PGM(FMTJRNEC) VLDCHR(FMTJRNEV) +
HLPPNLGRP(FMTJRNE) HELPID(*CMD)
3. Cree el programa de proceso de mandatos CL FMTJRNEC y el programa de comprobación de validez CL FMTJRNEV:
CRTCLPGM PGM(FMTJRNEC)
CRTCLPGM PGM(FMTJRNEV)
4. Cree el grupo de paneles de ayuda FMTJRNE:
CRTPNLGRP PNLGRP(FMTJRNE)
Sobre el mandato RUNSQL
Para poder utilizar el mandato FMTJRNE es indispensable disponer del mandato RUNSQL, una Utilidad que se publicó en el número 50 de la revista (correspondiente a Enero de 1995) y que permite ejecutar mandatos SQL en el AS/400 aunque no se disponga del software de desarrollo SQL del programa bajo licencia IBM DB2/400 Gestor de Consultas y Kit de Desarrollo SQL (57xx-STI) en el sistema.
El mandato RUNSQL también proporciona una cómoda interfaz al soporte incorporado del AS/400 para las consultas SQL del Gestor de Consultas. Puede obtener el código fuente del RUNSQL a partir de Internet, en la dirección www.help400.es buscando el link correspondiente en la página web dedicada a la Utilidad del mes.
La utilidad RUNSQL utiliza los siguientes miembros fuente:
• La definición de consulta ZUQXSQL del Gestor de Consultas
• Crear el programa CL ZUCXSQL                  
• CRTQMQRY QMQRY(QGPL/ZUQXSQL) SRCFILE(COMANDOS) 
• Crear el comando RUNSQL, hacer referencia al programa ZUCXSQL
Y, para su instalación, siga los pasos descritos en la Guía de Intalación.
Peter Martin es consultor AS/400 de la empresa C3 Consulting, en Narellan (Australia)

Create your own RUNSQL cmd for use in CLP.

1. Create a new RUNSQL mbr in srcfile QQMQRYSRC, enter a single line as
follows and save it.
&V1&V2&V3&V4&V5&V6&V7&V8&V9&V10

2. Create a *QMQRY object named RUNSQL from this source - CRTQMQRY
QMQRY(QGPL/RUNSQL)

3. Create a CLP pgm named RUNSQL as follws.
             PGM        PARM(&STMT)
             DCL        VAR(&STMT) TYPE(*CHAR) LEN(550)
             DCL        VAR(&V1) TYPE(*CHAR) LEN(55)
             DCL        VAR(&V2) TYPE(*CHAR) LEN(55)
             DCL        VAR(&V3) TYPE(*CHAR) LEN(55)
             DCL        VAR(&V4) TYPE(*CHAR) LEN(55)
             DCL        VAR(&V5) TYPE(*CHAR) LEN(55)
             DCL        VAR(&V6) TYPE(*CHAR) LEN(55)
             DCL        VAR(&V7) TYPE(*CHAR) LEN(55)
             DCL        VAR(&V8) TYPE(*CHAR) LEN(55)
             DCL        VAR(&V9) TYPE(*CHAR) LEN(55)
             DCL        VAR(&V10) TYPE(*CHAR) LEN(55)

             CHGVAR &V1 %SST(&STMT 001 55)
             CHGVAR &V2 %SST(&STMT 056 55)
             CHGVAR &V3 %SST(&STMT 111 55)
             CHGVAR &V4 %SST(&STMT 166 55)
             CHGVAR &V5 %SST(&STMT 221 55)
             CHGVAR &V6 %SST(&STMT 276 55)
             CHGVAR &V7 %SST(&STMT 331 55)
             CHGVAR &V8 %SST(&STMT 386 55)
             CHGVAR &V9 %SST(&STMT 441 55)
             CHGVAR &V10 %SST(&STMT 496 55)


             STRQMQRY   QMQRY(RUNSQL) SETVAR((V1 &V1) (V2 &V2) (V3 +
                          &V3) (V4 &V4) (V5 &V5) (V6 &V6) (V7 &V7) +
                          (V8 &V8) (V9 &V9) (V10 &V10))

ENDPGM

4. Create a command named RUNSQL as follows
             CMD        PROMPT('Run SQL Statement')       
             PARM       KWD(STMT) TYPE(*CHAR) LEN(550)

No hay comentarios: