READ
Lee un registro de un archivo.
Sintaxis
Condiciones: DISABLED, DUPKEY, FILENOTFOUND, ILLOGIC, INVREQ, IOERR, ISCINVREQ, LENGERR, LOADING, LOCKED, NOSPACE, NOTAUTH, NOTFND, NOTOPEN, RECORDBUSY, SYSIDERR
NOHANDLE, RESP, y RESP2 son opciones comunes que se pueden añadir a todos los comandos EXEC CICS para procesar condiciones de error. No se incluyen explícitamente en el diagrama de sintaxis del comando ni en las descripciones de las opciones. Para obtener información sobre estas opciones comunes y la sintaxis del comando EXEC CICS, consulte EXEC CICS formato de comando y consideraciones de programación.
- Definido como remoto y el comando es función enviada a través de una conexión IPIC a una región remota CICS®.
- Se define como un archivo VSAM local, un archivo VSAM RLS o una tabla de datos de instalaciones de acoplamiento.
- 6.2 y más tarde Se define como una tabla de datos compartida y no se especifica la opción UPDATE.
- Definido como remoto y el comando es función enviada a través de una conexión no IPIC.
- Definido como NSR.
- Definido como un archivo BDAM.
- Definida como una tabla de datos compartida.
Descripción
READ lee un registro de un archivo en un sistema local o remoto.
Tanto para los comandos UPDATE como para los que no lo son, debe identificar el registro que se va a recuperar mediante el campo de identificación del registro especificado en la opción RIDFLD. Inmediatamente después de la finalización de un comando READ UPDATE, el área de datos RIDFLD está disponible para su reutilización por el programa de aplicación.
Consideraciones sobre la tabla de datos
Cuando el comando READ lee una tabla de datos CICS mantenida, una petición READ con UPDATE o RBA siempre se satisface con una llamada a VSAM. Una lectura de clave completa que no sea ni una lectura genérica ni una READ UPDATE, se satisface con una referencia a la tabla de datos si es posible. Si el registro no se encuentra en la tabla, se accede al conjunto de datos de origen, a menos que se sepa que la tabla está completa, es decir, que todos los registros del origen también están presentes en la tabla (lo que ocurre si la carga ha finalizado y ninguno ha sido rechazado por una salida del usuario).
Si realiza una lectura genérica (utilizando la opción GENERIC) en una tabla de datos CICS mantenida, y CICS devuelve una condición NOTFND porque el registro no se encuentra en la tabla, CICS borra las áreas INTO() y RIDFLD() para garantizar que no se devuelve un registro incorrecto. Este comportamiento optimiza el rendimiento, pero difiere del comportamiento para una lectura genérica de un archivo VSAM, cuando las áreas INTO() y RIDFLD() se dejan sin cambios en caso de una condición NOTFND. Cuando convierta un archivo VSAM en una tabla de datos CICS mantenida, asegúrese de que cualquier aplicación que realice lecturas genéricas de los datos tome las medidas adecuadas si se devuelve una condición NOTFND y se borran las áreas INTO() y RIDFLD().
Cuando el comando READ lee una tabla de datos mantenida por el usuario, sólo se accede a la tabla de datos una vez finalizada la carga; el archivo VSAM no se modifica en modo alguno.
Cuando el comando READ lee una tabla de datos de una instalación de acoplamiento, sólo se accede a la tabla de datos, incluso si la tabla se carga inicialmente desde un conjunto de datos de origen VSAM.
Si se define con RLSACCESS(YES) un archivo que hace referencia a una tabla de datos de instalación mantenida por el usuario o de acoplamiento, no se admiten las opciones de API específicas de RLS CONSISTENT, NOSUSPEND y REPEATABLE.
Lectura de archivos a los que se accede en modo RLS
Cuando se accede a un fichero en modo RLS, las peticiones de lectura no actualizadas pueden especificar una de las opciones de integridad de lectura: NO COMUNICADA, CONSISTENTE o REPETIBLE.
Si no se especifica ninguna de estas palabras clave, CICS utiliza el valor especificado en el parámetro READINTEG de la definición del recurso FILE, cuyo valor por defecto es UNCOMMITTED.
- La región remota propietaria del archivo admite las opciones de integridad de lectura.
- La definición de ARCHIVO en el sistema remoto especifica:
- Modo RLS
- Los valores de integridad de lectura correctos para su aplicación.
Las peticiones READ que especifican la palabra clave UPDATE, o una opción de integridad de lectura CONSISTENT o REPEATABLE (ya sea explícita o implícitamente en la definición de FILE), devuelven la condición LOCKED si hacen referencia a un registro que tiene un bloqueo retenido. La clave de un registro bloqueado no se devuelve al programa de aplicación. Por lo tanto, si un programa de aplicación especifica GTEQ o GENERIC en la solicitud READ, no podrá saber qué clave de registro está bloqueada.
- Si se utiliza un enlace ISC, la solicitud recibe un ATNI abend.
- Si se utiliza un enlace MRO, la solicitud recibe un AXF8 abend.
El código AXF8 abend indica que su programa ha intentado enviar una solicitud que especifica opciones de control de archivos a una región remota CICS que no admite estas opciones.
Cerraduras retenidas y activas
RECORDBUSY se refiere a los bloqueos activos y LOCKED a los bloqueos retenidos.
- Las solicitudes de LECTURA de registros que tienen bloqueos retenidos siempre se rechazan con una respuesta BLOQUEADO.
- Las peticiones READ para registros que tienen bloqueos activos esperan a que se libere el bloqueo, excepto cuando se especifica la palabra clave NOSUSPEND, en cuyo caso CICS devuelve la respuesta RECORDBUSY.
Opciones
- CONSISTENTE (sólo SPI)
- El registro se lee con un nivel de integridad de lectura proporcionado por un bloqueo compartido VSAM que dura lo que dura la solicitud.Si el registro está siendo modificado por otra tarea, que por lo tanto tiene un bloqueo exclusivo, la solicitud de LECTURA espera hasta que se complete la actualización (a menos que también se especifique NOSUSPEND) de la siguiente manera:
- Para una solicitud de LECTURA contra un archivo no recuperable, la LECTURA se completa tan pronto como se complete cualquier solicitud VSAM que realice la actualización.
- Para una solicitud de LECTURA contra un archivo recuperable, la solicitud de LECTURA se completa cuando la tarea de actualización completa su siguiente punto de sincronización o retroceso.
- DEBKEY
- (BDAM bloqueado) especifica que el desbloqueo debe producirse por llave. Si no se especifica ni DEBREC ni DEBKEY, no se produce el desbloqueo.
- DEBREC
- (BDAM bloqueada) especifica que el desbloqueo debe producirse por registro relativo (relativo a cero). Si no se especifica ni DEBREC ni DEBKEY, no se produce el desbloqueo.
- EQUAL
- especifica que la búsqueda sólo se satisface con un registro que tenga la misma clave (completa o genérica) que la especificada en la opción RIDFLD.
- FILE(nombre de fichero)
- especifica el nombre del archivo al que se debe acceder.
Si se especifica SYSID, se supone que el conjunto de datos al que hace referencia este archivo se encuentra en un sistema remoto, independientemente de si el nombre está definido en CICS. En caso contrario, se utiliza la definición del recurso para averiguar si el conjunto de datos se encuentra en un sistema local o remoto.
- GENÉRICO
- (VSAM KSDS, rutas y tablas de datos) especifica que la clave de búsqueda es una clave genérica cuya longitud se especifica en la opción KEYLENGTH. La búsqueda de un registro se satisface cuando se encuentra un registro que tiene los mismos caracteres iniciales (clave genérica) que los especificados.
- GTEQ
- (VSAM KSDS, rutas y tablas de datos) especifica que, si la búsqueda de un registro que tenga la misma clave (completa o genérica) que la especificada en la opción RIDFLD no tiene éxito, se recupera el primer registro que tenga una clave mayor.
- INTO(área de datos)
- especifica el área de datos en la que se escribirá el registro recuperado del conjunto de datos.
Cuando se especifica INTO, LENGTH debe especificarse explícitamente o debe poderse predeterminar desde la opción INTO utilizando la referencia del atributo length en lenguaje ensamblador, o STG y CSTG en PL/I. LENGTH debe especificarse explícitamente en C®.
- KEYLENGTH(valor-datos)
- especifica la longitud (media palabra binaria) de la clave que se ha especificado en la opción RIDFLD, excepto cuando se especifica RBA o RRN, en cuyo caso el valor KEYLENGTH no es válido. Esta opción debe especificarse si se especifica GENERIC, y puede especificarse siempre que se especifique una clave. Sin embargo, si la longitud especificada es diferente de la longitud definida para el conjunto de datos y la operación no es genérica, se produce la condición INVREQ.
La condición INVREQ también se produce si se especifica GENERIC y el valor KEYLENGTH no es inferior al especificado en la definición VSAM.
Si se utiliza KEYLENGTH(0) con el objeto de leer el primer registro del conjunto de datos, debe especificarse también la opción GTEQ. Si se especifica EQUAL explícitamente o por defecto con KEYLENGTH(0), los resultados de la LECTURA son impredecibles.
Para los ficheros remotos, el valor KEYLENGTH puede especificarse en la definición de FILE. Si KEYLENGTH no se define allí, y no se especifica en el programa de aplicación, y la clave tiene más de 4 caracteres, el valor por defecto es 4.
- LENGTH(área de datos)
- especifica la longitud, como valor binario de media palabra, del área de datos donde se va a poner el registro. Al finalizar el comando READ, el parámetro LENGTH contiene la longitud real del registro.
Esta opción debe especificarse si se especifica SYSID.
Si el archivo se encuentra en un sistema remoto, no es necesario establecer aquí el parámetro LENGTH, sino que debe establecerse en la definición del recurso de archivo.
Si el fichero está en un sistema local, el parámetro LENGTH debe establecerse para registros de longitud variable, utilizando la opción INTO, pero no para registros de longitud fija. Sin embargo, es aconsejable especificar la longitud para los registros de longitud fija porque:- Hace que se compruebe que el registro que se está leyendo no es demasiado largo para el área de datos disponible.
- Cuando se leen registros de longitud fija en un área más larga que el registro al que se está accediendo, se produce la condición LENGERR para COBOL, C, PL/I, y aplicaciones en lenguaje ensamblador si se especifica la opción LENGTH. Si no se especifica explícitamente la opción LENGTH, se devuelve la condición LENGERR si la longitud puede deducirse del área de datos. Si la longitud especificada supera la longitud del registro del archivo, CICS utiliza la longitud mayor para el movimiento. Si el área de destino en el programa de aplicación no es lo suficientemente grande, el almacenamiento se superpone más allá del área de destino.
Si especifica la opción SET, no necesita especificar la opción LENGTH.
Cuando se lee en un área de datos de destino que es más larga que el registro que se está leyendo, el contenido del área de datos de destino, desde el final del registro recuperado hasta el final del área de datos de destino, es impredecible.
Si especifica la opción INTO, el argumento LENGTH debe ser un área de datos que especifique el registro más grande que acepta el programa. Si el registro recuperado es más largo que el valor especificado en la opción LENGTH, el registro se trunca hasta el valor especificado y se produce la condición LENGERR. En este caso, el área de datos LENGTH se ajusta a la longitud del registro antes del truncamiento.
Tenga en cuenta que un comando de control de archivos emitido contra un registro de longitud variable en un archivo definido en el sistema local CICS falla con una condición LENGERR si no se especifica una longitud. Sin embargo, si se emite el mismo comando contra un archivo definido en un sistema remoto, el comando no falla.
- NOSUSPEND (sólo RLS)
- La solicitud no espera si el registro está bloqueado por VSAM con un bloqueo activo, incluidos los registros bloqueados como resultado de un DEADLOCK.Nota: Las solicitudes que especifican NOSUSPEND esperan al menos 1 segundo antes de que CICS devuelva la respuesta RECORDBUSY.
- RBA
- (sólo conjuntos de datos base VSAM KSDS o ESDS, o CICS tablas de datos mantenidas, pero no rutas) especifica que el campo de identificación de registro especificado en la opción RIDFLD contiene una dirección de bytes relativa. Esta opción sólo debe utilizarse cuando se leen registros de una base ESDS o cuando se leen de una base KSDS y se utilizan direcciones relativas de bytes en lugar de claves para identificar los registros.No se puede utilizar RBA para:
- Tablas de datos mantenidas por el usuario
- Tablas de datos de recurso de acoplamiento
- Cualquier archivo KSDS abierto en modo de acceso RLS
- Ficheros KSDS que utilizan direccionamiento ampliado
- REPETIBLE (sólo RLS)
- El registro se lee con un nivel de integridad de lectura proporcionado por un bloqueo compartido VSAM que dura lo que dura la unidad de trabajo en la que se emite la solicitud de lectura.Si el registro está siendo modificado por otra tarea, que por lo tanto tiene un bloqueo exclusivo, la solicitud de LECTURA espera hasta que se complete la actualización (a menos que también se especifique NOSUSPEND) de la siguiente manera:
- Para un archivo recuperable, la petición READ se completa cuando la transacción de actualización completa su siguiente syncpoint o rollback.
- Para un archivo no recuperable, la LECTURA se completa tan pronto como finaliza la petición VSAM que realiza la actualización.
Una vez finalizada la solicitud de LECTURA, el registro permanece bloqueado para la tarea que emitió la LECTURA. Otras tareas pueden continuar leyendo el registro, pero no se permite que ninguna otra tarea lo actualice hasta que la tarea que emitió la READ realice su siguiente syncpoint o rollback.
- RIDFLD(área de datos)
- especifica el campo de identificación del registro. El contenido puede ser una clave, una dirección de byte relativa o un número de registro relativo (para conjuntos de datos VSAM), o una referencia de bloque, una clave física y un argumento de desbloqueo (para conjuntos de datos BDAM). Para una dirección de byte relativa o un número de registro relativo, el formato de este campo debe ser binario de palabra completa. Para una dirección de byte relativa, el valor RIDFLD puede ser mayor o igual a cero. Para un número de registro relativo, el valor RIDFLD debe ser mayor o igual a 1, incluso cuando se especifica la opción GTEQ.
Consulte Identificación de registros BDAM y Identificación de registros VSAM para obtener más información sobre la definición del campo de identificación de registros.
Inmediatamente después de la finalización del comando, el área de datos RIDFLD está disponible para su reutilización por el programa de aplicación, incluso si se especificó UPDATE.
Asegúrese de que la variable especificada por el valor RIDFLD no es más corta que la longitud de clave (KEYLENGTH) especificada en este comando o, si no se especifica KEYLENGTH, la longitud de clave del archivo que está leyendo; de lo contrario, los resultados son impredecibles.
- RRN
- (VSAM RRDS) especifica que el campo de identificación del registro especificado en la opción RIDFLD contiene un número de registro relativo. Esta opción sólo debe utilizarse con archivos que hagan referencia a conjuntos de datos de registros relativos.
- SET (ptr-ref )
- indica que CICS debe suministrar un búfer donde leer el registro, y especifica la referencia de puntero que debe contener la dirección del registro recuperado.
Si se produce la condición DUPKEY en lenguaje ensamblador, el registro especificado no se ha configurado. El registro especificado se puede cargar desde DFHEITP1.
La referencia del puntero es válida hasta el siguiente comando READ para el mismo archivo o hasta la finalización de un comando REWRITE, DELETE o UNLOCK correspondiente, o un SYNCPOINT en el caso de READ UPDATE SET. Si desea conservar los datos dentro del campo al que se dirige el puntero, deberá desplazarlos a su propia área.
Si DATALOCATION(ANY) está asociado al programa de aplicación, la dirección de los datos puede estar por encima o por debajo de la línea de 16 MB.
Si DATALOCATION(BELOW) está asociado al programa de aplicación, la dirección de los datos está por debajo de la línea de 16 MB.
Si se especifica TASKDATAKEY (USER) para la transacción en ejecución, los datos devueltos están en una clave de usuario; en caso contrario, están en una clave CICS.
- SYSID(nombre del sistema)
- especifica el nombre del sistema al que se dirige la solicitud.
Si especifica SYSID y omite RBA y RRN, también debe especificar LENGTH y KEYLENGTH; no se pueden encontrar en la definición del recurso.
- TOKEN(área de datos)
- especifica, como valor binario de palabra completa, un identificador único para esta solicitud READ UPDATE. Se trata de un valor de salida devuelto por el control de archivos a la tarea solicitante, para su uso en la asociación de una solicitud REWRITE o DELETE (o UNLOCK) posterior con el registro devuelto en esta solicitud READ UPDATE.
TOKEN puede ser función enviada. Sin embargo, si una solicitud que especifica TOKEN es función enviada a un miembro de la familia de productos CICS que no reconoce esta palabra clave, la solicitud falla.
Nota: Si especifica TOKEN implica actualización. - SIN COMPROMISO
- El registro se lee sin integridad de lectura.
Se devuelve el valor actual del registro, tal y como lo conoce VSAM. No se intenta serializar esta solicitud de lectura con ninguna actividad de actualización concurrente para el mismo registro. El registro puede estar en proceso de actualización por otra tarea, y los datos del registro pueden cambiar más tarde si esa actualización se anula posteriormente.
- UPDATE
- especifica que el registro debe obtenerse para su actualización o (para VSAM y tablas de datos) supresión. Si se omite esta opción, se asume una operación de sólo lectura.UPDATE garantiza la integridad de la lectura. El mecanismo utilizado para garantizar la integridad de los datos depende del tipo de recurso de archivo:
- Para un archivo VSAM al que se accede en modo RLS, el registro que debe actualizarse está bloqueado por el servidor SMSVSAM.
- Para un archivo VSAM al que se accede en modo no RLS, el registro a actualizar es bloqueado por CICS y, además, el intervalo de control que contiene el registro es mantenido en control exclusivo por VSAM.
- Para un archivo VSAM accedido en modo no RLS, y log(UNDO), CICS mantiene un bloqueo de registro hasta que la tarea se sincroniza.
- En el caso de un fichero BDAM, el registro que se va a actualizar está bajo el control exclusivo de BDAM.
- Para una tabla de datos mantenida por el usuario, el registro que se va a actualizar está bloqueado por CICS.
- Para una tabla de datos CICS mantenida, el registro que se va a actualizar está bloqueado por CICS y, además, el intervalo de control que contiene el registro está mantenido en control exclusivo por VSAM. El bloqueo del intervalo de control VSAM es necesario porque los cambios en la tabla de datos se reflejan en el conjunto de datos de origen, al que se accede en modo no RLS.
- En el caso de una tabla de datos de instalaciones de acoplamiento que utilice el modelo de bloqueo, el servidor de la tabla de datos de instalaciones de acoplamiento bloquea el registro que se va a actualizar.
- Para una tabla de datos de una instalación de acoplamiento que utiliza el modelo de contención, los registros no están bloqueados, lo que permite que los registros sean leídos para su actualización por más de una tarea. Si un registro leído para actualización por una tarea es modificado por otra, la primera tarea es notificada, cuando emite un comando REWRITE o DELETE, por la condición de excepción CHANGED. Si un registro leído para su actualización por una tarea es borrado por otra, la primera tarea es notificada, cuando emite un comando REWRITE o DELETE, por la condición NOTFND.
Si otra tarea ha emitido una petición READ REPEATABLE contra el mismo registro, su petición READ UPDATE se hace esperar hasta que esa tarea alcance SYNCPOINT (a menos que haya emitido NOSUSPEND).
- XRBA
- especifica que el campo de identificación del registro especificado en la opción RIDFLD contiene una dirección de bytes relativa extendida. Esta opción debe utilizarse al leer registros de un conjunto de datos de direccionamiento ampliado ESDS.
XRBA no puede acceder a los conjuntos de datos KSDS.
Condiciones
- 84 DISCAPACITADOS
- Valores de RESP2:
- 50
- Un fichero está desactivado porque se definió inicialmente como desactivado y no se ha vuelto a activar desde entonces.
Un archivo está desactivado porque ha sido desactivado por un comando SET FILE o CEMT SET FILE.
Acción por defecto: terminar la tarea anormalmente.
- 15 DUPKEY
- RESP2 valores: (VSAM)
- 140
- Un registro se recupera a través de un índice alternativo con el atributo NONUNIQUEKEY, y a continuación aparece otro registro de índice alternativo con la misma clave
En lenguaje ensamblador, si se está utilizando la opción SET, el registro especificado no se ha establecido, pero puede cargarse desde DFHEITP1.
Acción por defecto: terminar la tarea anormalmente.
- 12 ARCHIVO NO ENCONTRADO
- Valores de RESP2:
- 1
- El nombre de archivo suministrado en la opción FILE no está definido para CICS.
Acción por defecto: terminar la tarea anormalmente.
- 21 ILÓGICA
- RESP2 valores: (VSAM)
- 110
- Se produce un error VSAM que no se encuentra en ninguna de las otras categorías de respuesta CICS.
Véase EIBRCODE en el bloque de interfaz EXEC; para más detalles, véase Campos EIB.
Para las tablas de datos mantenidas por el usuario, esta condición sólo se produce para una LECTURA no ACTUALIZADA durante la carga cuando CICS ha intentado recuperar el registro del conjunto de datos de origen.
Acción por defecto: terminar la tarea anormalmente.
- 16 INVREQ
- Valores de RESP2:
- 20
- READ no está permitido según la definición del recurso.
Se emite un comando READ con la opción UPDATE a un archivo en el que las operaciones de actualización no están permitidas según la definición del recurso.
- 25
- Se especifican las opciones KEYLENGTH y GENERIC, y la longitud especificada en la opción KEYLENGTH es mayor o igual que la longitud de una clave completa.
- 26
- Se especifica la opción KEYLENGTH (pero no se especifica la opción GENERIC), y la longitud especificada no es igual a la longitud definida para el conjunto de datos al que se refiere este archivo.
- 28
- Después de un comando READ UPDATE sin TOKEN, se emitió otro comando READ UPDATE sin TOKEN contra el mismo archivo sin un comando REWRITE, DELETE sin RIDFLD especificado, UNLOCK o SYNCPOINT. Esta condición puede darse en algunos casos a pesar de que la primera READ UPDATE no haya tenido éxito, por ejemplo, porque se haya agotado el tiempo de espera.
- 40
- Se ha producido un error de conversión de clave BDAM.
- 42
- Se especifican las opciones KEYLENGTH y GENERIC, y la longitud especificada en la opción KEYLENGTH es menor que cero.
- 44
- El comando no se ajusta al formato de READ para una tabla de datos de una instalación mantenida por el usuario o de acoplamiento; por ejemplo, si se especifica RBA.
- 51
- Una LECTURA a un archivo KSDS al que se está accediendo en modo RLS especifica la palabra clave RBA. El modo RLS no admite el acceso a direcciones relativas de bytes a conjuntos de datos KSDS.
- 52
- CONSISTENT se especifica en una petición READ a un fichero no en modo RLS, o a una tabla de datos que se especifica con RLSACCESS(YES). CONSISTENT no está permitido si el fichero hace referencia a una tabla de datos, incluso si la definición del fichero especifica RLSACCESS(YES).
- 53
- REPEATABLE se especifica en una petición READ a un fichero no en modo RLS o a una tabla de datos que se especifica con RLSACCESS(YES). No se permite REPEATABLE si el fichero hace referencia a una tabla de datos, aunque en la definición del fichero se especifique RLSACCESS(YES).
- 55
- NOSUSPEND se especifica en una petición READ a un fichero no en modo RLS o a una tabla de datos que se especifica con RLSACCESS(YES). No se permite NOSUSPEND si el fichero hace referencia a una tabla de datos, aunque en la definición del fichero se especifique RLSACCESS(YES).
- 56
- Ha fallado un intento de actualizar una tabla de datos de instalaciones de acoplamiento recuperables porque la unidad de trabajo actual ya ha actualizado 1024 tablas de datos de instalaciones de acoplamiento recuperables. No puede actualizar más de 1024 tablas de datos de instalaciones de acoplamiento recuperables dentro de una unidad de trabajo.
- 57
- Ha fallado un intento de actualizar el archivo porque el conjunto de datos VSAM asociado tiene un estado de DISPONIBILIDAD de RREPL, que no permite operaciones de actualización excepto las de los programas de replicación.
- 59
- Se ha especificado XRBA, pero el conjunto de datos no es una ESDS ampliada.
Acción por defecto: terminar la tarea anormalmente.
- 17 IOERR
- Valores de RESP2:
- 120
- Hay un error de E/S durante la operación de LECTURA. Un error de E/S es cualquier evento inusual que no está cubierto por una condición CICS.
Para archivos VSAM, IOERR normalmente indica un error de hardware.
Para las tablas de datos mantenidas por el usuario, esta condición sólo se produce para una LECTURA no ACTUALIZADA durante la carga cuando CICS ha intentado recuperar el registro del conjunto de datos de origen.
Para una tabla de datos de una instalación de acoplamiento, un IOERR indica una mala respuesta devuelta desde un acceso a una instalación de acoplamiento.
Encontrará más información en el bloque de interfaz EXEC; para más detalles, consulte Campos EIB.
Acción por defecto: terminar la tarea anormalmente.
- 54 ISCINVREQ
- Valores de RESP2:
- 70
- El sistema remoto indica un fallo que no corresponde a una condición conocida.
Acción por defecto: terminar la tarea anormalmente.
- 22 LENGERR
- Valores de RESP2:
- 10
- No se especifica la opción LENGTH ni la opción SET en un comando READ para un archivo con registros de longitud variable o para un archivo BDAM con registros de longitud variable o de formato indefinido.
- 11
- La longitud de un registro leído con la opción INTO especificada supera el valor especificado en la opción LENGTH; el registro se trunca y el área de datos suministrada en la opción LENGTH se ajusta a la longitud real del registro.
- 13
- Se ha especificado una longitud incorrecta para un archivo con registros de longitud fija.
Acción por defecto: terminar la tarea anormalmente.
- 94 CARGA
- Valores de RESP2:
- 104
- La solicitud no puede satisfacerse porque se emite contra una tabla de datos que aún se está cargando. La condición puede plantearse por uno de los siguientes motivos:
- READ especifica un registro que aún no se ha cargado en una tabla de datos de instalaciones de acoplamiento. Los registros pueden leerse o modificarse mientras se carga un CFDT sólo si la clave solicitada está dentro del rango de los registros ya cargados.
La respuesta LOADING también puede devolverse para una tabla de datos de una instalación de acoplamiento que haya fallado durante la carga. Para obtener más información sobre lo que ocurre si falla la carga de una tabla de datos de una instalación de acoplamiento, consulte la descripción de la salida de usuario global XDTLC en Salidas de gestión de tablas de datos XDTRD, XDTAD y XDTLC .
- La opción READ especifica la opción UPDATE para una tabla de datos mantenida por el usuario. Una tabla de datos mantenida por el usuario no puede modificarse durante la carga.
- READ especifica las opciones GENERIC o GTEQ para una tabla de datos mantenida por el usuario. Mientras se carga una UMT, sólo se pueden utilizar peticiones de lectura con claves precisas.
Si sus programas de aplicación se encuentran con la condición de CARGA de forma persistente o con demasiada frecuencia, compruebe que esto no está causado por definiciones de archivos en conflicto que hacen referencia al mismo conjunto de datos.
- READ especifica un registro que aún no se ha cargado en una tabla de datos de instalaciones de acoplamiento. Los registros pueden leerse o modificarse mientras se carga un CFDT sólo si la clave solicitada está dentro del rango de los registros ya cargados.
Acción por defecto: terminar la tarea anormalmente.
- 100 BLOQUEADO
- Valores de RESP2:
- 106
- Se está intentando leer un registro especificando la palabra clave UPDATE, o especificando (explícita o implícitamente) CONSISTENT o REPEATABLE, pero el registro está bloqueado por un bloqueo retenido (véase Bloqueos retenidos y activos).
La condición LOCKED también puede producirse para una solicitud READ UPDATE a un CFDT recuperable que utilice el modelo de bloqueo, si el registro que se está leyendo está bloqueado por un bloqueo retenido. Consulte Bloqueos retenidos de tablas de datos de instalaciones de acoplamiento para obtener información sobre la investigación de bloqueos retenidos en registros de una tabla de datos de instalaciones de acoplamiento.
Acción por defecto: finalizar la tarea con el código AEX8.
- 18 SIN ESPACIO
- Valores de RESP2:
- 100
- No hay espacio disponible en el dispositivo de acceso directo para añadir registros a un conjunto de datos. Este error puede ocurrir para una solicitud de LECTURA a un archivo RLS cuando el mismo error ha sido emitido para una solicitud de ESCRITURA precedente al mismo archivo RLS.
- 70 NO AUTENTIFICADO
- Valores de RESP2:
- 101
- Ha fallado una comprobación de seguridad de recursos en FILE(filename).
Acción por defecto: terminar la tarea anormalmente.
- 13 NO ENCONTRADO
- Valores de RESP2:
- 80
- Un intento de recuperar un registro basado en el argumento de búsqueda proporcionado no tiene éxito. Para las tablas de datos, esta condición se produce si un intento de leer un registro no tiene éxito porque no hay ninguna entrada con la clave especificada en la tabla de datos. Esto no significa que no exista dicho registro en el conjunto de datos de origen (si la tabla se creó a partir de uno); puede ser que dicho registro esté presente pero haya sido rechazado durante la carga inicial por la salida de usuario XDTRD, o bien haya sido eliminado posteriormente de la tabla de datos. En el caso de los archivos remotos, esta condición se produce si se intenta leer un registro sin que se haya especificado la longitud de la clave en la aplicación o en la definición del archivo, y la clave real tiene más de 4 caracteres.
- 81
- Se especificó XRBA y el valor de RIDFLD era superior a 4 GB, pero el conjunto de datos no es un ESDS ampliado.
Acción por defecto: terminar la tarea anormalmente.
- 19 NO ABIERTO
- Valores de RESP2:
- 60
- NOTOPEN (RESP2 60) se devuelve por uno de los siguientes motivos:
- El fichero solicitado está CERRADO y DESHABILITADO. El estado CERRADO, NO HABILITADO se alcanza después de que se haya recibido una solicitud de CIERRE contra un archivo ABIERTO HABILITADO y el archivo ya no esté en uso. También puede hacer que el estado inicial sea CERRADO, DESHABILITADO, especificando STATUS(DESHABILITADO) y OPENTIME(FIRSTREF) en la definición del recurso FILE. (Para los archivos BDAM, se utiliza el parámetro FILSTAT de DFHFCT TYPE=FILE)
- El fichero solicitado está ABIERTO y en uso por otras transacciones, pero se ha recibido una solicitud de CIERRE contra el fichero.
- Un comando READ se emite contra un conjunto de datos que está en quiescencia, o está siendo quiescencia, como resultado de un comando SET DSNAME QUIESCED o IMMQUIESCED.
- El fichero solicitado está CERRADO y HABILITADO, por lo que CICS ha intentado abrir el fichero como parte de la ejecución de la petición. Este archivo abierto ha fallado por alguna razón. Debería examinar la consola en busca de mensajes que expliquen por qué la apertura del archivo no ha tenido éxito.
Esta condición no se produce si la petición se realiza a un fichero CERRADO, DESHABILITADO. En este caso, se produce la condición DISABLED.
Acción por defecto: terminar la tarea anormalmente.
- 101 REGISTRO OCUPADO
- Valores de RESP2:
- 107
- Se especifica la palabra clave NOSUSPEND y el registro está bloqueado por un bloqueo activo (véase Bloqueos retenidos y activos).
Acción por defecto: finalizar la tarea con el código AEX9.
- 53 SYSIDERR
- Valores de RESP2:
- 130
- La opción SYSID especifica un nombre que no es ni el sistema local ni un sistema remoto definido por una definición CONNECTION o IPCONN. SYSIDERR también se produce cuando el enlace con el sistema remoto es conocido pero no está disponible. En el caso de un IPCONN, SYSIDERR ocurre si el enlace es conocido pero los sistemas local o remoto no soportan comandos de control de archivos que son función enviada usando interconectividad IP.
- 131
- Para una tabla de datos de instalaciones de acoplamiento, ha fallado la conexión con el servidor de tablas de datos de instalaciones de acoplamiento. Esto podría deberse a que el propio servidor ha fallado, o a que el servidor está disponible, pero CICS ha fallado al conectarse a él.
- 132
- La READ se emite para una tabla de datos de la instalación de acoplamiento que ya no existe, probablemente debido a un fallo de la instalación de acoplamiento, en cuyo caso el servidor de la tabla de datos de la instalación de acoplamiento también falla. Consulte la Configuración y ejecución de un servidor de tablas de datos de instalaciones de acoplamiento para obtener información sobre cómo reiniciar un servidor de tablas de datos de instalaciones de acoplamiento y recargar una tabla.
Acción por defecto: terminar la tarea anormalmente.
Ejemplos
EXEC CICS READ
INTO(RECORD)
FILE('MAIN')
RIDFLD(ACCTNO)
EXEC CICS READ
INTO(RECORD)
LENGTH(RECLEN)
FILE('MASTVSAM')
RIDFLD(ACCTNO)
KEYLENGTH(4)
GENERIC
GTEQ
UPDATE
