Un programa de aplicación puede leer todos los campos del bloque de interfaz EXEC (EIB) de la tarea asociada por nombre. Una aplicación no debe cambiar el contenido de ninguno de los campos, excepto mediante un mandato EXEC CICS .
Para cada campo EIB, se proporciona el contenido y el formato (para cada uno de los lenguajes de programación de la aplicación COBOL, C,
PL/I y Assembler). Los campos explicados son EIBAID, EIBATT, EIBCALEN, EIBCOMPL, EIBCONF, EIBCPOSN, EIBDATE, EIBDS, EIBEOC, EIBERR, EIBERRCD, EIBFMH, EIBFN, EIBFREE, EIBNODAT, EIBRCODE, EIBRECV, EIBREQID, EIBRESP, EIBRESP2, EIBRLDBK, EIBRSRCE, EIBSIG, EIBSYNC, EIBSYNRB, EIBTASKN, EIBTIME, EIBTRMID y EIBTRNID.
Todos los campos contienen ceros binarios en ausencia de información significativa. Los campos se listan en orden alfabético.
EIBAID
Contiene el identificador de atención (AID) asociado con la última operación de entrada de control de terminal o soporte de correlación básico (BMS) desde un dispositivo de pantalla como el 3270.
Contiene la longitud del área de comunicación que se ha pasado al programa de aplicación desde el último programa, utilizando las opciones COMMAREA y LENGTH. Si no se pasa ningún área de comunicación, este campo contiene ceros binarios.
COBOL: PIC S9(4) COMP.
C: short int eibcalen;
PL/I: FIXED BIN(15)
Assembler: H
EIBCOMPL
Indica, en un mandato RECEIVE de control de terminal, si los datos están completos (X'FF '). Si se ha utilizado la opción NOTRUNCATE en el mandato RECEIVE, CICS® retiene los datos por encima de la cantidad solicitada a través de la opción LENGTH o MAXLENGTH. EIBRECV se establece indicando que se necesitan más mandatos RECEIVE. EIBCOMPL no se establece hasta que se haya recuperado el último de los datos.
EIBCOMPL siempre se establece cuando se ejecuta un mandato RECEIVE sin la opción NOTRUNCATE.
Contiene la dirección del cursor (posición) asociada con la última operación de entrada de control de terminal o soporte de correlación básico (BMS) desde un dispositivo de pantalla como el 3270.
COBOL: PIC S9(4) COMP.
C: short int eibcposn;
PL/I: FIXED BIN(15)
Assembler: H
FECHA DE EIB
Contiene la fecha en que se inicia la tarea; este campo se actualiza mediante el mandato ASKTIME. La fecha está en formato decimal empaquetado (0CYYDDD+) donde C muestra el siglo con los valores 0 para 1900s y 1 para 2000s. Por ejemplo, la fecha 31 de diciembre de 1999 tiene el valor EIBDATE de 0099365 y la fecha 1 de enero de 2000 tiene un valor EIBDATE de 0100001.
A medianoche, si EIBTIME tiene el valor 0240000 +, el valor de EIBDATE es el día que ha finalizado. Si EIBTIME tiene el valor 0000000 +, el valor de EIBDATE es el día que acaba de empezar.
Cuando se establece EIBERR, contiene el código de error que se ha recibido. Los valores siguientes se pueden devolver en los dos primeros bytes de EIBERRCD:
Indica que el programa de aplicación no puede continuar utilizando el recurso. El programa de aplicación debe liberar el recurso o debe terminar para que CICS (X'FF ') libere el recurso.
Indica que la aplicación remota (X'FF ') no ha enviado datos. Se ha recibido un mensaje del sistema remoto que sólo transmitía información de control. Por ejemplo, si la aplicación remota ejecuta un mandato SEND con la opción WAIT, los datos se enviarán a través del enlace. Si la aplicación remota ha ejecutado un mandato SEND INVITE sin utilizar la opción FROM para transmitir datos al mismo tiempo, sería necesario enviar la instrucción INVITE a través del enlace por sí mismo. En este caso, la aplicación receptora encuentra el conjunto EIBNODAT. El uso de este campo está restringido a los programas de aplicación que mantienen conversaciones sólo a través de enlaces APPC.
Contiene el código de respuesta CICS devuelto después de que se haya completado la función solicitada por el último mandato CICS que emitirá la tarea.
Nota: Para los mandatos en los que EIBRESP y EIBRESP2 se utilizan para interrogar la condición resultante de un mandato ejecutado, el byte 3 de EIBRCODE tiene el mismo valor que EIBRESP. Cualquier información adicional se encuentra en EIBRESP2 en lugar de EIBRCODE. Para una respuesta normal, este campo contiene ceros hexadecimales (6 X'00 ').
El mandato HANDLE CONDITION puede utilizar casi toda la información de este campo en los programas de aplicación.
La lista siguiente contiene los valores de los bytes junto con los nombres de las condiciones asociadas con los códigos de retorno.
Consulte las notas al final de la lista de valores para obtener explicaciones de los números que siguen a algunas de las condiciones.
EIBFN
CIBRCODE
Condición
02..
E0 .. .. .. .. ..
INVREQ
04..
04..........
EOF
04..
10..........
EODS
04..
C1 .. .. .. .. ..
EOF
04..
C2 .. .. .. .. ..
ENDINPT
04..
D0 .. .. .. .. ..
SYSIDERR (consulte la nota 1)
04..
D2 .. .. .. .. ..
SESSIONERR (véase nota 2)
04..
D3 .. .. .. .. ..
SYSBUSY (ver nota 3)
04..
D4 .. .. .. .. ..
SESSBUSY
04..
D5 .. .. .. .. ..
NOTALLOC
04..
E0 .. .. .. .. ..
INVREQ (véase nota 4)
04..
E1 .. .. .. .. ..
LENGERR (véase nota 5)
04..
E3 .. .. .. .. ..
WRBRK
04..
E4 .. .. .. .. ..
RDATT
04..
E5 .. .. .. .. ..
SIGNAL
04..
E6 .. .. .. .. ..
TERMIDERR
04..
E7 .. .. .. .. ..
NOPASSBKRD
04..
E8 .. .. .. .. ..
NOPASSBKWR
04..
EA .. .. .. .. .. .. ..
IGREQCD
04..
EB .. .. .. .. .. ..
CBIDERR
04..
CE .. .. .. .. .. ..
PARTNERIDERR
04..
DE .. .. .. .. .. ..
NETNAMEIDERR
04..
F1 .. .. .. .. ..
TERMERR
04..
.. 20........
EOC
04..
.. 40........
INBFMH
04..
.. .. .. F6 .. ..
NOSTART
04..
.. .. .. F7 .. ..
NONVAL
06..
01..........
FILENOTFOUND
06..
02..........
ILLOGIC (véase nota 6)
06..
03..........
LOCKED
06..
05..........
RECORDOCUPADO
06..
08..........
INVREQ
06..
0C .. .. .. .. ..
NOTOPEN
06..
0D .. .. .. .. ..
DISABLED
06..
0F .. .. .. .. ..
ENDFILE
06..
80............
IOERR (véase nota 6)
06..
81..........
NOTFND
06..
82..........
DUPREC
06..
83............
NOSPACE
06..
84............
DUPKEY
06..
85............
SUPPRESSED
06..
86............
Cargando
06..
D0 .. .. .. .. ..
SYSIDERR (consulte la nota 1)
06..
D1 .. .. .. .. ..
ISCINVREQ
06..
D6 .. .. .. .. ..
NOTAUTH
06..
E1 .. .. .. .. ..
LENGERR
08..
01..........
QZERO
08..
02..........
QIDERR
08..
04..........
IOERR
08..
08..........
NOTOPEN
08..
10..........
NOSPACE
08..
C0 .. .. .. .. ..
QBUSY
08..
D0 .. .. .. .. ..
SYSIDERR (consulte la nota 1)
08..
D1 .. .. .. .. ..
ISCINVREQ
08..
D6 .. .. .. .. ..
NOTAUTH
08..
D7 .. .. .. .. ..
DISABLED
08..
E0 .. .. .. .. ..
INVREQ
08..
E1 .. .. .. .. ..
LENGERR
0A ..
01..........
ITEMERR
0A ..
02..........
QIDERR
0A ..
04..........
IOERR
0A ..
08..........
NOSPACE
0A ..
20..........
INVREQ
0A ..
D0 .. .. .. .. ..
SYSIDERR (consulte la nota 1)
0A ..
D1 .. .. .. .. ..
ISCINVREQ
0A ..
D6 .. .. .. .. ..
NOTAUTH
0A ..
E1 .. .. .. .. ..
LENGERR
0C ..
E0 .. .. .. .. ..
INVREQ
0C ..
E1 .. .. .. .. ..
LENGERR
0C ..
E2 .. .. .. .. ..
NOSTG
0E ..
01..........
PGMIDERR
0E ..
D6 .. .. .. .. ..
NOTAUTH
0E ..
D9 .. .. .. .. ..
RESUNAVAIL
0E ..
DA .. .. .. .. .. ..
CHANNELERR
0E ..
E0 .. .. .. .. ..
INVREQ
0E ..
E1 .. .. .. .. ..
LENGERR
0E ..
F1 .. .. .. .. ..
TERMERR
10..
01..........
ENDDATA
10..
04..........
IOERR
10..
11..........
TRANSIDERR
10..
12............
TERMIDERR
10..
20..........
CADUCADO
10..
81..........
NOTFND
10..
D0 .. .. .. .. ..
SYSIDERR (consulte la nota 1)
10..
D1 .. .. .. .. ..
ISCINVREQ
10..
D6 .. .. .. .. ..
NOTAUTH
10..
D8 .. .. .. .. ..
USERIDERR
10..
D9 .. .. .. .. ..
RESUNAVAIL
10..
DA .. .. .. .. .. ..
CHANNELERR
10..
E1 .. .. .. .. ..
LENGERR
10..
E9 .. .. .. .. ..
ENVDEFERR
10..
FF .. .. .. .. .. ..
INVREQ
12..
32..........
ENQBUSY
12..
E0 .. .. .. .. ..
INVREQ
12..
E1 .. .. .. .. ..
LENGERR
14..
01..........
JIDERR
14..
02..........
INVREQ
14..
05..........
NOTOPEN
14..
06..........
LENGERR
14..
07..........
IOERR
14..
09..........
NOJBUFSP
14..
D6 .. .. .. .. ..
NOTAUTH
16..
01..........
ROLLEDBACK
18..
01..........
INVREQ
18..
02..........
RETPAGE
18..
04..........
MAPFAIL
18..
08..........
INVMPSZ (véase la nota 7)
18..
20..........
INVERRTERM
18..
40..........
RTESOME
18..
80............
RTEFAIL
18..
E1 .. .. .. .. ..
LENGERR
18..
E3 .. .. .. .. ..
WRBRK
18..
E4 .. .. .. .. ..
RDATT
18..
.. 02........
PARTNFAIL
18..
.. 04........
INVPARTN
18..
.. 08........
INVPARTNSET
18..
.. 10........
INVLDC
18..
.. 20........
UNEXPIN
18..
.. 40........
IGREQCD
18..
.. 80........
TSIOERR
18..
.... 01......
OVERFLOW
18..
.... 04......
EODS
18..
.... 08......
EOC
18..
.... 10......
IGREQID
1A ..
E0 .. .. .. .. ..
INVREQ
1A ..
04..........
DSSTAT
1A ..
08..........
FUNCERR
1A ..
0C .. .. .. .. ..
SELNERR
1A ..
10..........
UNEXPIN
1A ..
E1 .. .. .. .. ..
LENGERR
1A ..
.. 11........
EODS
1A ..
.. 2B .. .. .. ..
IGREQCD
1A ..
.... 20......
EOC
22..
80............
INVEXITREQ
4A ..
...... 01....
INVREQ
56..
.. .. .. 0D .. ..
NOTFND
56..
...... 10....
INVREQ
56..
...... 13....
NOTOPEN
56..
...... 14....
ENDFILE
56..
...... 15....
ILLOGIC
56..
...... 16....
LENGERR
56..
.. .. .. 2A .. ..
NOSTG
56..
...... 46....
NOTAUTH
56..
...... 50....
NOSPOOL
56..
...... 55....
ALLOCERR
56..
...... 56....
STRELERR
56..
...... 57....
OPENERR
56..
...... 58....
SPOLBUSY
56..
...... 59....
SPOLERR
56..
.. .. .. 5A .. ..
NODEIDERR
Nota:
Cuando se produce SYSIDERR, se proporciona información adicional en los bytes 1 y 2 de EIBRCODE, tal como se muestra en la Figura 1.Figura 1. Bytes 1 y 2 de EIBRCODE para SYSIDERR
.. 04 00 .. .. .. request was for a function
that is not valid.
.. 04 04 .. .. .. no session available and
NOQUEUE.
.. 04 08 .. .. .. modename not found (for APPC only).
.. 04 0C .. .. .. modename not valid (for APPC only).
.. 04 10 .. .. .. task canceled or timed
out during allocation (for APPC only).
.. 04 14 .. .. .. mode group is out of
service (for APPC only).
.. 04 18 .. .. .. close - DRAIN=ALL (for APPC only).
.. 08 .. .. .. .. sysid is not available.
.. 08 00 .. .. .. no session available,
all sessions are out
of service, or released,
or being quiesced.
.. 08 04 .. .. .. no session available,
request to queue rejected
by XZIQUE global user
exit program.
.. 08 08 .. .. .. no session available;
request rejected by XZIQUE
global user exit program.
.. 0C xx .. .. .. sysid definition error.
.. 0C 00 .. .. .. name not that of TCTSE.
.. 0C 04 .. .. .. name not that of remote
TCTSE.
.. 0C 08 .. .. .. mode name not found.
.. 0C 0C .. .. .. profile not found.
Cuando se produce SESSIONERR, se proporciona información adicional en los bytes 1 y 2 de EIBRCODE, tal como se muestra en la Figura 2.Figura 2. Bytes 1 y 2 de EIBRCODE para SESSIONERR
.. 08 .. .. .. .. session out of service
.. 0C xx .. .. .. session definition error
.. 0C 00 .. .. .. name not found
.. 0C 0C .. .. .. profile not found.
Puede encontrar más información sobre SESSIONERR en las aplicaciones CICS-to-IMS : DTP.
Si se produce SYSBUSY en un mandato ALLOCATE que intenta adquirir una sesión en un terminal o sistema APPC, el byte 3 de EIBRCODE indica dónde se ha detectado la condición de error tal como se muestra en la Figura 3.Figura 3. Byte 3 de EIBRCODE para SYSBUSY
.. .. .. 00 .. .. the request was for a
session to a connected
terminal or system.
.. .. .. 01 .. .. the request was for a
session to a remotely
connected terminal or
system, and the error
occurred in the terminal-
owning region (TOR) or
an intermediate system.
.. .. .. 02 .. .. the request was for a
session to a remotely
connected terminal or
system, and the error
occurred in the
application-owning
region (AOR).
Puede encontrar más información sobre SYSBUSY en las aplicaciones CICS-to-IMS : DTP.
Cuando INVREQ se produce durante las operaciones de control de terminal, se proporciona información adicional en los bytes 1 o 3 de EIBRCODE tal como se muestra en la Figura 4.Figura 4. Bytes 1 o 3 de EIBRCODE para INVREQ
.. 24 .. .. .. .. ISSUE PREPARE command -
STATE error.
.. .. .. 04 .. .. ALLOCATE command - TCTTE
already allocated.
.. .. .. 08 .. .. FREE command - TCTTE in
wrong state.
.. .. .. 0C .. .. CONNECT PROCESS command -
SYNCLVL 2 requested, but
cannot be supported on
the session in use.
.. .. .. 10 .. .. EXTRACT ATTACH command -
incorrect data.
.. .. .. 14 .. .. SEND command - CONFIRM
option specified, but
conversation not SYNCLVL 1.
.. .. .. 18 .. .. EXTRACT TCT command -
incorrect netname.
.. .. .. 1C .. .. an incorrect command has
been issued for the terminal
or logical unit in use.
.. .. .. 20 .. .. an incorrect command has
been issued for the LUTYPE6.2
conversation type in use.
.. .. .. 28 .. .. GETMAIN failure on ISSUE
PASS command.
.. .. .. 2C .. .. Command invalid in DPL
environment.
Cuando se produce LENGERR durante las operaciones de control de terminal, se proporciona información adicional en el byte 1 de EIBRCODE, tal como se muestra en la Figura 5.Figura 5. Byte 1 de EIBRCODE para LENGERR
.. 00 .. .. .. .. input data is overlong and
has been truncated.
.. 04 .. .. .. .. on output commands, an
incorrect (FROM)LENGTH has
been specified, either less
than zero or greater than
32 767.
.. 08 .. .. .. .. on input commands, an
incorrect (TO)LENGTH has
been specified, greater than
32 767.
.. 0C .. .. .. .. length error has occurred on
ISSUE PASS command.
Nota: Este campo no se utiliza exclusivamente y puede tomar otros valores.
Cuando se produce ILLOGIC o IOERR durante las operaciones de control de archivos, se proporciona información adicional en el campo EIBRCODE, tal como se muestra en la Figura 6.Figura 6. EIBRCODE para ILLOGIC o IOERR
.. xx xx xx xx .. BDAM response.
.. xx .. .. .. .. VSAM return code.
.. .. xx .. .. .. VSAM error code.
donde:
byte 3 =
Código de determinación de problemas VSAM (solo ILLOGIC)
Cuando INVMPSZ se produce durante operaciones BMS, el byte 3 del campo EIBRCODE contiene el código de terminal tal como se muestra en la Figura 7.Figura 7. Byte 3 de EIBRCODE para INVMPSZ
.. .. .. xx .. .. terminal code.
Son los mismos que los sufijos de conjunto de correlaciones que se muestran en DFHMSD.
EIBRECV
Indica que el programa de aplicación debe continuar recibiendo datos del recurso ejecutando mandatos RECEIVE (X'FF ').
Contiene el identificador de solicitud asignado a un mandato de control de intervalo por CICS; este campo no se utiliza cuando se especifica un identificador de solicitud en el programa de aplicación.
Contiene un número correspondiente a la condición RESP que se ha producido. Estos números se listan (en decimal) para las condiciones que se pueden producir durante la ejecución de los mandatos descritos en este manual.
COBOL: PIC S9(8) COMP
C: long int eibresp;
PL/I: FIXED BIN(31)
Assembler: F
Núm.
Condición
Núm.
Condición
00
NORMAL
60
SESSBUSY
01
ERROR
61
NOTALLOC
02
RDATT
62
CBIDERR
03
WRBRK
63
INVEXITREQ
04
EOF
64
INVPARTNSET
05
EODS
65
INVPARTN
06
EOC
66
PARTNFAIL
07
INBFMH
69
USERIDERR
08
ENDINPT
70
NOTAUTH
09
NONVAL
71
VOLIDERR
10
NOSTART
72
SUPPRESSED
11
TERMIDERR
75
RESIDERR
12
FILENOTFOUND
80
NOSPOOL
13
NOTFND
81
TERMERR
14
DUPREC
82
ROLLEDBACK
15
DUPKEY
83
END
16
INVREQ
84
DISABLED
17
IOERR
85
ALLOCERR
18
NOSPACE
86
STRELERR
19
NOTOPEN
87
OPENERR
20
ENDFILE
88
SPOLBUSY
21
ILLOGIC
89
SPOLERR
22
LENGERR
90
NODEIDERR
23
QZERO
91
TASKIDERR
24
SIGNAL
92
TCIDERR
25
QBUSY
93
DSNNOTFOUND
26
ITEMERR
94
Cargando
27
PGMIDERR
95
MODELIDERR
28
TRANSIDERR
96
OUTDESCRERR
29
ENDDATA
97
PARTNERIDERR
30
INVTSREQ
98
PERFILIDERR
31
CADUCADO
99
NETNAMEIDERR
32
RETPAGE
100
LOCKED
33
RTEFAIL
101
RECORDOCUPADO
34
RTESOME
102
NO ENCONTRADO
35
TSIOERR
103
No se encontró el archivo
36
MAPFAIL
104
LINKABEND
37
INVERRTERM
105
CAMBIADO
38
INVMPSZ
106
PROCESO OCUPADO
39
IGREQID
107
ACTIVIDAD ocupada
40
OVERFLOW
108
PROCESADOR
41
INVLDC
109
ACTIVIDADERR
42
NOSTG
110
CONTAINERERR
43
JIDERR
111
EVENTERR
44
QIDERR
112
TOKENERR
45
NOJBUFSP
113
NOFINALIZADO
46
DSSTAT
114
POOLERR
47
SELNERR
115
ERROR DE TEMPORIZADOR
48
FUNCERR
116
SYMBOLERR
49
UNEXPIN
117
TEMPLATERR
50
NOPASSBKRD
118
NO SUPERUSUARIO
51
NOPASSBKWR
119
CSDERR
52
SEGIDERR
120
DUPRES
53
SYSIDERR
121
RESUNAVAIL
54
ISCINVREQ
122
CHANNELERR
55
ENQBUSY
123
CCSIDERR
56
ENVDEFERR
124
TIEMPO AGOTADO
57
IGREQCD
125
CODEPAGEERR
58
SESSIONERR
126
INCOMPLETE
59
SYSBUSY
127
APLICACIÓN NO ENCONTRADA
128
OCUPADO
EIBRESP2
Contiene información más detallada que puede ayudar a explicar por qué se ha producido la condición RESP. Este campo contiene valores significativos, tal como se documenta con cada mandato al que se aplica. Para las solicitudes a archivos remotos, EIBRESP2 contiene ceros binarios. Si un programa utiliza DPL para enlazar con un programa en otra región CICS , no se devuelve un EIBRESP2 de la región remota al programa que realiza el DPL.
Para programas escritos en C o C++, cualquier valor pasado a través de la función exit o return se guarda en EIBRESP2. Esto significa que cuando se utiliza DPL para enlazar con un programa C o C++ en una región remota, este valor no se devuelve al programa de enlace.
COBOL: PIC S9(8) COMP.
C: long int eibresp2;
PL/I: FIXED BIN(31)
Assembler: F
Indica que el programa de aplicación debe tomar un punto de sincronización o terminar. Antes de que se realice, el programa de aplicación debe asegurarse de que cualquier otro recurso, propiedad de él, se ponga en estado de envío o se libere (X'FF ').
Indica que el programa de aplicación debe emitir un mandato SYNCPOINT ROLLBACK (X'FF '). Este campo sólo se establece en los programas de aplicación que mantienen una conversación en un enlace APPC o MRO.
Contiene el número de tarea asignado a la tarea por CICS. Este número aparece en las entradas de tabla de rastreo generadas mientras la tarea está en control. El formato del campo es decimal empaquetado.
Contiene la hora a la que se inicia la tarea (este campo se actualiza mediante el mandato ASKTIME). La hora está en formato decimal empaquetado (0HHMMSS+) y puede contener un valor en el rango de 0000000 + a 0240000 +. Tanto 0000000 + como 0240000 + son válidos.