Exploración de definiciones de recursos
Los comandos INQUIRE que se aplican a los recursos normalmente recuperan información sobre un único recurso que usted nombra cuando emite el comando. Sin embargo, existe otro formulario que le permite examinar algunas o todas las definiciones de un tipo determinado.
La documentación de cada comando INQUIRE indica si las opciones de búsqueda son compatibles o no con ese tipo de recurso.
Puede consultar o explorar recursos privados para aplicaciones desplegadas en plataformas. Para los tipos de recursos compatibles, un recurso CICS® es privado si el recurso se define en un paquete CICS que se empaqueta e instala como parte de una aplicación, ya sea como parte del paquete de aplicaciones o como parte del paquete de vinculación de aplicaciones. Los recursos CICS de otros tipos de recursos que se definen como parte de las aplicaciones, y los recursos CICS que se definen mediante cualquier otro método, están disponibles públicamente para todas las tareas. Estos recursos se conocen como recursos públicos.
- Recursos LIBRARY, que representan uno o más conjuntos de datos, conocidos como concatenaciones dinámicas de LIBRARY de programa, a partir de los cuales se pueden cargar módulos de carga de programa.
- Los recursos PACKAGESET, que representan colecciones Db2® y se utilizan para calificar a qué tabla de una base de datos Db2 se refiere una petición EXEC SQL no calificada.
- Recursos POLICY, que representan una o más reglas que gestionan el comportamiento de las tareas de usuario en las regiones CICS.
- Recursos PROGRAM, que representan un programa de aplicación. Un programa autoinstalado por una tarea para una aplicación desplegada en una plataforma también es privado para esa versión de la aplicación.
Cuando se emite el comando EXEC CICS INQUIRE, por defecto, CICS busca los recursos que están disponibles para el programa donde se emite el comando. Si el comando se emite desde un programa público, verá los recursos públicos de ese tipo. Si el comando se emite desde un programa que se está ejecutando con un contexto de aplicación, verá los recursos privados del contexto de aplicación actual y los recursos públicos de ese tipo. También puede optar por consultar los recursos privados de una aplicación concreta.
Cómo consultar las definiciones de recursos
Las definiciones de recursos se examinan en tres pasos:
- Iniciar una exploración de las definiciones de recursos. Para más información, consulta Iniciar una navegación.
- Recuperar el siguiente recurso. Para más información, consulte Recuperar el siguiente recurso.
- Finaliza la búsqueda de definiciones de recursos. Para ello, emita un comando INQUIRE para el tipo de recurso sólo con la opción
END:INQUIRE resource-type END
- Su posición en una navegación está asociada a su tarea, de modo que se conserva a través de los comandos LINK y XCTL. Los programas que se ejecutan como parte de una tabla de lista de programas (PLT) durante la inicialización o terminación de CICS se ejecutan bajo una única tarea. En consecuencia, deben terminar explícitamente cualquier navegación que inicien, para no entrar en conflicto con otros programas del mismo PLT.
- Una tarea puede examinar más de un tipo de recurso al mismo tiempo, pero sólo puede tener un examen en curso para un tipo de recurso concreto.
- Un comando SYNCPOINT no finaliza una navegación ni afecta a tu posición en ella.
- Las definiciones de recursos no se bloquean durante una consulta, y otra tarea puede cambiar las definiciones mientras se consulta sobre ellas.
- Siempre debe finalizar una búsqueda de recursos explícitamente, en lugar de permitir que el procesamiento de fin de tarea lo haga implícitamente, porque una búsqueda contiene bloques de control que otras tareas pueden necesitar para la búsqueda.
- INQUIRE NEXT no suelen provocar un cambio de tarea. Por lo tanto, una tarea que navega por una larga lista de recursos puede exceder el intervalo de la tarea fuera de control sin ceder el control, haciendo que CICS la aborte con un código AICA. Si esto ocurre, deberá intercalar periódicamente un comando SUSPEND entre sus INQUIRE NEXT s.
- Durante una navegación en una tarea para la que la comprobación de seguridad de recursos está en efecto, CICS devuelve sólo aquellas definiciones que el usuario está autorizado a ver. Los demás se omiten sin ninguna indicación.
Ver ejemplo
He aquí un ejemplo de una secuencia de navegación típica. Este código recupera los nombres de todos los archivos instalados en el sistema y llama a una subrutina para procesar información sobre las características de recuperación si el archivo está abierto.
EXEC CICS INQUIRE FILE START END-EXEC.
PERFORM UNTIL RESPCODE = DFHRESP(END)
EXEC CICS INQUIRE FILE(FILENAME) NEXT
OPENSTATUS(OPENSTAT)
RECOVSTAT(RCVRSTAT)
FWDRECSTATUS(FWDSTAT)
RESP(RESPCODE) END-EXEC
IF RESPCODE = DFHRESP(NORMAL)
IF OPENSTAT = DFHVALUE(OPEN)
CALL RCVY-RTN USING RCVRSTAT FWDSTAT
END-IF
ELSE CALL ERROR-RTN END-IF
END-PERFORM.
EXEC CICS INQUIRE FILE END END-EXEC.
Condiciones de excepción para la navegación
En los formularios browse de un comando INQUIRE pueden producirse una serie de condiciones de error, además de las que se aplican al formulario de recurso único del comando.
Estas condiciones son las siguientes:
- APLICACIÓN NO ENCONTRADA
- Valores de RESP2:
- 1
- Se ha emitido un comando START especificando un contexto de aplicación. No se encuentra la aplicación indicada.
- END
- Valores de RESP2:
- 2
- Se ha emitido INQUIRE NEXT, pero no hay más definiciones de recursos del tipo que se está consultando.
- 8
- Se ha emitido INQUIRE NEXT, pero el recurso consultado se ha eliminado desde el inicio de la consulta
- ILLOGIC
- Valores de RESP2:
- 1
- Se ha dado un INICIO cuando ya está en curso una navegación del mismo tipo de recurso, o se ha dado un SIGUIENTE o un FIN sin un INICIO precedente.