HERRAMIENTAS DE CUSTOMIZACIÓN Manual de analista de

Transcripción

HERRAMIENTAS DE CUSTOMIZACIÓN Manual de analista de
Herramientas de Customización – Manual de Analista de Sistema
HERRAMIENTAS DE CUSTOMIZACIÓN
Manual de analista de sistema
Pagina 1
Herramientas de Customización – Manual de Analista de Sistema
SUMARIO
1
2
INTRODUCCIÓN ................................................................................................................... 3
HERRAMIENTAS DE PERSONALIZACIÓN .............................................................................. 3
2.1
2.1.1
2.2
Editor SQL .............................................................................................................................................. 3
Específicas de Visualización SQL............................................................................................................ 5
Gestión Interrogaciones Genéricas (G5) ..................................................................................................... 10
2.2.1
Default Parcialización Interrogación ...................................................................................................... 12
2.2.2
Funciones de Parcialización ................................................................................................................. 13
2.2.3
2.3
2.3.1
2.4
Comando ejecución interrogaciones EXEEG5 .......................................................................................... 14
Mantenimiento Procesos y Funciones SQL (Stored Procedures e UDF) (HU)...................................................... 14
Debug procedure (proceso de debug) ................................................................................................... 17
Gestión programas EXIT (HX) ................................................................................................................... 18
2.4.1
Esquema de funcionamiento ................................................................................................................ 22
2.4.2
Utilización de las Fórmulas .................................................................................................................. 23
2.4.3
Inner Join ......................................................................................................................................... 24
2.4.4
Utilización funciones SUF_ en instrucciones SQL ..................................................................................... 24
2.4.5
Variables disponibles .......................................................................................................................... 24
2.5
Mantenimiento Files Mensajes (EP) ............................................................................................................ 25
2.6
Fast Query (Ver manual especifico) ........................................................................................................... 25
2.7
Añadidura Columnas SubFile a través de Webgate400 .................................................................................. 26
2.7.1
Valorización de los campos a través de expresiones SQL.......................................................................... 27
2.7.2
Valorización por medio de fórmula........................................................................................................ 29
2.7.3
Valorización de los campos a partir de Programas exteriores .................................................................... 29
2.7.4
Tratamiento de los campos UNICODE (tipo G) ........................................................................................ 30
2.7.5
Añadidura de columnas LINK y/o Imagen .............................................................................................. 30
2.7.6
2.8
2.8.1
2.8.2
2.9
Añadidura de una columna ICONO ....................................................................................................... 31
Command Services ................................................................................................................................. 32
Command Services de tipo Drag and Drop ............................................................................................. 33
Tips ................................................................................................................................................. 35
Sintaxis de las Variables y de los Campos ................................................................................................... 35
2.10 Sesión Base de Datos (STRDBMON) .............................................................................................................. 35
2.11
Pagina 2
Interrogación LOG de Applet..................................................................................................................... 36
Herramientas de Customización – Manual de Analista de Sistema
1 INTRODUCCIÓN
Las herramientas que se describen a continuación tienen por objeto facilitar los departamentos de asesoramiento y
asistencia en el cumplimiento de las exigencias del cliente en cuanto a la satisfacción de unas necesidades específicas y de
la intervención tempestiva .
Al mismo tiempo, sirven para mantener unos principio de desarrollo estandarizado sin sobrecargar el programa de
funcionalidad y visualización de poca importancia para el interés colectivo. Este objetivo es particularmente importante a fin
de no proliferar indefinidamente campos, columnas, opciones y teclas de función que hacen que el uso del producto sea poco
intuitivo.
A QUIÉN ESTÁ DIRIGIDO
A los operadores de las aplicaciones de gestión que tienen la tarea de consultar los datos elaborados por el sistema de
información de la compañía.
CONSEJOS
Cuando usted decide utilizar estas herramientas en su sistema, no olvide añadir en rescates diarios las bibliotecas WEBG4FD
WGFRnnnnD , si no está ya previsto. Si utiliza unos * MSGF Custum creados en librerías en lengua como WGLANGITA
recuerde que también estas bibliotecas estén guardadas.
CÓMO ACTIVAR LAS FUNCIONES
Simplemente en el menú WEGGATECVT en: Menú Aplicaciones-> Herramientas de personalización.
2 HERRAMIENTAS DE PERSONALIZACIÓN
2.1 Editor SQL
Está disponible en una amplia variedad de programas de personalización, en gestión de atributos y en Query Command, sin
embargo, requiere como requisito previo que esté instalado "Microsoft .NET Framework 4". Permite la inclusión de una o más
instrucciones SQL encadenada, en una forma sencilla y fácil de leer. Es posible ingresar las instrucciones escribiendo todo de
seguida, entonces el editor se encargará de dar el formato adecuado y hacer que se pueda fácilmente leer y realizar la
comprobaciones de sintaxis en forma automáticas y a respetar la longitud de las instrucciones donde había estas
limitaciones, como en el caso de comando "CREATE PROCEDURE" o "CREATE FUNCTION" si el texto excede 80 caracteres,
este se resalta en rojo. Si estén presentes los parámetros en la instrucción, estos se resaltan con un color distinto. En el
marco superior, hay iconos que recuerdan algunos de los comandos disponibles con "Clik izquierda" en la ventana de negro
del editor.
Figura 2.1-I (RFQX04FM/W11)
"Expandir /Reducir” le permite cambiar desde el formato reducido para el formato ampliado (y viceversa) para permitir
la lectura completa incluidas cadenas de comandos muy largas.
”Formato“donde se introduces instrucciones SQL compactadas , reduce las instrucciones por presentarlas de una manera
más fácil de leer y interpretar. Esta función también se activa de forma automática cada vez que se entra en un SQL ya
guardado.
Pagina 3
Herramientas de Customización – Manual de Analista de Sistema
“Consulta QUERY" en la elaboración de los comandos SQL, se puede ejecutar el comando SQL por visualizar el resultado
obtenido, le permite comprobar los errores de sintaxis de los comandos introducidos . Por cada statement, se muestra el
resultado de este análisis y en caso de errores, seleccionando el MSG del error es resaltada en el editor la línea donde se
encuentra el error.
“Ejecutar SQL" siempre en la fase de redacción SQL, puede ejecutar las instruciones SQL y visualizar el resultado
obtenido. Con la versión 8.0.0.52 de Webgate se puede solicitar la ejecución de una query que contiene parámetros, aunque
no se espera que estos son solicitados por Prompt, como podría ser cuando los parámetros provienen de Pantallas. El
sistema detecta automáticamente todos los parámetros Query y sugiere incluir un valor que se utilizará durante la
ejecución.
“Añadir Especificación" permite abrir la ventana de impostación "Especificaciones de visualización SQL." Veremos más
adelante cómo se compila.
"Mostrar Especificaciones" muestra las especificaciones incluidas en el SQL en el antiguo formato . Estas, cuando sea
posible, se deben quitar y convertir según el nuevo formato que veremos en breve.
"Intellisense" (no disponible con el icono), permite preguntar al programa la sugerencia de nombres de campos o archivos
que comienzan con las letras usadas a medida que se introducen. La función sobre la base de la posición del cursor en el
interior de lo statement, reconoce si la palabra que se está escribiendo es nombre de archivo ( file) o del campo, y filtra de
seguida sugerencias que muestran el nombre y la descripción.
Figura 2.1-II (RFQX04FM/W11)
“Insert Snippet” (no disponible con el icono) para insertar en el editor, en el punto donde se encuentra el cursor, bloques
predefinidos de código SQL, y que podría ser SELECT, INSERT, o CREATE VIEW.
“Wizard” le permite insertar en un SQL Query funciones predefinidas a través de una interfaz que conduce al desarrollo
de sus parámetros requeridos. En primer lugar, se le mostrará una lista de funciones disponibles que se pueden utilizar en
comandos SQL. Resaltando la línea inherente a la función que se desee utilizar y pulsando el botón "Siguiente" muestra la
función y los parámetros requeridos por compilar. Una vez completado, se ejecuta por el editor , en el punto donde se está
colocado con el cursor, la cadena de comandos de la función seleccionada.
seleccionamos por ejemplo una función de interrogación logística
declaramos la variable y seleccionamos el valor resultado
entre lo que están disponibles por la función
el comando se compila
Pagina 4
y confirmando “Ok”, se incorpora en el editor
Herramientas de Customización – Manual de Analista de Sistema
Desde funciones ya presentes en la instrucción SQL se puede llegar a la pantalla, y luego modificarlas rápidamente
abriendo el editor de la función con un doble clik sobre WUF_xxx, y a continuación, pulsando el icono “Wizard”.
2.1.1 Específicas de Visualización SQL
Utilizando esta función, que se puede llamar desde Editor de SQL, se puede atribuirse a las columnas de la instrucción
SELECT, responsable de la visualización de los datos, una serie de funciones como parámetros, niveles de jerarquizaciones ,
, cálculo de la suma, promedio mínimo, máximo, las funciones relacionadas con la construcción de tablas ,
hipervínculos(hyperlink), pivot (consulta cruzada “Cross Query”). La asociación entre la columna y las funciones , es a través
del Alias que se debe asignar a cada columna obtenida a través de una expresión. Para las columnas que se desea utilizar
por las funciones relacionadas con Command Services y Ajuntos (Administración de Documentos Database Link), tienen
que ser utilizados Alias correspondientes a nombres de variables (o terminaciones de los mismos) y no pueden ser utilizados
en absoluto si el nombre de la columna corresponde a la ya definida en el diccionario (ver XCODAN columna, XUSERI, etc.
Figura 2.1-III (RFQM8FM/T2CTL)
Si el encabezado no está especificado, se toma del diccionario de los campos de la base de datos, si no se puede indicar en
la especifica. En el ejemplo, algunas columnas se agrupan bajo el título principal, es el caso de "DEPENDIENTE".
Para conseguir esto, usted tiene que dividir las dos cadenas con los caracteres“//” como “Dependiente//Código” mientras
“Dirección E-Mail” o “Móvil” no pertenece a ningún agrupamiento de columnas.
Con “Parámetro” se declara el “Número” progresivo del parámetro y el “Campo a Vídeo” de destino del dato; la codifica
(orden) es “TEXMAN01” nombre del campo en la pantalla que recibirá el dato seleccionado y “T1CTL.” el formato video
escogido .Tomamos como ejemplo la anterior “Especifica” expuesta , referida a como se puede personalizar un vídeo de
búsqueda “Clientes/ Proveedores”. Seleccionando el icono especifico presente en la interrogación SQL
, el campo función
presente en la línea se vuelca en el campo T1CTL.TEXMAN01 que corresponde al primer campo de cabecera de filtros por
función.
Pagina 5
Herramientas de Customización – Manual de Analista de Sistema
Con “Jerarquía” se establece el orden jerárquico mediante el cual se expondrán los datos. En el ejemplo mostrado, nos
limitamos a hacer agrupaciones usando sólo el Codigo Función.
Con “Esconde” se puede no visualizar algunas columnas extraidas, al ser necesarias para otras tareas, como podría ser los
campos Hyperlink, como se verá más adelante.
Mediante “Función” podemos realizar cálculos de resumen de las columnas como “T_otal” , “M_edia” ,
“C_onteggio”(Cálculo) , “M_áximo” e “M_ínimo”.
Mediante “Hyperlink” se puede obtener que los datos de las columnas configuradas puedan ser seleccionables y puedan
llamar algunos comandos en función de lo que se ha programado en las instrucciones SQL. Veamos un ejemplo e intentemos
aclarar su funcionamiento.
Esta es una interrogación sobre los encargos de los Clientes/Proveedores donde podemos ver en el interior de los campos
SELECT dos comandos “EXEC://” que vuelven a llamar unos programas, los cuales tienen asociado un ALIAS.
Pagina 6
Herramientas de Customización – Manual de Analista de Sistema
Como vemos, mediante una numeración, han sido relacionados entre ellos el campo “Descriptivo” de hyperlink con el campo
que contiene el comando relativo, que se ejecutará cuando seleccionemos el campo descriptivo. Además se puede observar
en el ejemplo que el campo que contiene el comando está ocultado. Por eso en la Query vamos a encontrar el campo
”Dependiente” y “Usuario” que podrán ser seleccionados y reconocidos en la pantalla al aparecer “subrayados”.
El comando que se ilustra en el ejemplo es un recibo, entonces seleccionándolo tendremos…
Además del comando “EXEC://” están disponibles otros comandos. La lista y su lenguaje se puede encontrar en el “Manual
Webgate400 Converter Tutorial”; presentamos de todas formas un resumen.
Comando
Tipo
„http://www.webgate400.com‟
URL
„/webgate400/images/rubinetto.gif‟
URL – IFS iSeries Server
„EXEC://CALL PGM(ABCV) PARM(„1‟
„DD‟)‟
CALL RPG con emisión nueva ventana
„EXEB://CALL PGM(ABCV) PARM(„1‟
„DD‟)‟
CALL RPG batch (sin vídeo)
„EXEI://CALL PGM(ABCV) PARM(„1‟
„DD‟)‟
CALL RPG que produce un output a
gestionar (ver inserción script)
„SQLI:// SELECT‟
SQL sobre nueva ventana
Ejemplo
Mediante “Chart” se puede configurar los campos sobre los que poder conseguir gráficos, con la función disponible sobre
applet. Veamos cómo definir los datos, mediante un simple ejemplo, análisis de lo vendido durante el año dividido por clase.
Pagina 7
Herramientas de Customización – Manual de Analista de Sistema
El campo XCLASS , código de la clase está extraído, pero no visible, su descripción se define como un elemento de jerarquía,
de este Valor nos interesa el total. En los parámetros “Chart” vamos a definir cómo crear el gráfico, con “Categoría”
programamos el eje “X” del gráfico, campo DCLASS, con “Valor 1” el eje “Y”, campo XPREZE totalizado y con “Serie”
definimos el campo XANFAT sobre el que se van a generar más gráficos.
Esto es el resultado aplicado sobre una TAB insertada como personalización de un trabajo, retomando la función “Gráfico” de
la applet. El campo “Serie” como se observa, ha generado más gráficos de distintos colores.
Mediante los parámetros “Pivot” se puede construir una Query SQL con campos cruzados. En “Ruolo” se indica la tipología
de los campos que puede ser “Pivot” , con el cual cada valor se expondrá en una nueva columna, “Línea” (Máximo 3 campos)
que se utiliza como clave de reagrupamiento de los datos de lectura (es posible establecer una jerarquía), “Datos” (Máximo
5 campos) que son los campos de los datos visualizados bajo el “Pivot”, para cada uno de ellos se puede programar varias
tipologías de “Acción” como pedir que el campo sea “Descodificado” con un límite de “Longitud” del la cadena expuesta. En
Pagina 8
Herramientas de Customización – Manual de Analista de Sistema
relación a los campos definidos como “Datos” se pueden pedir cálculos como el offset a valor y/o en porcentaje entre una
columna “Pivot” y la otra. También se puede pedir de omitir el “Total General” de las columnas totalizadas expuestas para
cada reagrupamiento “Pivot”.
Figura 2.1-IV (RFQM08FM/T2CTL)
Mostramos aquí un ejemplo de uso de esta técnica. Cliente XCODAN y Clase XCLASS son campos “Jerarquizados de nivel 1 e
2”, están definidos como campos de referencia de “Línea (ruolo) ” en la estructura por las Cross Query y se pide su
decodífica que se ha limitado a 30 caracteres (efecto final evidenciado en Rojo y Verde Oscuro). El año de facturación
XANFAT es el campo “Pivot (ruolo)” de la query y lo vemos como cabecera del grupo de columnas (efecto final evidenciado
en Fuxia). Los campos XPRZTE, XNUMER y XPNET son campos “Datos (ruolo)” de la Cross Query, de los cuales se pide el
total y sólo por XPRZTE se pide el offset de “Valor” y “Porcentaje” (efecto final evidenciado en Violeta). En la definición de i
“Pivot” se pide omitir el total general de todos los años extraidos por el campo XPNET y de hecho la columna “Peso” la
encontramos para cada año agrupado, pero no entre las columnas de Total General (efecto final evidenciado en Verde).
Figura 2.1-V (RFQX07FM/T2)
Mediante “Modificable” se puede declarar que algunos campos en la pantalla pueden ser modificados por el operador. Es
necesario declarar también el file de destino del dato que se va a modificar, y esto podría ser un límite si los campos que se
quieren modificar provienen de muchos files. El programa que va a coger la modificación, crea una “clave” de filtro de los
registros a actualizar, combiando todos los campos que pertenecen al file declarado con los relativos valores retomados de la
línea seleccionada y continua actualizando todos los registros que entran en aquel filtro. Entonces hay que valorar
atentamente como se define activa esta función para que no se obtegan resultados desagradables; aconsejamos insertar,
eventualmente como campo ocultado, la clave efectiva del file que se irá a actuallizar.
Figura 2.1-VI (RFQM08FM/T2CTL)
Con “doble click” sobre el número línea que se quiere seleccionar, se va a llamar la ventana de actualización datos. Sólo
seleccionando “Salva/ Continua” o “Salva” los datos se actualizan físicamente en el file. Aquí abajo hay un ejemplo de
personalización de una TAB de un eleborado donde se prevé la posibilidad de actualizar el campo “Usuario”.
Pagina 9
Herramientas de Customización – Manual de Analista de Sistema
En fin, vemos la definición de los datos de cabecera “ID” y de los “Parámetros Generales”
Con “Aplicación ” se indica el entorno aplicativo al que se refiere la query SQL, “002” indica el WEBGATE, “006” indica el
Dblink, etc…con “Descripción” se programa el título de la Query SQL que aparecerá en pantalla al usuario. La configuración
“Estándard” está destinada a EDM y se refiere a todos aquellos SQL que son entregados a los clientes junto a las
actualizaciones.
Si se selecciona “Emisión Sincrónica” significa que la instrucción SQL es contemporánea a la emisión de la pantalla y será
elaborada enseguida, si no se selecciona , empezará sólo a petición del operador cuando abra la TAB que le interesa.
“Condiciones Ejecución” permite que se ejecute la interrogación SQL sólo “Si cambiado” el valor del campo de referencia,
sólo “Si pedido” por el operador o bien “Siempre” ejecutada en cada acción en la pantalla por parte del operador.
2.2 Gestión Interrogaciones Genéricas (G5)
El “G5” permite la creación y archivo de interrogaciones personalizadas usadas por el usuario. Las interrogaciones pueden
ser buscadas o recuperadas pulsando el propio icono o la tecla F2. En la búsqueda se puede seleccionar una interrogación:
ejecutarla “1”, modificarla con el “2”, copiarla “3”, borrarla “4” o simplemente verla para consultar las instrucciones SQL
utilizadas ”5”.
Utilizando la tecla F6 se puede crear una interrogación nueva, identificable por medio de un “Código” y una “Descripción” y
una “Sección” facultativa, que resulta muy útil para agrupar por categorías las interrogaciones y/o para agruparlas por
usuario o área empresarial a la que están destinadas.
Figura 2.2-I (RFQX04FM/W11)
La “Sección” es utilizada también para bloquear el acceso a un solo grupo de interrogaciones para uno o más usuarios impidiendo
ver todo, actuando a través del mantenimiento atributos objetos que figuran en la pantalla, fijando el campo T2CTL.VVXIGSZ co n el
nombre de la “Sesión” deseada como valor forzado y protegido.
Pagina 10
Herramientas de Customización – Manual de Analista de Sistema
Figura 2.2-II (RGBMS4FM/T2CTL)
El “Tipo” de Query indica las características y tipos de uso. Las “Query Embedded” son reservadas a EDM y son usadas por
algunos programas, por ejemplo ZR, como soporte para agilizar las preguntas. Las “Query Custom” tienen el mismo fin,
además de características específicas de personalización para satisfacer las exigencias del usuario o de la empresa y se
pueden seleccionar como alternativa a las “Embedded” en el momento de la pregunta (de momento solo en ZR, tecla “F11elegida SQL”). La “Query Interattiva” es la interrogación tradicional, realizada de forma interactiva, cuyo resultado se
muestra directamente en el vídeo. Puede ser realizada directamente por G5 o como último paso de un procedimiento GK
para ver el resultado final obtenido.
El código “Aplicación” se usa para mostrar el campo de trabajo sobre el que opera la query. “Record Standard” es una
opción del uso EDM y permite crear interrogaciones que vendrán publicadas a todos los clientes a través de las
actualizaciones periódicas de WEBGATE.
El “Número Query” y la relativa “Descripción” sirve para organizar posteriores preguntas G5, visibles según la modalidad
TAB, que se activan con los datos obtenidos de la query principal del propio icono de selección de la línea. A continuación un
ejemplo del efecto visual que se puede obtener.
La query TAB se activa posicionando el cursor sobre la línea deseada de la Query Base.
Figura 2.2-III (RFQX07FM/T2T0)
A través del editor SQL es posible insertar las instrucciones SQL que compondrán las preguntas y definir las “Específicas”
(véanse los capítulos específicos del manual). Respecto a las “Especificaciones de Visualización” de las interrogaciones SQL
es conveniente precisar bien el modo en el que deben ser codificados los parámetros que la Query Base pasa a las TAB
secundarias.
Pagina 11
Herramientas de Customización – Manual de Analista de Sistema
Figura 2.2-IV (RFQM08FM/T2CTL)
Veamos un ejemplo. Los parámetros disponibles son 9 en total y se llaman desde T2T0.SQXP1 a T2T0.SQXP9 donde T2T0
es el nombre del formato vídeo de la Query Base y SQXP1 - P9 es el nombre del parámetro que se asocia al campo de
Data Base. Estos parámetros no pueden exceder los 20 caracteres.
Con el vídeo “Gestión Instrucciones” del “G5”, la tecla “F2 – Custom y Default” permite abrir una ventana con la que
“Personalizar “ el uso de las interrogaciones.
Figura 2.2-V (RFQM04FM/W12)
En “Personalización” activando adecuadamente los campos, se puede restringir y limitar el uso de la Query. Solo para Query
Custom y Embedded (en cada uno son los utilizados por “ZR”), en “Parcialización File/Formato” se debe indicar el file
(archivo) en pantalla y cuyo formato se ajustará a las instrucciones SQL de que se trate. En “Particialización” se puede
configurar los valores predeterminados por defecto de los campos y en general de las variables usadas en la interrogación.
2.2.1 Default Parcialización Interrogación
Puede configurar los valores predeterminados por defecto de los campos de parcialización y en general de las variables
usadas en la interrogación. El valor único está compuesto por “Nombre Variable” y “Valor” de las Variables separadas por un
“=” igual). Las variables se separan entre sí por “;” un punto y seguido. Para los campos de fecha, está disponible una
sintaxis especial como la usada para cálculo con fechas en la “WUF_DCA” (la documentación está disponible on line
marcando “Help Navigator”)
CODARF=ART01;CODART=ART02; ecc
(Ejemplo de Variables en las Instrucciones SQL)
Select XCODAR "P5_Código", XDSART "Descripción Artículo", XCLASS, WUF_DEC('001','CLASS',XCLASS) "Descripción Clase",
XDISEG, 'PARAR' "P1_File", '*BLNK' "P2_Id", '*BLNK' "P3_Flaga", '*BLNK' "P4_Codic" FROM PARAR WHERE XCODAR
BETWEEN '%('CODARF','*DICT:De Código Artículo','001','CODAR')' AND '%('CODART','*DICT:A Código
Artículo','001','CODAR')'
DATADA=*STRYEAR -12 *M
(Inicio año anterior)
DATADA=*TODAY -30 *D
(30 días antes de hoy)
DATADAC=*STRYEAR *NONE;DATAALC=*ENDYEAR *NONE;DATADAP=*STRYEAR -12 *M;DATAALP=*ENDYEAR -12 *M
(Calcula dos intervalos de fechas durante el año en curso y el año anterior).
Pagina 12
Herramientas de Customización – Manual de Analista de Sistema
2.2.2 Funciones de Parcialización
Sintaxis de las instrucciones con el uso de los campos SIN diccionario (BM)
%(„Nombre de la Variable‟,„Texto Prompt‟,‟Longitud‟,‟Tipo‟,‟Comparación‟)

Nombre de la Variable = longitud máxima del nombre 9 caracteres (sin prefijo %)

Texto Prompt = Es el texto que describe la variable.

Longitud = Longitud total del campo.

Tipo = A - Alfa; N - Número; D - Fecha (para editar y volcar en prompt).

Comparación= Utilizado para facilitar la entrada y el control de las variables de entrada.
…donde:
Los valores disponibles son :
1.
Blanco o no especificado, no realiza controles o automatismos.
2.
>= Límite Inferior (también valores inferiores between)
3.
<= Límite Superior (también valores superiores between)
4.
LIKE utilizado con LIKE
Ejemplo
SELECT XCODIP
, SUM(XMLAVN * %COR1/%COR2)
FROM OPERA
WHERE XDATAB >= %('FECHA1','De la Fecha','8','D','>=')
AND XDATAB <
%('FECHA2','A la Fecha','8','D','<=')
GROUP BY XCODIP
Sintaxis de las instrucciones con el uso de los campos CON diccionario (BM)
%(„Nombre Variable‟,‟*DICT‟,‟Código Aplicación‟,‟Nombre Campo en Diccionario‟, ‟Comparación‟)
donde :

Nombre Variable = longitud máxima de 9 caracteres (sin prefijo %)

*DICT o bien *DICT:Texto = Costante que indica el uso del diccionario.

Código de Aplicación = Es el código de la aplicación con el que se define el campo del diccionario.

Nombre Campo en Diccionario = Es el nombre del campo definido en el diccionario.

Comparación= Utilizado para facilitar la entrada y el control de las variables de entrada en la pantalla. Valores
disponibles como se indicaba anteriormente.
Ejemplo 1 (utiliza el texto tomado del Diccionario)
SELECT XCODIP
, SUM(XMLAVN)
FROM OPERA
WHERE XCODIP = '%('DIPEND','*DICT','001','CODIP')'
GROUP BY XCODIP
Ejemplo2 (Utiliza el texto definido DOPO *DICT:)
SELECT XCODIP
Pagina 13
Herramientas de Customización – Manual de Analista de Sistema
, SUM(XMLAVN)
FROM OPERA
WHERE XCODIP = '%('DIPEND','*DICT:Da Cod.Dipen.','001','CODIP')'
GROUP BY XCODIP
2.2.3 Comando ejecución interrogaciones EXEEG5
Mediante el comando EXEEG5 se puede programar en AS400 o bien volver a llamar en HX la ejecución de una Interrogación
G5. El comando prevé la posibilidad de pasar una variable de 500 caracteres que contiene las variables de la interrogación
codificada según la sintaxis descrita en el párrafo“Default Parcialización Interrogación”.
EXEEG5
IGUNI(Nombre Interrogación)
NUMAZ(Empresa)
“Opcional”
IGPMF(Variables de la interrogación)
“Se pueden pasar variables calculadas”
Esempio :
EXEEG5
IGUNI(INTERROGACIÓN)
NUMAZ(002)
IGPMF('CODCLI=000123;CODART=ART01;DATABOLLA=*TODAY -30 *D')
2.3 Mantenimiento Procesos y Funciones SQL (Stored Procedures e UDF) (HU)
Sobre el tema, está bien ver además el Help “DB2 for i- SQL Stored Procedure”.
La/as “Stored Procedure” no son más que los PROGRAMAS a todos los efectos descargables mediante una SQL CALL
Statement. Permiten el uso en su interior de parámetros de Input para la ejecución de las instrucciones SQL y de Output
extraídos como resultado de SQL. Respetan los modelos de seguridad de los datos IBM-garantizando el control del acceso a
los datos y su integridad. Con una única búsqueda permiten el comienzo de transacciones mútiples y procesos, también
útiles al ser fácilmente transportables cuando se trabaja por departamentos.
Figura 2.3-I (RDBS01FM/T2CTL)
Mirando el ejemplo, se muestran todos los procedimientos incluidos. El símbolo “V” indica el procedimiento estándard
emitido por EDM y actualizable sólo descargando las nuevas versiones de WEBGATE. Con la opción “3” se puede copiar una
existente o bien con la tecla de función F6 crear una nueva.
Pagina 14
Herramientas de Customización – Manual de Analista de Sistema
Figura 2.3-II (RDBS01FM/W1)
Introducimos la descripción del procedimiento, que nos permitirá de reconocerlo, de los comentarios que nos expliquen las
características y empezaremos a introducir los Statements del procedimiento. Los campos atributos, están gestionados
completamente por el programa, e indican Usuario, Fecha y Hora de la última vez que se guardó, mientras el parámetro
“Estándard” manejable sólo por EDM indica si el procedimiento se dará a conocer con actualizaciones WEBGATE y estará al
alcance de todos.
“Sintax to Copy” es útil cuando se toman instrucciones de otro campo y se quiere hacer una comprobación rápida de la
sintaxis para utilizarla correctamente dentro de nuestro procedimiento.
“Instrucciones de DROP” es útil antes de CREAR de nuevo el procedimiento, borrar todas las viejas entradas y ésto lo
hacemos con esta instrucción DROP PROCEDURE RTKA14.
Veamos ahora cómo están estructurados y escritos estos procedimientos.
CREATE PROCEDURE RTKA14 (IN UNID CHAR(18))
El programa empieza con esta instrucción, donde definimos el Nombre del procedimiento “RTKA14” (longitud máxima 10
caracteres) y la lista de los parámetros en IN_put , OUT_put, INOUT input/output definidos mediante el nombre de la
variable “UNID” su naturaleza y dimensión “CHAR(18)”
LENGUAJE SQL
Determina el lenguaje utilizado.
BEGIN
Define el inicio del procedimiento.
DECLARE SQLSTATE CHAR(5);
DECLARE SQLCODE INTEGER;
La declaración de estas dos variables “convencionales” permite en el ámbito del procedimiento controlar eventuales
condiciones o errores durante la ejecución de un statement SQL. DB2 se encarga de manera automática actualizar los
valores de las dos variables después de la ejecución de cada statement.
DECLARE EOF_REACHED CONDITION FOR SQLSTATE '02000';
Esta forma de definición permite asociar a una condición “SQLSTATE = 02000” un nombre para utilizar en el procedimiento
que puede facilitar la redacción del mismo programa y puede volverlo más comprensible cuando vayamos a recuperar para
una nueva edición. Para quien programa en lenguaje COBOL es el equivalente al nivel 88.
DECLARE V_XKEY01
CHAR(20);
Alfanumérico de 20 caracteres
DECLARE V_XXDALL
DECIMAL(8, 0);
Numérico de 8 dígitos y 0 decimales
Esta es la forma para definir las variables que se utilizarán en el ámbito del procedimiento. Estas variables pueden también
ser ejecutadas al principio del programa codificando el valor que querramos atribuirle.
DECLARE BREAK_LOOP INT DEFAULT 0;
La variable se carga inicialmente con el valor Cero.
-- Este procedimiento controla el uso de Equipos Numéricos…………….
/* Este procedimiento controla el uso de Equipos Numéricos…………….*/
Iniciando la línea con dos caracteres “menos” o bien incluyendo el texto en el interior de “/*
comentarios que faciliten la documentación del procedimiento.
-- Cursor declaración para EACS estructura
DECLARE C1 CURSOR FOR
Pagina 15
*/” es posible introducir
Herramientas de Customización – Manual de Analista de Sistema
SELECT I.XUNIDE, T.XKEY01, T.XKEY02, T.XKEY03, T.XKEY04, T.XKEY05, T.XKEY06, T.XNMFLI, I.XXDALL, I.XXOALL
FROM EACSI I INNER JOIN EACST T ON T.XUNIDE=I.XUNIDE
WHERE I.XUNIDE=UNID AND (T.XNMFLI='ATNUM' OR T.XNMFLI='PACAT')
FOR READ ONLY;
-- Handler declaration for EOF condition detected
DECLARE CONTINUE HANDLER FOR EOF_REACHED SET BREAK_LOOP = 1;
OPEN C1;
READ_LOOP:
Esta es una TAG del programa
LOOP
FETCH FROM C1 INTO V_XUNIDE, V_XKEY01, V_XKEY02, V_XKEY03,
V_XKEY04, V_XKEY05, V_XKEY06, V_XNMFLI,
V_XXDALL, V_XXOALL;
IF BREAK_LOOP = 1 THEN
LEAVE READ_LOOP;
ELSE
…………………………………
END LOOP;
CLOSE C1;
END;
En el fragmento anterior vemos un Declare Cursor sobre Data Base y un Loop controlado de lectura. De subrayar la
instrucción “FOR READ ONLY” en la SELECT que permite la visualización en modo de sólo lectura de los datos, aconsejada
por la importancia de los datos que se encuentran en esta data base. Mediante la “DECLARE CONTINUE ….” se administra
SQLSTATE que determina la salida del modo lectura y activa la condición que controlada con IF permite salir del Loop de
lectura “LEAVE READ_LOOP”.
SET V_ALLARM_ON = 0;
A través de la instrucción SET se puede atribuir el valor a la variable.
CALL RIQIAT(V_RATMATRA, V_RATDACER, 'N', ' ', V_RATVALOR, V_RATESITO);
Con el comando CALL se puede recuperar cualquier programa API Standard u otras aplicaciones.
CASE V_PCXATUTI
WHEN 'a' THEN
SET V_RAUXFATT = 'S';
WHEN 'A' THEN
SET V_RAUXFATT = 'S';
WHEN 'e' THEN
SET V_RAUXFLAV = 'S';
SET V_RAUXFATT = 'S';
WHEN 'E' THEN
SET V_RAUXFLAV = 'S';
SET V_RAUXFATT = 'S';
WHEN 'l' THEN
SET V_RAUXFLAV = 'S';
END CASE;
Mostramos a continuación un caso de interrogaciones condicionadas mediante el comando CASE.
SUCCESS: RETURN 0;
INS_FAILURE: RETURN 900;
UPD_FAILURE: RETURN 901
Este es un ejemplo de salida/as del programa devolviendo un código con un valor preestablecido.
Acabada la redacción del Procedimiento se puede grabar y modificar con F1 y crear el objeto ejecutable con F2.
Pagina 16
Herramientas de Customización – Manual de Analista de Sistema
2.3.1 Debug procedure (proceso de debug)
Ejecutar una copia del proceso, para poder modificarla y sacar el atributo “Estándard” e introducir la visualización de
debug.
Proceso Estándard
Figura 2.3-III (RDBS01FM/W1)
SET OPTION DBGVIEW=*SOURCE
SP:BEGIN
Proceso modificado para el Debug
Figura 2.3-IV (RDBS01FM/W1)
Utilizando la opción “X” se crea e proceso con visualizaciones de debug (se sostituye el objeto de la librería QGPL)
Figura 2.3-V (RDBS01FM/T2CTL)
Activar el debug con STRDBG PGM(QGPL/RTKA14)
Para visualizar el valor de las variables durante el proceso de Debug, hay que utilizar esta sintaxis :

Variable númerica
EVAL SP.V_ALLARM_ON

Variable alfanúmerica
EVAL *SP.V_RATESITO:S
Pagina 17
Herramientas de Customización – Manual de Analista de Sistema
(se disfruta del prefijo indicado antes de la instrucción BEGIN para llamar la variable del programa)
Acabado el debug y corregido el proceso, se crea otra vez el proceso después de haber quitado las instrucciones para
generar las visualizaciones de debug. (Se utiliza siempre la opción “X”).
2.4 Gestión programas EXIT (HX)
Figura 2.4-I (RCKRM1FM/T2CTL)
Los programas EXIT son “grupos de comandos condicionados” que se van a ejecutar si son considerados elegibles por las
verificaciones descritas a continuación; estas verificaciones se ejecutan cada vez que el control pasa del client webgate400 al
programa RPG.
Apretando ENTER o la tecla función (F1...F24), se ejecutan estos dos controles:
1.
2.
Verifica si existen programas habilitados (A)
o
el file vídeo corríente.
o
el formato registro corriente
o
la empresa corriente
o
la lengua corriente
o
el usuario corriente
o
el grupo de usuarios corrientes
Además verifica si se ha pulsado una de las teclas función prevista en aquel programa. (B)
Las informaciones sobre la elegibilidad del programa EXIT (condiciones para la ejecución), se pueden actualizar con la tecla
función
F9 o bien con la opción X
Figura 2.4-II (RCKRM2FM/W1)
Pagina 18
.
Herramientas de Customización – Manual de Analista de Sistema
Figura 2.4-III (RCKRM1FM/W1)
Cuando el programa es elegible, se van a ejecutar las siguientes fases:
1.
Búsqueda de todas las variables de los formatos registro
2.
Ejecución de todos los comandos, incluídos en el programa, no suspendidos
… visibles en pantalla (o para las que ha sido efectuada una operación write)
… en la secuencia indicada (4) por el campo apropriado, hasta el último de la lista o hasta el campo marcado con el
flag “Último si válido” (5), desarrollando las siguientes fases:
o
Sustitución de las variables contenidas en la instrucción SQL de validación (1) (llegados a este punto de la
elaboración están presentes las variables del vídeo o bien, si el programa es llamado de API RCKR02, las
variables con los parámetros VVAR E NVAR).
o
Ejecución de la instrucción sql de validación y búsqueda de las variables (todas las columnas del primer
registro). (1)
Si verdadera
(la instrucción devuelve por lo menos 1 registro),
o
Ejecución Instrucción SQL Búsqueda Variables (F2) y búsqueda variables (todas columnas del
primer registro).
o
Visualización del posible prompt (2).
o
Sustitución de las variables contenidas en el comando. Ahora están disponibles:



las variables del vídeo/parámetros
las variables encontradas por la instrucción SQL de validación (1).
las variables encontradas por la ”instrucción SQL de búsqueda variables”.
o
Ejecución de las formulas 1 e 2
o
Ejecución del comando. (3)
Si falsa
o respuesta a prompt no permite prosecución de la lectura del comando siguiente.
“Suspendido” permite no anular la EXIT pero se suspende su ejecución.
“Último si válido” (5) permite interrumpir la cadena de los programas de control y salir, es muy útil si hay que efectuar
controles en secuencia, cuyas condiciónes se pueden considerar las mismas que en “*OR”.
En la instrucción de SELECT vamos a ver el utilizo de la variable %T2CTL. Esta es la sintaxis que se utiliza para referirse a
la “table” que contiene todo el formato vídeo T2CTL y también podría ser %T1 si quieres hacer referencia directamente a
una ventana habitual en el vídeo. No hace falta explicitar “Nombre Vídeo” y/o “Librería”: el programa recibe estas variables
y automáticamente las relaciona a los recursos físico corregidos en las librerías del ambiente activo en aquel momento.
La instrucción SQL de validación, puede ser también de tipo compuesto, o sea el resultado de más SQL concatenadas en
secuencia entre si mismas. Tales instrucciones tienen que ser separadas por el carácter “;”.
Hay dos distintas maneras para codificar el mensaje que se va a presentar al técnico: hay que codificar una llamada al
programa API “RIQIH2” en el campo “Comando a ejecutar” , o bien hay que indicar en el “Prompt Confirma si SQL válido
(2)” un mensaje “USER” codificado en un MSGFile Custom (ejemplo USRMSG001) con el elaborado “EP”.
En la composición del texto se puede introducir variables encontradas con el comando SQL y/o disponibles del trabajo HX.
A continuación ponemos los campos que hay que llenar en caso de mensaje codificado:

MSG File. Nombre file Mensajes.
Si no existe, se puede crear, por ejemplo, con el comando
CRTMSGF MSGF(WGLANGITA/USRMSG001) TEXT('Mensajes Usuario‟)
Pagina 19
Herramientas de Customización – Manual de Analista de Sistema
NB Se aconseja crear files mensajes en la librería donde ya se encuentran los mensajes traducidos a una específica
lengua (en el ejemplo considerado WGLANGITA) así que se pueda utilizar también la gestión plurilingüs de las
customizaciones.
En la codificación de estos USRMSG se podría seguir las lógicas ya utilizadas por EDM en sus EDMMSG,
diferenciando con 001 los mensajes dedicados al Spi, 003 aquellos dedicados al PSG, 006 aquellos de Dblink e 020
aquellos dedicados a la GeA.
¡ATENCIÓN!: los files mensajes TXTMSG… son reservados rigorosamente a TEST de EDM.

ID. Id Mensaje. Si no existe, se puede crear con el comando
WRKMSGF MSGF(WGLANGITA/USRMSG001) o bien con el elaborado EP

Opciones. Opciones disponibles.
Se pueden definir más valores al mismo tiempo
Se pueden definir valores mayúsculos y minúsculos para elegir en que botón se va a posicionar el focus.
Los Valores posibles son los siguientes :

Si está presente la opción de salida “C” (Sal) y se elige esta opción, el control vuelve al vídeo SIN pasar por el
programa RPG.

Si está presente la opción de salida “I” (Ignora) y se elige esta opción, el control pasa al proximo comando
saltando el comando corriente.
Si está presente la opción de salida “G” (Go) y se elige esta opción, el comando será ejecutado.


Si está presente la opción de salida “R” (Retry) y se elige esta opción, el comando de validación vuelve a
ejecutarse.
Ejemplo :

si el campo Opciones está valorizado con 'IGR ', el programa hace disponibiles sólo 3 de las respuestas
disponibles; el cursor se va a posicionar en la respuesta Ignora.

si el campo Opciones está valorizado con 'iRc ', el programa hace disponibles sólo 3 respuestas disponibles; el
cursor se va a posicionar en la respuesta “Vuelve a Probar”.
Reproducimos una parte de la documentación para el utilizo del API – RIQIH2 para la gestión de mensajes.
CALL PGM(RIQIH2) PARM(„Texto del mensaje‟ „IGRC‟ „Título de la Ventana‟ „ „)
#==================================================================================#
!
P A R Á M E T R O S
+----------+----+--+---------------------------------+-------------------------+---+
!TXTMSG
! 250!
!Mensaje Ventana
!DFTRIS
!
4!
!Respuestas visualizadas
o bien
!
! I !
!TITLE
!
30!
!Título Ventana
!
! I !
!RISPOS
!
1!
!Respuesta dada
!
! O !
!A elección entre I, G, R e C.! I !
+----------+----+--+---------------------------------+-------------------------+---+
De la interrogación HX parcializable por “Company” , “Lengua” , “Usuario” , “Grupo” para que sea más fácil la búsqueda, se
puede continuar con el comando de línea “+”
para duplicar totalmente la EXIT asignandole una secuencia
sucesiva o bien con el comando “3”
donde se propone la copia de la EXIT permitiendo la modificación y la
atribución de una nueva secuencia a nuestra discreción. Con “X”
se pueden interrogar las condiciones por las
cuales se va a activar la EXIT, modificarlas y/o añadir nuevas condiciones con la tecla F6.
Figura 2.4-IV (RCKRM2FM/T2CTL)
NB. Existe el API “RCKR02” que puede ser buscado por medio de la adecuada función de menú “EK”, que permite ejecutar
directamente según programa, uno o más programas EXIT aquí descritos.
Pagina 20
Herramientas de Customización – Manual de Analista de Sistema
NB. Si se elige la opción “LOG” (5) por cada Programa ejecutado, va a ser emitida una registración en el LOG de AS400
visible con la opción 10 de los trabajos activos WRKACTJOB, o bien de las “System Utilities (Herramientas
>SystemUtilities>DisplayJobLog)” de la applet, que contiene las siguientes informaciones:
1.
Id Programa
2.
Descripción
3.
Secuencia
4.
Eventual Mensaje Emitido
5.
Eventual Respuesta Introducida por el técnico
6.
SQL de validación
7.
SQL búsqueda Variables
8.
Comando Ejecutado
NB. Las variables encontradas, se pueden utilizar también en el mensaje emitido del prompt.
Pagina 21
Herramientas de Customización – Manual de Analista de Sistema
2.4.1 Esquema de funcionamiento
Client webgate400

Apretar ENTER, F1-F24 de Client
webgate400

Escritura Database Vídeo
Control EXIT
si elegibles:

Prompt
Programa 1
o
Comando 1
o
Comando 2
o
Comando 3
si elegible:

Programa RPG
Pagina 22

Lectura Database Vídeo.

Ejecución operaciones RPG
Programa 2
o
Comando 1
o
Comando 2
Cada Comando
 SQL Validación
 Prompt (si opción
C vuelve a
Client)




SQL Datos
Fórmula 1
Fórmula 2
Comando/SQL
Herramientas de Customización – Manual de Analista de Sistema
2.4.2 Utilización de las Fórmulas
De la “Gestión Comandos de Programas EXIT – HX” con la tecla “F2-SQL Variables” se puede llamar la función que permite
gestionar las dos variables %FOR1 y %FOR2, que son objeto de fórmulas de cálculo más o menos complejas. Luego estas
variables pueden ser retomadas en el interior de instrucciones SQL o comando a ejecutar cuando las condiciones son
VERDADERAS.
Figura 2.4-V (RCKRM1FM/W3)
En el ejemplo de abajo, a través de la instrucción SQL, se obtiene el campo “Descuento Precio Total” del file CLIAD y en
este va a ser aplicado un “-5” a través de la Fórmula UNO (Variable %FOR1).
Figura 2.4-VI (RCKRM1FM/W1)
El valor que se obtiene, luego va a ser retomado con la variable “%FOR1” para actualizar el campo“Descuento 2” del vídeo
T1.
Pagina 23
Herramientas de Customización – Manual de Analista de Sistema
2.4.3 Inner Join
Figura 2.4-VII (RCKRM1FM/W1)
Cuando hay que utilizar una INNER JOIN para conectar la tabla Vídeo “%T1” a unas bases de datos poniendo algunas
condiciones entre los campos, es necesario que la variable proveniente de T1 sea utilizada como valor de referencia porque
la instrucción funcione de manera correcta, como puesto en evidencia en el ejemplo recién explicado.
2.4.4 Utilización funciones SUF_ en instrucciones SQL
Está disponibile una función que permite llamar una “facility” que admite la introducción paso a paso de funciones SUF_ y
puede ser llamada del editor SQL con el botón “ Wizard”.
Figura 2.4-VIII (RFQM04FM/W11)
Después de haber seleccionado la función con doble clic del mouse, aparece una máscara en la que se pueden introducir los
parámetros a utilizar. Con un Enter el programa compila el comando y pone en evidencia parámetros no reconocidos. Hay
que confirmar con F1 para volver a la instrucción SQL di HX.
Figura 2.4-IX (RFQM04FM/W11)
2.4.5 Variables disponibles
El programa de gestión de las EXIT, pone a disposición una serie de variables que pueden ser llamadas al interior de la
instrucciones SQL; las variables son:
Pagina 24
Herramientas de Customización – Manual de Analista de Sistema
Variable
Descripción
DSYUSER
DSYGRPID
DSYCOMPID
DSYLANGID
DSYJOBNR
DSYAPPLI
Usuario
Grupo
Company
Lengua
JOB Number
Aplicación
DSYIND24
DSYK18
DSYP18
Fila F1-24 1=ON
ID Unívoco JOB Webgate
Notas
ID Unívoco Nivel llamada
EJEMPLO: Se quiere vincular el uso de un campo a vídeo de “0I-Anagrafica GeA” a un solo operador.
SELECT * FROM %JSTDABDA T1 LEFT OUTER JOIN JFANA00F T2 ON T1.VANTAN=T2.JANTAN AND T1.VANCAN=T2.JANCAN
AND T2.JANSOC='EDM' WHERE T1.VANFAC='1' AND T2.JANFAC<>'1' AND '%DSYUSER'<>'ROBERTO'
Si el usuario no es “ROBERTO” se emite un mensaje en el vídeo y se prohibe el mantenimiento del campo JANFAC.
2.5
Mantenimiento Files Mensajes (EP)
Una vez creado el/los files USGMSG en las librerías adecuadas, es posible introducir los mensajes personalizados que iremos
a utilizar en nuestros procesos. A través de F6 añadimos un nuevo mensaje.
Figura 2.5-I (WGEDTMSGD/T2CTL)
A través de F6 añadimos un nuevo mensaje. El código del mensaje es un campo compuesto formado por los tres primeros
caracteres que identifican el GRUPO y por los siguientes cuatro caracteres que indican el NÚMERO progresivo del mensaje. El
estándard adoptado por EDM utiliza el grupo para identificar el Módulo Aplicativo del cual el mensaje forma
parte(alfanúmerico) y los sucesivos cuatro caracteres para el progresivo de los mensajes (númerico).
Figura 2.5-II (WGEDTMSGD/T1)
Hay que compilar simplemente indicando el texto del mensaje y confirmando con F1. Ignore la tabla en la derecha de la
pantalla que se refiere a la lista de los elementos, de hecho sólo la necesita EDM para su programación.
2.6
Fast Query (Ver manual especifico)
Para mayores detalles sobre el argumento, véase el “Manual del Usuario” y “Manual del analista de Sistema – Fast Query”
Pagina 25
Herramientas de Customización – Manual de Analista de Sistema
2.7
Añadidura Columnas SubFile a través de Webgate400
Sólo si, iniciando del perfil Usuario “RunTime WEBGATE”, usted tiene la autorización a modificar los formatos vídeo y si
estás utilizando la modalidad TABLE de WEBGATE, entonces es posible llamar la función de añadidura columnas del “Menù”
del applet gráfico seleccionando “Herramientas” + “Personalizaciones” + “Añadidura columnas”. Hay que estar posicionado
en la ventana abierta donde se quiere añadir la/las columnas. Se abrirá una primera ventana a través de la que podremos
definir dónde y cómo aplicar la personalización que realizaremos y que, por supuesto, será por “Formato” como nivel mínimo
y por “Sistema Informativo” y/o “Usuario” o bien “Grupo” como especialización. La selección se hace apretando los
botónes adecuados que cambiarán la tonalidad de grises al seleccionarlos. Luego hay que apretar “Confirma”.
A continuación mostramos un ejemplo de la pantalla que aparecerá. En este caso ya han sido insertados registros de
personalización y que se refieren al elaborado ZR “Interrogación documentos”.
Figura 2.7-I (WGDSAHAND/T1CTL)
F6 para añadir una nueva columna.
Figura 2.7-II (WGDSAHAND/GENERAL)
Hay que indicar un nombre del “Campo”, la “Dimensión”, el número “Decimales” si el formato del campo es numérico, el
“Tipo campo” y “Encabezamiento” que asumirá la columna añadida. Además están disponibles botones, según las
modalidades que se quiere utilizar para valorizar los campos,“Exit Program” , “Fórmulas Matemáticas” , o “Instrucción
SQL”. En el ejemplo se ve un campo definido que tiene una instrucción SQL.
Pagina 26
Herramientas de Customización – Manual de Analista de Sistema
Figura 2.7-III (WGDSAHAND/GENERAL)
2.7.1
Valorización de los campos a través de expresiones SQL
Es posible activar una función de valorización de los campos adjuntos a través de instrucciones SQL. La convención de
escritura permite parametrizar la query incluyendo campos en pantalla utilizando la forma
&nombre_formato.nombre_campo. La omisión del nombre_formato significa que el campo de referencia pertece al formato
corriente donde estamos añadiendo la/las columnas.
Ejemplo :
SELECT XPREZE FROM CLBAS WHERE
XKKKKK = &XKKKKK
También equivale a …….
SELECT XPREZE FROM CLBAS WHERE
XKKKKK = &T21SFL.XKKKKK
Figura 2.7-IV (WGDSAHAND/GENERAL)
Si el campo vídeo de referencia está expresado en formato alfanumérico, hay que indicarlo en la instrucción escribiendolo
entre ápices (comillas simples) ej. „&T21SFL.DCODAR‟ . El nombre del campo vídeo tiene que corresponder al nombre
visualizado en el campo de la petición “Propriedad” en el campo vídeo.
La columna añadida puede estar compuesta por más campos ( multiples)del file expuestos en bloque. En este caso la
SELECT podría ser , por ejemplo:
SELECT XZONA1, XAGEN1, XAGEN2 FROM CLBAS WHERE XKKKKK=&T21SFL.XKKKKK
La columna añadida va a incluir los tres campos.
Esto es suficiente si sólo tenemos la necesidad de añadir una única columna, pero si tenemos que añadir otras columnas, o
bien queremos tener los campos separados, a diferencia del ejemplo que acabamos de ver, no es conveniente, por los
tiempos de respuesta en el uso de la aplicación, definir más campos, cada uno con su SELECT, si provienen del mismo file.
Lo mejor sería utilizar una única instrucción SQL.
Ahora, llegados aquí, se puede seguir según dos modalidades:
Modalidad 1: Correspondencia entre Nombre_campo añadido y Nombre _campo de la SELECT.
Pagina 27
Herramientas de Customización – Manual de Analista de Sistema
Defino el campo por medio de la modalidad “Master” o sea con una expresión “SELECT” que se refiere a todos los campos
que quiero exponer. A través de la expresión SQL “as” asocio al campo físico, que se extrae del file, el campo ( Nombre
libre ) que luego voy a utilizar para definir las sucesivas columnas añadidas. En el ejemplo mostrado XCOSTR es el mismo
campo que estoy extrayendo en la columna “Marca” (Master) mientras que XCATAL, XNACAD y ESIDI son campos que se
colocarán en las columnas vídeo añadidas y que llamaré respectivamente, como nombre campo, “CATÁLOGO” , “CAD” e
“EXISTENCIAS”.
Figura 2.7-V (WGDSAHAND/WGGENERAL)
Luego defino los demás campos (“esclavos”), indicandolos con el nombre de los campos tomados de la expresión SELECT
asignada al “Master”, que como en el ejemplo serán “CATÁLOGO” , “CAD” e “EXISTENCIAS”. A continuación, utilizando la
misma modalidad descrita arriba, voy a anñadir una nueva columna indicando en el “Campo” el nombre campo “as”
declarado en la SELECT (ej. CATÁLOGO) correspondiente al campo de base de datos que quiero exponer, defino el
“Encabezamiento” de la columna, la “Dimensión” y el “Tipo campo” y escribiré en la expresión SELECT el valor convencional
*SQLF.
Figura 2.7-VI (WGDSAHAND/GENERAL)
Tras la ejecución de la SELECT ligada a “MARCA” serán valorizados los campos “CATÁLOGO” , “CAD” e “EXISTENCIAS”.
Para resolver eventuales homonimias se puede utilizar este metodo de codificación de la instrucción SQL:
SELECT F1 AS “C1”, SUBSTR(F2, 2, 2) AS “C2”, MAX(F3) AS “C3” FROM FILEX WHERE F4=‟&FMT1.V1‟
Donde F1, F2, F3, F4 son campos físicos de la base de datos FILEX , C1, C2, C3 el nombre de los respectivos campos de
las tres columnas añadidas y V1 es el campo de comparación.
Modalidad 2: Utilización de la expresión SELECT para crear las correspondencias entre Nombres_Campo.
Defino un campo “Master” al cual asigno la expresión SELECT y luego los demás campos (“esclavos ”), indicandolos con
nombres distintos de los campos utilizados en la expresión SELECT asignada al “Master”. En la expresión SELECT de los
campos “esclavos” voy a escribir el nombre del campo “Master” y el nombre del campo de referencia en la SELECT,
separados por dos puntos. Ejemplo: añado el campo “MARCA” (Master) con la siguiente expresión SQL.
Pagina 28
Herramientas de Customización – Manual de Analista de Sistema
Voy a añadir el campo “CATÁLOGO” (“esclavo”) con la expresión SQL : MARCA:XCATAL
Voy a añadir el campo “CAD” (“esclavo”) con la expresión SQL : MARCA:XNACAD
Tras la ejecución de la SELECT ligada a “MARCA” serán valorizados los campos “CATÁLOGO” , “CAD” y “EXISTENCIA”. El
primer campo de la SELECT siempre se refiere al primer campo “Master” de la añadidura columnas.
2.7.2
Valorización por medio de fórmula
Es posible activar una función de valorización de los campos añadidos por medio de fórmula.
La convención de escritura prevé la posibilidad de parametizar la fórmula incluyendo campos diferentes presentes en la
pantalla utilizando la forma &Nombre_Formato_Vídeo.Nombre_Campo :
(&T21SFL.DNUMER * T21SFL.DPREZE)
2.7.3
Valorización de los campos a partir de Programas exteriores
Para quien sabe programar, es posible crear un programa, que puede ser llamado como EXIT PROGRAM, cuyo resultado
valorizará la columna.
La convención de los parámetros de llamada es la siguiente:

Valor del campo

Buffer vídeo

Descripción del buffer vídeo puntador a una estructura de tipo WGTDBENTRY_CUSTOM_FIELDS_EXITPGM_PARMS_t.
Estándard en lenguaje „C‟
typedef struct {
char WGFLDE[10];
/* Field name . . . . . . . . . */
char WGBUFF[5];
/* Buffer start position. . . . */
char WGFLDB[5];
/* Field length in bytes. . . . */
char WGFLDD[2];
/* Digits . . . . . . . . . . . */
char WGFLDP[2];
/* Decimal positions. . . . . . */
char WGFLDT[1];
/* Field type ADFIMNSWXYEJOG. . */
char WGFTYP[1];
/* Type simple A=char S=zoned . */
char WGCSID[5];
/* CSSID */
} WGTDBENTRY_SIMPLE_FIELD_DESCRIPTION_t;
typedef struct {
char WGNOFE[5];
/* Total Number of Entries */
char WGESIZ[5];
/* Size of each entries */
char WGLDIX[5];
/* Index of target field */
char WGOFST[5];
/* Offset from start of this struct to the first element of the list */
WGTDBENTRY_SIMPLE_FIELD_DESCRIPTION_t sfdList[1];
} WGTDBENTRY_CUSTOM_FIELDS_EXITPGM_PARMS_t;
Estándard en lenguaje RPG
DS
WGNOFE
S
50
WGESIZ
S
50
WGLDIX
S
50
Pagina 29
/* Simple field description List */
Herramientas de Customización – Manual de Analista de Sistema
WGOFST
S
50
WGFLDE
A
10
/* Field name . . . . . . . . . */
WGBUFF
S
5
/* Buffer start position. . . . */
WGFLDB
S
5
/* Field length in bytes. . . . */
WGFLDD
S
2
/* Digits . . . . . . . . . . . */
WGFLDP
S
2
/* Decimal positions. . . . . . */
WGFLDT
A
1
/* Field type ADFIMNSWXYEJOG. . */
WGFTYP
A
1
/* Type simple A=char S=zoned . */
WGCSID
S
5
/* CSSID */
DS
2.7.4
Tratamiento de los campos UNICODE (tipo G)
Los campos de tipo G soportados son aquellos que contienen datos en UNICODE.
Estos datos son memorizados en las tablas de tránsito en formato UTF-EBCDIC, para que sean lo más eficientes en la fase
de construcción y ejecución de las query, que por lo tanto son tratadas en cualquier caso en el CCSID 037.
La particular característica de codificación de UTF-EBCDIC permite conservar el orden alfabético utilizando una “sort”
secuencias adecuada.
2.7.5
Añadidura de columnas LINK y/o Imagen
Hay muchas posibilidades de tipos de campos a utilizar cuando se vaya a añadir columnas. Es posible añadir campos “Link”
que permiten enganchar un anexo DBLink a través de su recorrido, o bien campos “Imágenes” que inmediatamente
aparecen en pantalla como si fueran fotografías o dibujos de artículos.
Figura 2.7-VII (WGDSAHAND/GENERAL)
Hay que definir estos campos con las siguientes características:

Tiene que ser un campo alfanumérico Hidden bastante grande para contener el recorrido del anexo.

En el cuadro titulado “Link” se define el nombre del campo; de hecho es un campo añadido que no se puede
gestionar solo.

Si se define un campo de tipo “LINK” que a través de un icono llama un documento DBLINK, hay que definir el
código, la descripción y la dimensión del icono que está asociada al “Link” del anexo.

Si se define un campo de tipo “IMAGEN” y por eso el valor de la columna añadida es el recorrido de una imagen, esa
va a ser definida en el cuadro titulado “Imagen” indicando la dimensión de Alto y Ancho
Pagina 30
Herramientas de Customización – Manual de Analista de Sistema
A continuación hay un ejemplo de la pantalla con los campos de las columnas añadidas con “Link Anexo” e “Imagen” y de
una instrucción SQL para extraer el recorrido de DBLINK para la imagen y/o para el documento anexo.
Select XPALNK from linhe as a inner join links b on a.xkeyun=b.xkeyun and a.xflnam='PARAR' and a.xflk01='*BLNK' and
a.xflk02='*BLNK' and a.xflk03='*BLNK' and a.xflk04='&t21sfl.VVCODAR' and b.xclsdo='ST'
Para que todo sea más simple, las instrucciones SQL que encuentran documentos DBLINK, están disponibles también en las
nuevas UDF la WUF_PAL que devuelve el recorrido del anexo Dblink teniendo como dato XKEYUN y WUF_PAH que devuelve
el recorrido del anexo Dblink teniendo los extremos del registro de categorización (clave de LINHE).
WUF_PAL(XKEYUN,XTPARE)
Parámetro
Formato
Significado
XKEYUN
Alfanumérico
Id Unívoco Anexo
XTPARE
Alfanumérico
Tipo Parámetro Devuelto
Valores Disponibles
„P‟ Asumido por defecto= Recorrido
documento Público (si existe PDF u otro)
„E‟ = Recorrido Objeto Editable.
Ejemplo donde se devuelve el recorrido Púbblico
Select XCODAR, XCOCLI, WUF_PAL(XKEYUN,’P’) from OPERA
WUF_PAH(XFLNAM,XFLK01,XFLK02,XFLK03,XFLK04,XFLK05,XFLK06,XFLK07,XFLK08,XFLK09,XFLK10,XCLSDO,X
LIVME,XTPARE)
Parámetro
Formato
Significado
XFLNAM
Alfanumérico
Nombre File
Valores Disponibles
XFLK01-10
Alfanumérico
Valor Campo Clave 1-10
XCLSDO
Alfanumérico
Clase Documento
(opcional)
XLIVME
Alfanumérico
Nivel de modificación
Documento
X.XX (ES. 1.01) = Especifica Revisión
LAST = Última Revisión.
DATA(fecha)larga 8 invertida =
Revisión válida a la fecha indicada.
XTPARE
Alfanumérico
Tipo Parámetro Devuelto
„P‟ Asumido por defecto = Recorrido
documento Público (si existe PDF u otro)
„E‟ = Recorrido Objeto Editable.
Ejemplo donde se devuelve el recorrido público del documento adjunto al file PARAR en el artículo indicado por el campo
XCODAR para la clase documentos CO.
Select XCODAR, XDSART, WUF_PAH(‘PARAR’,XCODAR,’’,’’,’’,’’,’’,’’,’’,’’,’’,’CO’,’LAST’,’P’) from PARAR
2.7.6
Añadidura de una columna ICONO
Hay muchas posibilidades de tipos de campos a utilizar cuando se vaya a añadir columnas. Es posible introducir campos
“ICONO” informativos a los que los usuarios pueden referirse en las líneas de Subfile. Aquí abajo mostramos un ejemplo
realizado en el elaborado QC.
Pagina 31
Herramientas de Customización – Manual de Analista de Sistema
El cliente ha pedido que en la explosión de la lista de materiales sean señalados los componentes que provienen de Padre
Ficticio.
Figura 2.7-VIII (WGDSAHAND/GENERAL)
La lógica de compilación de los campos es similar a lo que se ha descrito y explicado en el capítulo anterior con respecto a
las columnas Link Imagen, cambia sólo la instrucción SQL que se va a iniciar. Aquella será libre y dependerá de la condición
que se quiere controlar , si verdadera va a ser emitido el ICONO, si falsa (no encuentro registro) el campo añadido se queda
vacío.
Figura 2.7-IX (WGDSAHAND/STRSQL)
2.8
Command Services
El mantenimiento de los “Command Service” se lanza desde la adecuada voz de Menù entrando por medio del perfil
WEBGATECVT.
Sirve para definir “Comandos” que puedan ser disponibles en las pantallas de la aplicación y también para que puedan ser
disponibles las condiciones de entorno necesarias para su ejecución. Por entorno se entiende el conjunto de las variables
presentes en el file vídeo, las visibiles y también las no visibles (hidden).
Presuponiendo que un comando (por comodidad nos referimos a la llamada de un programa que habitualmente se ejecuta
con un código operativo “CALL” en el interior de un programa RPG) puede ser ejecutado si están disponibles los valores
necesarios para llenar sus parámetros obligatorios, en esta pantalla se van a definir los metodos para encontrar estos
valores.
Entonces es necesario identificar cada variable que contienen los valores de arriba y eso se obtiene compilando la sección
“Nombre Campos” considerando las siguientes reglas:
Un comando puede ejecutarse en un formato vídeo cuándo:

Existen todas las variables indicadas (implícitamente necesarias).

El campo satisface los requisitos (largo, tipo, posiciones decimales)
Pagina 32
Herramientas de Customización – Manual de Analista de Sistema

El campo, si obligatorio, no resulta cero o blanco.

El campo satisface las reglas seleccionadas indicadas (ver el especifico help)
Figura 2.8-I (WGCMDD/EC2)
En este ejemplo, el comando se encuentra disponible en cada display files de la librería CLX que contienen los campos que
acaban por FLAGA o FLAG y los campos que acaban por CODIC o COCLI. Ambos campos no pueden quedar vacíos
(Obligatorio=Y) y el primer campo tendrá que contener el valor C.
El comando será disponible clicando con el botón derecho del ratón en el campo o en la barra de comando y se ejecutará de
manera interactiva en iSeries (según la definición del parámetro MODO). Antes de ejecutar el “Command”, va a ser lanzado
el programa RQF00C de preparación entorno (facultativo, indicado sólo como ejemplo).
El “Comando o Instrucción SQL” puede contener un comando en formato iSeries o en formato PC. Con respecto al iSeries,
las modalidades de codificación del comando son las mismas que se utilizarían si el programa fuese lanzado de una línea
comandos, mientras que con respecto a los comandos PC, son válidas las reglas definidas para el prompt “EJECUTA” de
Windows.
Los parámetros de los comandos ejecutados, pueden ser valorizados por los campos ( nombrados con referencias %1-%9)
especificados en la adecuada sección “Variables”.
Además de los comandos, se pueden introducir también instrucciones SQL que generan windows independientes y que
contienen el output de la SQL.
Ejemplo de un programa con más de un parámetro
Este parámetro dispone de 5 parámetros.
CALL PGM(SAMPLE) PARM(„
„ „%1‟ X'%2F' X„0%3F‟ X'00000000236F'
X'00000000236F' „PARM‟)
1.
Parámetro que se deja blanco
2.
Parámetro alfanumérico valorizado desde el primer (%1) campo de la lista
3.
Parámetro numérico largo 11 (impar) posiciones valorizado desde el segundo (%2) campo de la lista.
4.
Parámetro numérico largo 10 (par) posiciones valorizado desde el tercer campo de la lista.
5.
Parámetro numérico largo 11 posiciones constante.
6.
Parámetro numérico largo 10 posiciones constante.
7.
Parámetro alfanumérico constante.
NB
En un parámetro numérico, las posiciones pasadas siempre tienen que resultar pares (incluída la F final). Notar el 0 (cero)
añadido antes del número o antes de la sintaxis de sustitución si el largo del número resulta par.
Ejemplo de una instrucción SQL
SQLI://SELECT DIGITS(XTIGES) AS "TIPO", XDEDES AS "DESCRIZIONE", DECIMAL(SUM(XESIDI), 10, 3)
AS "GIACENZA" FROM SALPR INNER JOIN DECOD ON DIGITS(XTIGES)=XDECOD WHERE
XDECAM='TIGES' AND XANNOC=0 AND XCODAR='%1' GROUP BY XTIGES, XDEDES
Ejemplo de un comando para anexos DBLINKS
CALL PGM(RLKM01) PARM(' ' ' ' 'filename' '%1' '%2' '%3' '%4' '*NULL' '*BLNK' ' ' ' ' ' ' ' ')
2.8.1
Command Services de tipo Drag and Drop
Para entender su uso, vamos a ilustrar un ejemplo que utilizaremos como explicación.
Se trata de copiar uno o más lazos de lista de materiales de una categoría a otra.
El programa (ADDLEG) que ejecutará esta función tendrá que tener tre parámetros (todos alfanuméricos).
1.
Código Artículo Enlace Padre de la cual copiar (%1)
2.
Código Artículo Enlace Hijo de la cual copiar
Pagina 33
(%2)
Herramientas de Customización – Manual de Analista de Sistema
3.
Código Artículo Padre en el que copiar la relación (&3)
Desde el punto de vista operativo, tendrá que ser posible ejecutar una selección multiple en un subfile donde se pueda
visualizar una lista de componentes asociados de una categoría y que se pueda arrastrar a otro vídeo que contenga un
código artículo.
Esta acción permite la ejecución del programa que a su vez ejecutará la operación descrita (utilizando los tres parámetros )
y luego la añadidura de los componentes arrastrados al código que ha sido identificado por la acción “Drop” (Solta).
En el campo apropriado, tendrá que ser codificado el comando como sigue:
CALL PGM(ADDLEG) PARM(‟*DS‟ „%1‟ „%2‟ „&3‟)
Hay dos diferencias entre este y otros tipos de Command Service :

Primer parámetro = „*DS‟ (largo 100 posiciones alfanumérico)
Es un parámetro obligatorio que contiene el número total de los comandos que se están ejecutando y también contiene
el número del comando en uso, que son utiles cuando se define una selección multiple en las líneas de subfile.
De hecho, si el usuario copiará de una hoja a otra lista de materiales, por medio de una sola operación, 10
componentes, podría ser útil identificar (por ejemplo) la última repetición así que se pueda emitir un prompt para avisar
del éxito de la operación o bien un prompt que permita modificar los coeficientes de utilización de los componentes
copiados.
La definición de este parámetro está descrita por una DS que tiene que ser codificada en el interior de un programa
usuario.
Pos. DE
Pos. A
1
3
Número Total de las repeticiones
4
6
Número de la repetición corriente
7
9
Código acción común:
DLT = Delete (Borra)
EDT = Modifica
PRT = Stampa (Imprime)
10

100
Reservado
Parámetro &3 (Parámetro de Drop “solta”)
Indica el campo que tiene que encontrarse en la posición de “drop”(solta) para que se pueda ejecutar el comando.
Por eso los parámetros necesarios para habilitar la operación de “drag” (arrastra) se identifican por el prefijo % y los
parámetros necesarios para habilitar la operación de “drop” se identifican por el prefijo &.
Sigue el ejemplo de command service copia/borra lazos lista de materiales.
Figura 2.8-II (WGCMDD/EC2)
En la sección teclas y acciones comunes, es posible, por ese tipo de comando, configurar la visualización de una ventana en
el momento del arrastro. Esa ventana visualiza algunos iconos (seleccionables) que se refieren a las acciones comunes,
como por ejemplo Anulación (Delete), Impresión (Print) y Modifica Edit. Seleccionando un icono se ejecuta el comando
valorizando el parámetro *DS en la porción llamada “código acción común” con el valor atinente al icono elegido (DLT, EDT,
PRT …..).
Pagina 34
Herramientas de Customización – Manual de Analista de Sistema
Características de ejecución del comando :

Los comandos ejecutados durante la operación de Arrastra y Solta (Drag and Drop), será ejecutados en secuencia en el
interior de un único job. Por eso si el programa objeto del comando será cerrado con “return” (obligatorio), todas las
variables del mismo se guardarán.

Los posibles comandos “PRE” y “POST” serán ejecutados una sola vez antes del primer comando (repetición) y después
del último.

La “Tecla Post”, será ejecutada una sola vez , evadida la última repetición.
2.8.2
Tips
Se aconseja, para los comandos que preven un prompt de confirmación, introducir un parámetro que permita omitir lo si el
usuario lo necesita , por razones de eficiencia. En este caso será suficiente volver a definir en la sección custom el mismo
comando con su parámetro compilado de manera adecuada.
2.9
Sintaxis de las Variables y de los Campos
El NOMBRE que se atribuye a una variable, siempre se codifica sin caracteres especiales en el prefijo como por ejemplo
CLIENTE, PRECIO, IMPORTE, ARTÍCULO.
En cambio si nos referimos al “Valor / Contenido” de la variable, el NOMBRE tiene que ser prefijado con el carácter %
como por ejemplo %CLIENTE, %PRECIO, %IMPORTE, %ARTÍCULO.
En las condiciones WHERE de las instrucciones SQL, hay que poner atención en el formato del campo de comparación. Para
los campos númericos la variable de comparación no hace falta de sintaxis particulares como por ejemplo
PREZE<>%PRECIO mientras que para los campos alfanuméricos la variable de comparación tiene que estar cerrada entre
apices como XCODIC=‟%CLIENTE‟.
Cuando es necesario pasar valores de las variables a programas llamados, hay que adoptar algunas medidas. Mostramos
aquí todas las posibilidades a través de un ejemplo.
CALL PGM(SAMPLE)
PARM(„
„ „%CLIENTE‟ X'%PRECIOF' X„0%IMPORTEF‟ X'00000000236F' X'00000000236F' „CONSTANTE‟)
1.
Parámetro que se deja blanco
2.
Parámetro alfanumérico valorizado por la variable%CLIENTE
3.
Parámetro numérico largo 11 (impar) posiciones valorizado por la variable %PRECIO
4.
Parámetro numérico largo 10 (par) posiciones valorizado por la variable %IMPORTE
5.
Parámetro numérico largo 11 posiciones valorizado con una constante numérica
6.
Parámetro numérico largo 10 posiciones valorizado con una constante numérica
7.
Parámetro alfanumérico valorizado con una constante
En un parámetro numérico, las posiciones pasadas siempre tienen que resultar pares (incluída la F final). Notar el 0 (cero)
añadido delante del número o antes de la sintaxis de sustitución si el largo del número resulta par.
2.10 Sesión Base de Datos (STRDBMON)
Con la tecla Enter de la base de datos (STRDBMON) da 5250 podemos iniciar la recopilacion de estadísticas sobre la
prestación de la base de datos para un trabajo especifico, para todos los trabajos sobre el sistema o para un grupo
seleccionado de puestos de trabajo. Las estadísticas se insertan en un archivo específico de cada usuario. Si el archivo no
existe, se crea uno basado en el file QAQQDBMN en la librería QSYS. Si el archivo existe, se verifica que el formato de
registro sea el mismo.
Para cada monitor iniciado utilizando STRDBMON, el sistema genera una ID monitor que puede ser utilizada para identificar
inequivocamente cada sesión de modo individual.
El ID monitor (identificador de sesión) se puede utilizar en el comando ENDDBMON para identificar cual es el monitor que se
debe terminar. El ID monitor se facilita en el mensaje informativo CPI436A que se genera en cada comando STRDBMON
ejecutado. El ID monitor se puede encontrar en la columna QQC101 del registro de la base de datos QQQ3018 del monitor.
Presentamos a continuacion algunos ejemplos de uso del comando
Ejemplo1 : Inicio de Monitorización de la base de datos para todos los procesos.
STRDBMON
OUTFILE(QGPL/FILE1) OUTMBR(MEMBER1 *ADD) JOB(*ALL) FRCRC
D(10)
Esta orden inicia la monitorización de la base de datos para todos los procesos del sistema. Las estadísticas sobre
prestaciones se adjuntan al elemento llamado member1 en el archivo llamado FILE1 en la librería QGPL. Quedan
grabados 10 registros en la memoria antes de empezar a sobreescribir los archivos.
Pagina 35
Herramientas de Customización – Manual de Analista de Sistema
Ejemplo 2: Inicio de Monitarización de la base de datos para un trabajo concreto.
STRDBMON
OUTFILE(*LIBL/FILE3) OUTMBR(MEMBER2) JOB(134543/QPGMR/DSP01) FRCRCD(20)
Esta orden inicia la monitorización de la base de datos para el número de trabajo 134543. El nombre del trabajo es
DSP01 y ha sido iniciado por el usuario llamado QPGMR. Las estadísticas sobre prestaciones se adjuntan al miembro
MEMBER2 en el archivo denominado FILE3 . Quedan grabados 20 registros en la memoria antes de empezar a
sobreescribir los archivos.
Ejemplo 3: Inicio de Monitorización de la base de datos para un trabajo concreto en un archivo en una librería
en un ASP
STRDBMON
OUTFILE(LIB41/DBMONFILE) JOB(134543/QPGMR/DSP01)
Esta orden inicia la monitorización de la base de datos para el numero de trabajo 134543. El nombre del trabajo es
DSP01 y ha sido iniciado por el usuario llamado QPGMR. La estadísticas sobre las prestaciones se adjuntan al
miembro DBMONFILE (no habiendose especificado OUTMBR) en el archivo DBMONFILE en la librería LIB41.
Ejemplo 4 : Inicio de Monitorización de la base de datos para todos los procesos que inician con 'QZDA'
STRDBMON
OUTFILE(LIB41/DBMONFILE) JOB(*ALLALL/QZDA*)
Esta orden inicia la monitorización de la base de datos para todos los números de trabajo, para todos los usuarios y
para el nombre del trabajo que empieza por 'QZDA'.
Las estadísticas de las prestaciones (record monitor) se adjuntan al valor DBMONFILE ( no habiendose especificado
OUTMBR) en el archivo DBMONFILE en la librería LIB41.
Ejemplo 5: Inicio de Monitorización de la base de datos para todos los trabajos y Filtro de las instrucciones SQL,
cuyo tiempo estimado de ejecución supera los 10 segundos.
STRDBMON
OUTFILE(LIB41/DBMONFILE) JOB(*ALL) RUNTHLD(10)
Ejemplo 6: Inicio de Monitorización de la base de datos para el trabajo en curso y aplicación de filtros sobre un
archivo especifico.
STRDBMON
OUTFILE(LIB41/DBMONFILE) JOB(*) FTRFILE(LIB41/TABLE1)
Esta orden inicia la monitarización de la base de datos para el trabajo en curso. Los registros del Monitor son
creados exclusivamente para los comandos SQL que utilizan el archivo LIB41/TABLE1.
Ejemplo 7: Inicio de Monitorización de la base de datos para el trabajo en curso y el usuario actual.
STRDBMON
OUTFILE(LIB41/DBMONFILE) JOB(*) FTRUSER(*CURRENT)
Esta orden inicia la monitorización de la base de datos para el trabajo en curso. Los registros del Monitor son
creados solo para aquellas instrucciones SQL que son ejecutadas por el usuario actual.
Ejemplo 8: Inicio de Monitorización de la base de datos para trabajos que empiezan por 'QZDA' con Filtro del
tiempo de ejecución y archivo.
STRDBMON
OUTFILE(LIB41/DBMONFILE) JOB(*ALL/*ALL/QZDA*) RUNTHLD(10) +
FTRUSER(DEVLPR1) FTRFILE(LIB41/TTT*)
Esta orden inicia la monitorización de la base de datos de todos los trabajos cuyos nombres empiezan por „QZDA‟.
Los datos del Monitor se podrán escribir sólo si las ordenes SQL cumplen las siguientes condiciones :
o
El tiempo estimado de trabajo, calculado por la Query Optimizer, es igual o mayor de 10 segundos.
o
Ha sido ejecutado por el usuario “DEVLPR1”
o
Utiliza archivos cuyos nombres empiezan por “TTT” y están en la librería LIB41
Para profundizar más sobre el uso del comando y de todos los parámetros disponibles, se remite a la Help en línea de AS400
y al manual IBM de AS400.
2.11 Interrogación LOG de Applet
Se puede recuperar de dos modos diferentes, de “Herramientas ” “System Utilities” “Display job Log”, o bien directamente
del icono de la barra de herramientas de la applet. Para que esté activa la opción elegida, debe estar abierto al menos un
trabajo. (es. “VA”)
Pagina 36
Herramientas de Customización – Manual de Analista de Sistema
Los datos visualizados al abrir la función, se refieren al trabajo que está activo en ese momento.
En el presente ejemplo vemos el LOG del elaborado “VA”.
Figura 2.11-I (RODM01FM/T2CTL)
Una vez recuperada la función, se puede modificar los criterios de busqueda y analizar el LOG de cualquier trabajo.
Normalmente se graban los mensajes hasta tres meses. En el interior del LOG encontramos grabados tanto los mensajes de
AS400, como los mensajes escritos de los procedimientos SQL (empiezan por Lxxxxxxx), estos ultimos subrayados en azul.
Figura 2.11-II (RODM01FM/T2CTL)
No indicando el “Nombre del Trabajo” ni el “Número” se puede analizar el LOG, por ejemplo de un solo usuario, que puede
ser distinto del que ha abierto la applet. Es conveniente indicar un intervalo de fechas para evitar que la búsqueda sea
demasiado larga y se expongan demasiados datos.
Si se conoce la parte del texto del mensaje que se quiere buscar o el código del mensaje, es posible usar los filtros
“Búsqueda” y/o “Id Mensaje”.
Seleccionando también el “Tipo” (incluso más de uno)
Pagina 37
se reduce nuevamente la lista.
Herramientas de Customización – Manual de Analista de Sistema
Activando “SÓLO Mensajes Especiales” se enumeran unicamente los mensajes generados por el procedimiento SQL
(aquellos subrayados en azul).
Para analizar el detalle del mensaje seleccionar la línea con la opción “5”
Figura 2.11-III (RODM01FM/W1)
Pagina 38

Documentos relacionados