Lea en AS/400 System i . . .

Aprovechando las posibilidades del WRKACTJOB a través de sus parámetros

Obtenga una salida diferente de la habitual al ejecutar el comando WRKACTJOB, aprovechando lo ofrecido por algunos parámetros interesantes que posibilitan entre otras acciones la de renovar automáticamente la pantalla resultante.

FaceBookTwitterGoogle+

Buscando texto a nivel de miembro en AS400 usando una lista de búsqueda

Aprenda cómo buscar series de caracteres en miembros de archivos fuente o de datos dispuestos en más de una bibliotecahaciendo uso de una lista de búsqueda, mediante el comando FNDSTRPDM2 de la biblioteca QPDA (almacena el producto PDM) en AS400.

En el tip "Cómo buscar texto en un archivo AS400 a nivel de miembro" publicado anteriormente en Teknodatips, se mostró el uso del comando FNDSTRPDM para saber si un texto determinado aparecía en uno o más miembros de un archivo físico de fuentes o de datos.

Si bien el comando FNDSTRPDM es útil y ofrece la funcionalidad requerida en muchas situaciones, tiene un comportamiento que limita su uso en determinados casos:

Por ejemplo, analizando la sentencia:

FNDSTRPDM STRING('Para curso AS400') FILE(*LIBL/QCLSRC) MBR(*ALL) OPTION(*DSP),

el parámetro FILE hace referencia a *LIBL. Aunque es esperable que el sistema busque la serie 'Para curso AS400' en todos los miembros de archivos QCLSRC de la lista de bibliotecas, sin embargo, sólo buscará el string especificado en todos los miembros del archivo QCLSRC (parámetro MBR(*ALL)) de la primera biblioteca especificada en la lista de bibliotecas, es decir, NO "rastrea" toda la lista de bibliotecas.

Por lo tanto, si al momento de ejecutar el comando, en la lista de bibliotecas existieran otras bibliotecas que también contienen el string especificado en sus miembros del archivo QCLSRC, el comando NO devolverá ninguna coincidencia para ellos. Ese es el comportamiento "normal" del comando FNDSTRPDM cuando se hace referencia a *LIBL, como si se hubiese especificado sólo una biblioteca.

Pero ¿Qué ocurre si lo que se necesita es buscar un string determinado en los miembros de archivos fuente (o de datos) especificando más de una biblioteca, es decir buscar en una lista?

IBM presenta una manera de "sortear" esta limitación inherente al comando FNDSTRPDM,  por medio del comando FNDSTRPDM2 (Find String with list- Buscar serie con Lista), disponible desde la V5R4, en la biblioteca QPDA.

El comando FNDSTRPDM2, permite buscar series de caracteres o hexadecimales en miembros de un archivo físico fuente o en miembros de un archivo físico de datos utilizando una lista de búsqueda, que se almacena en un miembro de archivo físico. En consecuencia, cuando un usuario busca un string determinado con el comando FDNSTRPDM2 el sistema analiza todos los miembros especificados en la lista de búsqueda para encontrar coincidencias.

Uso del comando FNDSTRPDM2

EL comando FNDSTRPDM2 es un objeto de tipo *CMD de la biblioteca QPDA, que es la biblioteca con la trabaja el utilitario PDM (Program Developer Management o el Gestor de Desarrollo de Programa). Por lo tanto para poder ejecutarlo en la línea de comandos, es necesario: o arrancar el PDM para "cargar" la biblioteca QPDA a la lista de bibliotecas, o "calificar" el comando, de la siguiente manera: QPDA/FNDSTRPDM2 (manera indicada cuando la ejecución es batch).

Como mencionáramos anteriormente, el comando necesita definir una lista de búsqueda, que podría tener, por ejemplo, un formato como el siguiente:

Biblioteca Archivo Miembro
TEKEXE QCLSRC FUND*
TEKEXE1 QCLSRC *ALL
TEKEXE2 QCLSRC *ALL
TEKTCL QCLSRC *ALL

Allí debería indicarse: las bibliotecas donde se debe buscar, en qué archivos (de fuentes o de datos) y en qué miembros (se pueden usar genéricos, un nombre o en todos), en ese órden.

¿Dónde definir la lista de búsqueda?

Se mencionó antes que el comando FNDSTRPDM2 opera en base a una lista de búsqueda que está almacenada en un miembro de archivo físico. Por lo tanto una vez que se sabe qué se desea buscar, es necesario:

1) definir los valores de búsqueda en un miembro de archivo (e ir agregando otros, en la medida que sea necesario). Para eso, en la biblioteca QPDA existe un archivo con nombre QAUOSR2 que contiene un miembro (QAUOMB2) en donde se puede definir la lista de búsqueda. Estos son los nombres del archivo y del miembro por default que se presentan al promptear el comando FNDSTRPDM2. Sin embargo, la lista de búsqueda puede definirse sobre cualquier archivo, miembro y biblioteca elegidos por el usuario.

Para agregar los valores se procede de la misma manera que para editar el contenido de cualquier miembro de datos, por ejemplo utilizando el DFU (Data File Utility) opción disponible en las pantallas del PDM.

Una vez cargados los valores que se quieren incluir en la lista de búsqueda, si se visualiza el miembro de datos mostrará una pantalla como la siguiente:

AS400-FNDSTRPDM2-miembro-busqueda-1

Observando los valores definidos en esta lista de búsqueda, indica en este caso que se buscará: en todos los miembros (*ALL) del archivo QCLSRC de la biblioteca TEKEXE, pero también en los miembros que comiencen con FUND contenidos en el archivo QCLSRC de la biblioteca TEKEXE1, y asi siguiendo según lo indicado en las filas subsiguientes.

2) Una vez definida la lista de búsqueda como se indicó arriba, ya es posible ejecutar el comando FNDSTRPDM2 indicando aquí la 'Serie' de búsqueda que se desea encontrar y otros parámetros necesarios, como se muestra abajo:

AS400-FNDSTRPDM2-prompt-comando-2

Como ejemplo de su ejecución:

El mandato especificado en la imagen de arriba, busca las apariciones de la serie &OPCION en todos los miembros de la lista de búsqueda. La lista de búsqueda se encuentra en el miembro QAUOMB2 del archivo QAUOSR2 de la biblioteca QPDA (en estos parámetros se usaron los valores por default). Según lo indicado, se visualizará por pantalla cada miembro para el que se encuentre una coincidencia (parámetro Opción con valor *DSP). Además, la búsqueda no será sensible a mayúsculas o minúsculas (parámetroClase de coincidencia *IGNORE).

También se generará un archivo de spool (con nombre QPUOPRTF) para cada archivo de la lista de búsqueda que incluye la lista de los miembros que contienen la serie buscada (si se indicó en el parámetro Imprimir Lista *YES). Esos archivos podrán luego ser visualizados y tratados como cualquier archivo de spool.

Para tener en cuenta ...

  • Referirse al tip Cómo buscar texto en un archivo AS400 a nivel de miembro para detalles sobre los posibles valores que puede tomar el parámetro Opción del comando FNDSTRPDM2, similares a los valores usados en el mismo parámetro del comando FNDSTRPDM.
  • Recordar usar la forma calificada del comando (QPDA/FNDSTRPDM2) cuando se ejecute el comando en entorno batch

n_Nora_Salmun

- Especialista AS400

- Supervisor Editorial Teknodatips


Copyright 2013 - Teknoda S.A.

IMPORTANTE:
“Notas técnicas de AS/400" se envía con frecuencia variable y sin cargo como servicio a nuestros clientes AS/400. Contiene notas/tutoriales/artículos técnicos desarrollados en forma totalmente objetiva e independiente. Teknoda es una organización de servicios de tecnología informática y NO comercializa hardware, software ni otros productos.
Si desea suscribir otra dirección de e-mail para que comience a recibir las Notas Técnicas AS400, envíe un mensaje desde esa direcciónletter400@teknoda.com, aclarando nombre, empresa, cargo y país del suscriptor.

AS400 , iSeries y System i son marcas registradas de IBM. IBM no es el editor de esta publicación y no es responsable de la misma en ningún aspecto. La información contenida en esta publicación ha sido generada por nuestros especialistas a partir de fuentes consideradas confiables y del ejercicio profesional cotidiano. No obstante, por la posibilidad de error humano, mecánico, cambio de versión u otro, Teknoda no garantiza la exactitud o completud de la misma.
COPYRIGHT TEKNODA S.A. PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL SIN CONSENTIMIENTO DE TEKNODA


 

Comentarios  

0 #2 Darwin 15-06-2016 16:35
Muchas Gracias!
Citar
0 #1 Miguel 19-09-2013 11:13
Una información muy útil para muchas instalaciones, en las que la información a encontrar está en varias bibliotecas. Sólo un apunte: QAUOSR2 es un PF-SRC, por lo que la carga de datos tiene que hacerse mediante la edición del miembro.
Saludos
Citar

Escribir un comentario


Código de seguridad
Refescar

Lea en AS/400 Tips . . .

Infografía comparativa Comandos de SAVE RESTORE del AS400

save_restore_thumbnail

Conozca y diferencie visualmente qué partes del almacenamiento resguarda y restaura cada comando y cada opción del Menú Salvar y Restaurar. PUEDE DESCARGAR UN FORMATO POSTER PARA IMPRESION.

Para lograr un entendimiento conceptual es de suma utilidad contar con una ayuda gráfica, que  permita diferenciarlos a primera vista. Nuestro equipo de especialistas ha desarrollado el "Infographics" que presentamos con este tip. Por supuesto, el mismo debe complementarse con la información detallada de los innumerables parámetros de cada comando, pero es un útil marco de referencia  para recordar el área de injerencia de cada comando.

LEER ESTE ARTICULO >>>>>

 

 

 

Copyright © 2017 Teknoda tips - Tecnologia SAP Netweaver - IBM AS400 - System i - iSeries. Todos los derechos reservados.