Las variables DLIVar contienen información acerca de la E/S de base de datos
DL/I más reciente. Estas variables sólo están disponibles si asigna la propiedad compleja
@DLI al programa.
Cada llamada de E/S DL/I cambia los valores en todas las variables
DLIVar que no son DLIVar.handleHardDLIErrors,
que conserva su valor hasta que se restablece explícitamente.
Las variables son las siguientes:
- dbName char(8)
- Nombre de la base de datos DL/I a la que se ha accedido en la última llamada.
- segmentLevel num(2)
- El número de nivel del segmento más bajo al que se ha accedido en la llamada DL/I más
reciente (el nivel raíz es 01). Si DL/I no ha podido recuperar el segmento solicitado,
este es el nivel de la última llamada satisfactoria.
- statusCode char(2)
- Código de estado DL/I de la última llamada de E/S, por ejemplo, GA o
II.
- procOptions char(4)
- Contiene las opciones DL/I para la base de datos a la que se ha accedido en la última
llamada de E/S DL/I.
- segmentName char(8)
- Nombre del segmento más bajo al que se ha accedido en la llamada
de E/S DL/I más
reciente.
- keyAreaLen int
- Número de bytes del campo keyArea utilizado realmente en la
llamada de E/S más reciente.
- keyArea char(32767)
- Datos no formateados devueltos desde el segmento de base de datos. Los datos utilizables se
encuentran en la parte del área de claves especificada por keyArea[1 : DLIVar.keyAreaLen].
- numSensitiveSegs int
- Número de tipos de segmento a los que un programa es sensible para la base
de datos a la que se ha accedido durante la última función de E/S DL/I.
- cicsError char(2)
- Código de error de
CICS (si existe) de
la llamada de E/S DL/I más reciente. Para obtener más información acerca de los códigos de retorno,
consulte el manual de consulta de aplicaciones
CICS correspondiente
a su versión de CICS.
- cicsCondition char(2)
- Código de condición de
CICS (si existe) de
la llamada de E/S DL/I más reciente, con los siguientes valores:
- 00
- Respuesta normal
- 08
- Petición no válida
- 0C
- No abierto
- cicsRestart num(1)
- En CICS, si este
campo es igual a 1, el programa DL/I se ha reiniciado durante la última función de E/S DL/I. Si es 0, el programa no se ha reiniciado.
- handleHardDLIErrors
- Controla si un programa continúa ejecutándose después de que se haya producido un error grave
en una operación de E/S
IMS o DL/I en un
bloque try; sin embargo, si VGVar.handleHardIOErrors se establece en 1,
DLIVar.handleHardDLIErrors no surte efecto porque el programa continúa ejecutándose después
de un error grave.
El valor por omisión de DLIVar.handleHardDLIErrors es 1, a menos que
establezca la propiedad de programa handleHardDLIErrors en no,
que establece la variable en 0. (La propiedad handleHardDLIErrors está
disponible para programas y otros componentes lógicos.)
Puede utilizar
VGVar.handleHardDLIErrors de las siguientes maneras:
- Como origen o destino de una asignación o sentencia move
(también permitido en el valor "for count" de una sentencia
move)
- Como variable de una expresión lógica utilizada en una sentencia case, if o while
- Como argumento de una sentencia return o exit.
Las características de
DLIVar.handleHardDLIErrors son las
siguientes:
- Tipo primitivo
- NUM
- Longitud de datos
- 1
- ¿Se restaura siempre el valor después de una sentencia converse?
- Sí
Para conocer otros detalles, consulte Manejo de excepciones.