recordName.resourceAssociation

Cuando el programa realiza una operación de E/S en un registro, la E/S se realiza en el archivo físico cuyo nombre se encuentra en la variable específica del registro nombreRegistro.resourceAssociation. La variable se inicializa de acuerdo con el componente resourceAssociation utilizado durante la generación; para obtener detalles, consulte el apartado Asociaciones de recursos y tipos de archivos. Puede cambiar el nombre de recurso del sistema durante la ejecución colocando un valor distinto en resourceAssociation.

En la mayoría de los casos, debe utilizar la sintaxis nombreRegistro.resourceAssociation. Sin embargo, no es necesario especificar un nombre de recurso si EGL puede determinar el registro que se pretende utilizar, como ocurre en cada uno de los casos siguientes:

Puede utilizar resourceAssociation de las siguientes maneras:

Las características de resourceAssociation son las siguientes:
Tipo primitivo
CHAR
Longitud de datos
Varía en función del tipo de archivo
¿Se guarda a lo largo de los segmentos?

Consideraciones de definición

El valor trasladado a nombreRegistro.resourceAssociation debe ser un nombre de recurso del sistema válido para el sistema y para el tipo de archivo especificados al generar el programa. Si más de un registro especifica el mismo nombre de archivo, la modificación de resourceAssociation para cualquier registro con dicho nombre de archivo cambia el valor de resourceAssociation para todos los registros del programa con el mismo nombre de archivo.

Si un recurso del sistema identificado en el valor de resourceAssociation está abierto cuando se modifica la variable específica del registro, el recurso del sistema que estaba en dicha variable se cierra en la siguiente circunstancia: una opción de E/S se ejecuta en un registro que tiene el mismo nombre de archivo EGL que el registro que califica a resourceAssociation.

Si dos programas utilizan el mismo nombre de archivo, cada una de las variables resourceAssociation específicas del registro deben contener el mismo valor. En caso contrario, el recurso del sistema abierto previamente se cierra cuando se abre uno nuevo.

El resultado de una comparación de resourceAssociation con otro valor es true sólo si la coincidencia es exacta. Si, por ejemplo, inicializa resourceAssociation con un valor en minúsculas, este valor sólo coincide con un valor en minúsculas.

El valor que se coloca en resourceAssociation permanece sin cambios a efectos de comparación.

Archivos compartidos entre programas

Puede establecer el nombre del recurso del sistema durante la generación o durante la ejecución:
Durante la generación
Si dos programas de la misma unidad de ejecución acceden al mismo archivo lógico, debe especificar el mismo nombre de recurso del sistema durante la generación para asegurarse de que ambos programas accedan al mismo archivo físico durante la ejecución.
Durante la ejecución
Si utiliza nombreRegistro.resourceAssociation, cada programa que acceda al archivo debe establecer resourceAssociation para el archivo. Si dos programas de la misma unidad de ejecución acceden al mismo archivo lógico, cada programa debe establecer resourceAssociation en el mismo nombre de recurso del sistema para asegurar que ambos programas accedan al mismo archivo físico durante la ejecución.

Si varios programas comparten un recurso del sistema, cada programa que accede al recurso debe establecer resourceAssociation para hacer referencia al mismo recurso. Además, si dos programas de la misma unidad de ejecución acceden al mismo archivo lógico, cada programa debe establecer resourceAssociation en el mismo nombre de recurso del sistema durante la generación para asegurar que ambos programas accedan al mismo recurso del sistema durante la ejecución.

Registros MQ

El nombre de recurso del sistema para registros MQ define el nombre de gestor de colas y el nombre de cola. Especifique el nombre en el siguiente formato:

  nombreGestorColas:nombreCola
nombreGestorColas
Nombre del gestor de colas.
nombreCola
Nombre de la cola.

Como se muestra, los nombres están separados por un carácter de dos puntos. Sin embargo, nombreGestorColas y el carácter de dos puntos pueden omitirse. El nombre de recurso del sistema se utiliza como valor inicial para el elemento resourceAssociation específico del registro e identifica la cola por omisión asociada al registro. Para obtener más detalles, consulte el apartado Soporte de MQSeries.

Plataformas destino

Plataforma Consideraciones sobre compatibilidad
CICS para z/OS
SPOOL
El valor es el nombre de archivo de entrada o salida para un archivo JES SPOOL con un archivo serie.

Nombre de archivo de entrada: idusuario.clase. El parámetro idusuario es un nombre de transcriptor externo de 4...8 caracteres o un asterisco (*). Si se utiliza un nombre de transcriptor externo, CICS requiere que los cuatro primeros caracteres del nombre del transcriptor externo sean los mismos que los cuatro primeros caracteres del APPLID CICS APPLID que identifica la región CICS para ACF/VTAM. El parámetro clase es una clase de spool de un solo carácter. clase es opcional y toma por omisión el valor "A". El tamaño máximo del nombre es diez bytes. Consulte el manual de personalización de CICS para obtener más información.

Nombre de archivo de salida: idnodo.idusuario.clase. El parámetro idnodo es un ID de usuario del sistema de 1...8 caracteres o un asterisco (*). El parámetro clase es una clase de spool de un solo carácter. clase es opcional y toma por omisión el valor "A". Si no se especifica clase, IDusuario también es opcional y toma por omisión el ID de usuario de CICS (el valor almacenado en sysVar.usrID). El tamaño máximo del nombre es 19 bytes. Consulte el manual de personalización de CICS para obtener más información.

TEMPMAIN
El valor es un nombre de cola de ocho bytes para una cola de almacenamiento temporal principal asociada a un archivo relativo o serie. Algunos nombres de cola están reservados para el uso de EGL y tienen el prefijo "EZE".

Cuando un nombre de cola de almacenamiento temporal se traslada a la variable específica de registro nombreRegistro.resourceAssociation, la cola se crear dinámicamente, a menos que ya exista. Un único archivo de cola de almacenamiento temporal no puede compartirse por varios usuarios a la vez. Se utiliza un mandato CICS ENQ para serializar el acceso al archivo la primera vez que se hace referencia a él en el programa. El mandato DEQ se emite cuando el programa cierra el archivo.

TEMPAUX
TEMPAUX es como TEMPMAIN, excepto que es para una cola de almacenamiento temporal auxiliar.
TRANSIENT
El valor es un nombre DCT de cuatro bytes para una cola de datos transitoria asociada a un archivo serie. El nombre de la cola de datos temporal debe definirse para CICS.
VSAM
El valor es un nombre FCT de ocho bytes para un archivo VSAM asociado a un archivo indexado, relativo o serie.
Plataformas Java Ninguna.
z/OS por lotes
VSAM
No soportado.
VSAMRS
El valor es un nombre de conjunto de datos de 44 bytes o un nombre DD de ocho bytes para un archivo VSAM asociado a un archivo indexado, relativo o serie. Si no se ha establecido ningún valor para resourceAssociation para un archivo, el programa comprueba primero si se ha preasignado un conjunto de datos utilizando el nombre de archivo lógico como nombre DD. De lo contrario, se utiliza el nombre de recurso del sistema especificado durante la generación para acceder al archivo. Al trasladar un nombre de conjunto de datos a resourceAssociation, el recurso se asigna dinámicamente al nombre de archivo de registro resourceAssociation utilizando una llamada de supervisor MVS (SVC99). La asignación se realiza con la opción DISP establecida en SHR, de forma que el conjunto de datos se escriba cada vez que se abra para la salida.
SEQ
No soportado.
SEQRS
El valor es un nombre de conjunto de datos de 54 bytes o un nombre DD de ocho bytes para un archivo secuencial del sistema asociado a un archivo serie. Si no se ha establecido ningún valor para resourceAssociation para un archivo, el programa comprueba primero si se ha preasignado un conjunto de datos utilizando el nombre de archivo lógico como nombre DD. De lo contrario, se utiliza el nombre de recurso del sistema especificado durante la generación para acceder al archivo. Al trasladar un nombre de conjunto de datos a resourceAssociation, el recurso se asigna dinámicamente al nombre de archivo de registro relacionado utilizando una llamada de supervisor MVS (SVC99). La asignación se realiza con la opción DISP establecida en SHR, de forma que el conjunto de datos vuelva a escribirse cada vez que se abra para la salida.
Plataforma Consideraciones sobre compatibilidad
iSeries COBOL El tipo de archivo debe ser SEQ o VSAM. El valor puede trasladarse a resourceAssociation de una de las siguientes formas:
LIB/FILE MEMBER
Especifique explícitamente la biblioteca, el archivo y el miembro
LIB/FILE
Se utiliza el primer miembro del archivo
FILE MEMBER
Se utiliza *LIBL para buscar el archivo
FILE
Se utiliza *LIBL para buscar el archivo y se utiliza el primer miembro de ese archivo
Si modifica el valor de resourceAssociation, el mandato iSeries OVRDBF tiene este efecto:
  1. Cierra el archivo antiguo
  2. Realiza una alteración temporal con el valor nuevo
  3. Abre el archivo nuevo

El valor establecido en resourceAssociation se propaga desde el nivel de llamada y se cambia en todos los niveles de llamada subordinados. El valor no se propaga si el programa ha abierto anteriormente el archivo.

Plataformas Java Ninguna.

Ejemplo

  if (process == 1)
    myrec.resourceAssociation = "myFile.txt";
  else
    myrec.resourceAssociation = "myFile02.txt";
  end

Consulta relacionada

Condiciones de uso | Comentarios
(C) Copyright IBM Corporation 2000, 2005. Reservados todos los derechos.