Sunteți pe pagina 1din 48

MANUAL DE CICS

MANUAL PARA EL CURSO DE

CICS:

Que es el CICS ?.
CICS (Customer Information Control System); Es un sistema de manejo de datos de uso general, que puede funcionar dentro de una red de muchas terminales, de hecho miles de ellas.
SISTEMA OPERATIVO

DATOS CICS DATOS

Fig. 1 el CICS puede manejar muchas terminales. Permite acceso a los datos Con sus propios recursos.

Desde cierto punto de vista, el CICS podra verse como un sistema operativo pequeo dentro del Sistema Operativo principal, su funcin sera la de administrar los recursos necesarios para el manejo de un ambiente donde se corren programas de aplicacin incluyendo interfaces de archivos y bases de datos. Por ejemplo, el CICS tiene su propio File Control Program y su propio Terminal Control Program. Los sistemas operativos, estn diseados para administrar eficientemente los recursos de una computadora, el CICS ayuda a mantener una clase particular de programas de aplicacin (llamadas aplicaciones on-line), separadas de otras aplicaciones en el sistema, y por supuesto, a ejecutarlas. Cierto tipo de aplicaciones denominadas 'BATCH', que generalmente se corren en un ambiente TSO (Time Sharing Option), leen un archivo, procesan registros individuales, actualizan una nueva versin del archivo, y producen cierto tipo de reporte impreso. Al terminar el programa, los archivos se cierran, y los datos se tornan inaccesibles para cualquier consulta, adicionalmente, los registros en los archivos, quedan actualizados hasta la ultima ejecucin del programa. A veces, esto no es suficiente. Los usuarios necesitan respuestas rpidas a sus solicitudes de proceso de informacin. La espera mientras termina la ejecucin de un programa puede ser inaceptable en algunas aplicaciones que necesitan respuestas inmediatas. Para esto, se necesita informacin en lnea (on-line Information), en otras palabras, se necesita un control directo de las bases de datos, o sea, un sistema DB/DC (Data Base Direct Control). El usuario final de una aplicacin on-line dentro de una red, puede hacer diferentes clases de operaciones con diferentes archivos (data sets) y observar los resultados
1

MANUAL DE CICS

de su operacin en cuestin de segundos, mientras que la operacin interna del sistema DB/DC le pasa inadvertida; esta es la funcin de CICS.

Que hace El CICS?


El CICS proporciona el control de comunicaciones y las funciones de servicio necesarias para que el usuario pueda crear sus propios sistemas DB/DC. Esto reduce drsticamente la cantidad total de programacin necesaria para crear una aplicacin. Controla los programas de la aplicacin on-line, es decir, el CICS maneja la interaccin entre el usuario de la terminal y los programas de la aplicacin. La interaccin consiste de solicitudes del y respuestas al usuario de la terminal durante una sesin de trabajo.
DATOS 1 PROG TERM INAL 1 1

CICS
TERM INAL 2 PRO G2

CI
DATOS 2

El CICS proporciona:

Las funciones solicitadas por los programas de la aplicacin para comunicacin con terminales locales, remotas y con los subsistemas. Control de concurrencia mientras corren los programas de varios usuarios. Recursos para accesar a las bases de datos y a los archivos, en conjuncin con los diferentes productos y mtodos de acceso que proporciona IBM. La habilidad para comunicarse con otros sistemas CICS y sistemas de Base de Datos, tanto en la computadora local como en los sistemas remotos.

MANUAL DE CICS

Los programas en lnea tienen ciertas caractersticas y necesidades en comn las principales serian: Dar servicio a varios usuarios en lnea simultneamente (aparentemente). Solicitar acceso comn a los mismos archivos (Data Sets) y a las mismas Bases de Datos. Dar respuesta a cada usuario final en un tiempo razonable. Accesar a terminales remotas y sistemas de comunicaciones. El CICS utiliza sus propios servicios para administrar las necesidades de sus transacciones, pero no duplica todos los servicios proporcionados por el Sistema Operativo. Cuando lo considera apropiado, el CICS encarga al OS los servicios necesarios.

Diferencias entre aplicaciones CICS y aplicaciones BATCH


Existen ciertas diferencias bsicas entre una aplicacin BATCH y una aplicacin CICS, y, si bien no todo es diferente, vamos a puntualizar las principales: En un programa BATCH, generalmente se definen todas las necesidades de entrada/salida y las reas de trabajo dentro del programa. En CICS, estas reas se asignan por medio del sistema de alojamiento dinmico de reas dentro de la regin CICS, esto permite economizar memoria principal, y utilizar la misma copia de un programa para dar servicio a varios usuarios. Un programa Batch, lee sus datos de entrada, mientras que el propio CICS lee los datos para sus programas de aplicacin CICS. Por esta causa, un programa de una aplicacin en particular, no necesita estar cargado en la computadora antes de que llegue su primer mensaje de entrada. Un programa Batch dirige sus instrucciones de entrada/salida directamente al Sistema Operativo, Mientras que una aplicacin CICS siempre dirige estas operaciones al CICS y este a su vez maneja la interfase con el Sistema Operativo.
JOB DE TSO

termina l

Region de CICS

Datos

SISTEMA OPERATIVO

Task De CICS

termi nal

DATOS

Figura 3
3

MANUAL DE CICS

En resumen, CICS es un ambiente capaz de proporcionar sus propios servicios y que permite el acceso a los distintos manejadores de datos del sistema, en un formato on-line. Si ocurre un error: Con un programa Batch, podemos reiniciar todo el proceso, o continuarlo desde el punto de la falla. Esto se debe a que la secuencia de proceso es predecible (porque esta basada en datos predefinidos), y porque los datos de entrada estn aun disponibles. Para el proceso on-line, los datos no estn preparados con antelacin, sino que se van metiendo segn los necesita la aplicacin. Adicionalmente, los datos pueden provenir de varios usuarios trabajando en forma concurrente. En otras palabras, los datos no llegan a la aplicacin en una secuencia predecible.

Proceso Bsico del CICS


El CICS esta diseado bsicamente para trabajar por medio de las terminales. El dialogo con el usuario se hace intercambiando informacin a travs de la pantalla. El usuario enva los datos que previamente ha tecleado en la pantalla. La aplicacin Analiza estos datos, Procesa, y si es necesario recupera datos de archivos o bases de datos y, devuelve informacin al usuario, siempre por medio de la pantalla. Prog. De aplicacin

Terminal enva datos

Recibe mapa

Terminal recibe datos Enva mapa

Procesa Informaci n

Programa recibe y enva datos

DATOS

Fig. 6 El CICS tiene su enlace principal con el usuario a travs de la terminal.

MANUAL DE CICS

Por esta causa, el CICS tiene diferentes instrucciones dedicadas al envo y recepcin de datos desde terminales. La pantalla de una terminal, generalmente puede exhibir informacin en 24 renglones de 80 columnas cada uno, lo que equivale a 1920 posiciones. Cada una de estas 1920 posiciones se puede direccionar individualmente, lo que quiere decir que el programa puede mandar datos a cualquier direccin de la pantalla. Pero es ms conveniente crear un formato especial de pantalla para enviar y recibir los datos en paquetes completos. El formato especial de pantallas se llama MAPA. El CICS controla cada uno de los programas mientras se ejecuta una aplicacin, para esto, existe un grupo de variables dentro de un bloque llamado Bloque EIB (Execute Interface Block). Son de particular importancia las variables EIBRESP y, EIBRESP2, que contienen un cdigo de respuesta a la ejecucin del comando CICS ejecutado.

CONCEPTOS BASICOS
TRANSACCION (TRANSACTION)
El CICS es un ambiente que procesa transacciones. Una transaccin es un proceso, iniciado por una solicitud, generalmente enviada por el usuario de una terminal. El usuario teclea el nombre de la transaccin P.Ej. ALTA Una sola transaccin invoca uno o ms programas de aplicacin, que al correr, producen el resultado deseado. En otras palabras, "Transaccin" significa en CICS lo mismo que en el lenguaje normal: Un evento o acto de negocio entre dos partes. En el proceso Batch, las transacciones de un mismo tipo, se agrupan y se procesan en tanda (todas las actualizaciones del archivo de personal en un job, la lista de todas las cuentas sobregiradas en otro job y, as, sucesivamente), en cambio, en un sistema on-line las transacciones no se acomodan por tipo, sino que se hacen individualmente segn van llegado (Una actualizacin al archivo de personal, despus una factura de algn cliente, ahora una orden de cobro, etc.).

TAREA (TASK).

MANUAL DE CICS

El usuario le indica al CICS que tipo de transaccin desea ejecutar, para esto usa un identificador de transaccin. Que por convencin, debe ser una palabra de uno a cuatro caracteres. El CICS observa el identificador para saber cual programa debe invocar primero para ejecutar el trabajo solicitado, despus, crea un TASK para hacer el trabajo, y transfiere el control al programa indicado. Entonces un Task es la ejecucin de algn tipo de transaccin. Un Task Puede leer de o escribir en la terminal que lo inicio. Puede accesar a la informacin de uno o varios archivos o Bases de datos Puede iniciar otros Tasks. Ejecutar diferentes operaciones.

Todos estos servicios se solicitan y controlan a travs de comandos CICS dentro de los programas de aplicacin. El CICS maneja varios Tasks de una manera concurrente; En un momento dado, solamente un task se puede estar ejecutando, sin embargo cuando un task solicita un servicio que involucra una espera, como es el caso cuando se solicita un servicio de entrada/salida de archivos, el CICS utiliza el tiempo de espera del primer task para ejecutar un segundo task, y as sucesivamente. Desde el punto de vista del usuario, parece como si muchos tasks se estuvieran ejecutando simultneamente.

Como iniciar una TRANSACCION CICS:


Normalmente, los usuarios que quieren ejecutar una transaccin, primero deben presentarse con el CICS a travs de un proceso llamado Identificacin (Signing on), el Signing on le da al usuario la autoridad para invocar ciertas transacciones. Para identificarse, el usuario teclea el nombre de una transaccin estndar del sistema llamada: CESN. Esta transaccin permite dar el nombre del usuario y su clave de acceso (PASSWORD). CESN SIGNON Enter Userid and Password USERID: _ PASSWORD:
6 <- Aqu va el nombre del usuario <- Aqu va la clave del usuario

MANUAL DE CICS

NEW PASSWORD:

Figura 4. Pantalla de la transaccin

CESN

Una vez identificado, el usuario invoca la aplicacin que desea utilizar, para esto debe teclear el cdigo de identificacin de la transaccin (El nombre de su transaccin) como principio de su solicitud. Los programas de aplicacin estn almacenados en una biblioteca de sistema enlazada al procesador, estos programas se pueden cargar cuando arranca el sistema o, sencillamente, cuando se soliciten. Si un programa esta en la memoria, pero no se usa, el CICS despeja el espacio para usarlo en otros propsitos cuando el programa se necesite de nuevo, el CICS carga una nueva copia desde la biblioteca de carga. Mientras se procesa una transaccin, el sistema puede recibir mensajes de diferentes terminales. Por cada mensaje, el CICS carga un programa de aplicacin, (suponiendo que no este cargado), e inicia un Task para ejecutarlo, entonces varios Tasks pueden estar corriendo concurrentemente, El CICS mantiene una lnea de control separada para cada Task y puede controlar varios de ellos al mismo tiempo, esto es lo que se llama Multitasking. El CICS maneja tanto el Multitasking como las solicitudes de servicios de cada Task, esto le permite optimizar el uso del tiempo y los recursos del sistema mientras esta corriendo una transaccin. Cuando termina la transaccin, el CICS regresa a la terminal a su estado de espera (Standby).

Recursos Bsicos del CICS


TABLA TABLA TABLA

PCT PPT FCT

El CICS requiere de varios recursos para efectuar los procesos. La mayora de los recursos estn asignados desde la instalacin bsica del CICS. Cuando se crea una nueva transaccin, generalmente el diseador debe dar de alta los recursos que necesitara para su transaccin. Los recursos mnimos son:
7

MANUAL DE CICS

El nombre de la transaccin y, su asociacin con el programa El nombre del programa asociado con la transaccin. Los archivos que usara la transaccin.

Estos recursos se declaran en tres tablas de recursos: La TABLA PCT (Program Control Table) para el nombre de la Transaccin y su asociacin con el programa. La TABLA PPT (Program Process Table) para el nombre del programa asociado con la transaccin. La TABLA FCT (File Control TABLE) para los nombres de los archivos que usara la transaccin.

No es necesario que existan estos elementos, se pueden dar de alta en las tablas los nombres de las transacciones, programas y archivos, despus se crean los archivos y programas. Para accesar las tablas de recursos, se usa la transaccin estndar CEMT.

PCT FCT ARCHIVO1 ARCHIVO2 . . . ARCHIVOn TRANSACC1 -PROG1 TRANSACC2 PROG2 PPT PROG1 PROG2 ...

Fig. 5 Tabla FCT Para archivos Tabla PCT Asociacin transaccinProgramas Tabla PPT Para nombres de programa

Programacin en COBOL usando declaraciones CICS


Al escribir una aplicacin diseada para usarse en el ambiente CICS, se pueden utilizar diferentes lenguajes de programacin, en nuestro caso: COBOL. Se pueden incluir instrucciones CICS dentro de un programa COBOL. El formato general de un comando CICS es: EXEC CICS a continuacin el nombre del comando seguido cuando sea necesario de una o ms opciones, terminado con END-EXEC
8

MANUAL DE CICS

EXEC CICS Nombre del comando CICS [Opcion1...] END-EXEC


Por ejemplo, el comando CICS SEND MAP quedara as en COBOL
EXEC CICS SEND MAP MAPSET ERASE CURSOR END-EXEC (MAPA1) (MAPSET1)

Observe que: Las palabras reservadas EXEC CICS deben estar en un mismo rengln El resto de la declaracin puede estar en diferentes renglones. Los Comandos CICS pueden insertarse dentro del programa COBOL con COPY. El CICS controla cada uno de los programas mientras se ejecuta una aplicacin, por esta causa, existe un grupo de variables dentro de un bloque llamado Bloque EIB (Execute Interface Block), que representan la Interfase de ejecucin entre CICS y el programa de aplicacin. Son de particular importancia las variables EIBRESP y, EIBRESP2 (PIC S9(8) COMP), que contienen un cdigo de respuesta a la ejecucin del comando CICS. En caso de que el comando se ejecute correctamente, el campo EIBRESP contiene 0 (cero), en caso contrario contiene un numero de cdigo que representa el estado de la ejecucin del comando.

Por ejemplo: Al terminar un comando CICS, si se ejecuto correctamente, continuar, en otro caso llamar al manejo de errores.
IF EIBRESP = 0 THEN CONTINUE ELSE MOVE ERROR EN COMANDO CICS TO MENSAJE PERFORM 900-ERROR END-IF

PROGRAMACION DE LAS APLICACIONES.


Una vez establecidas las condiciones de diseo, la interfase con el usuario, debemos programar la aplicacin usando el lenguaje de programacin, para esto existen dos enfoques de operacin, uno llamado sistema conversacional, donde el
9

MANUAL DE CICS

programa entra en una conversacin con el usuario, permitiendo el acceso a los recursos del sistema, mientras se ejecuta el proceso, y otro llamado Pseudoconversacional, en el cual, un conjunto de transacciones noconversacionales dan al usuario la apariencia de una sola transaccin conversacional, en este caso, los recursos del sistema se usan brevemente, y despus se liberan mientras el usuario observa sus resultados en la pantalla y decide la siguiente operacin que desea ejecutar. Una aplicacin escrita para CICS no es muy diferente de una aplicacin escrita para BATCH, por ejemplo los pasos tpicos para una aplicacin BATCH Tal como se vieron en los apuntes de COBOL son: 1. Inicializar la corrida completa, poner contadores en cero, abrir los archivos, Leer primera entrada 2. Validar los datos de entrada. 3. Procesar los datos. 4. Imprimir los resultados. Se repite hasta el final de los datos 5. Inicializar para la siguiente entrada. 6. Leer la entrada. 7. Regresar al paso 2, y repetir hasta que se acaben los datos. 8. Terminar, escribir totales, y cerrar archivos. Una aplicacin CICS, por su parte: 1. 2. 3. 4. Recibe pantalla con datos enviados por el usuario Procesa datos recibidos Enva pantalla con datos ya procesados para que el usuario pueda verlos Termina (RETURN) TERMINACION DEL PROGRAMA El CICS se encarga de repetir la transaccin cuando ocurra otra comunicacin de la terminal. O Bien, El CICS transfiere el control a otro programa O bien, El CICS da por terminada la transaccin

Observe que: En una transaccin Pseudoconversacional, el programa ocupa brevemente los recursos del sistema, despus termina El CICS se encarga de posteriormente de continuar o terminar el proceso, segn las opciones de RETURN

ASKTIME
ASKTIME
10

MANUAL DE CICS

[ABSTIME (rea de datos)]


ASKTIME actualiza la variable de fecha (EIBDATE) y la variable de hora (EIBTIME) del CICS. Estas dos variables contienen la fecha y la hora en formato numrico. Optativamente puede entregar los datos de hora y fecha (en formato numrico) en una variable de COBOL.

Ejemplo 1: Actualizar las variables EIBDATE y EIBTIME (Fecha y Hora); Adicionalmente poner la fecha y hora en el campo de COBOL WF-ABSTIME ( PIC S9(15) COMP-3. ) EXEC CICS ASKTIME ABSTIME (WF-ABSTIME) END-EXEC Observe que: WF-ABSTIME es un campo numrico y que la fecha y la hora estn en forma de un numero entero. Conviene convertir la fecha y la hora a un formato ms legible, Para formatear la fecha numrica, en formato de texto ms legible se usa el comando FORMATTIME.

FORMATTIME
FORMATTIME ABSTIME (rea de datos con la fecha en forma numrica) DATESEP (Separador de fecha) TIMESEP (Separador de hora) Formato de la fecha (rea para fecha) TIME (rea para la hora)
Ejemplo convertir la fecha/hora de WF-ABSTIME (PIC S9(15) COMP-3) a formato de texto, poner en WX-DATE (PIC X(8) ) la fecha separada por / y, en WX-HORA (PIC X(8) ) la hora separada por : EXEC CICS FORMATTIME ABSTIME (WF-ABSTIME) DATESEP ('/') TIMESEP (':') DDMMYY (WX-DATE) <- el formato de fecha TIME (WX-HORAS)

END-EXEC

YYDDD YYMMDD YYDDMM DDMMYY MMDDYY

READ
READ

VSAM
11

MANUAL DE CICS

FILE (Nombre de archivo) INTO (Nombre de rea) [LENGTH (Longitud del rea de datos)] RIDFLD (rea de la clave) [KEYLENGTH (Longitud del rea de clave)] [UPDATE]
READ Lee un registro de un archivo declarado en la FCT Antes de usar READ, se debe identificar el registro que se va a leer por medio de su CLAVE (KEY), usando el rea de clave RIDFLD (Record Identification FieLD). Si se utiliza la opcin UPDATE, se localiza un registro para posteriormente borrarlo (Ver DELETE) o para modificarlo (Ver REWRITE). En caso de no localizar el registro solicitado, el EIBRESP contiene el valor 13 (NOTFND)

Ejemplo 1: Leer el registro cuya clave es D11 del archivo ARCHIVO1 y, poner los datos ledos en RG-ARCHIVO1 MOVE D11 EXEC CICS READ FILE INTO LENGTH RIDFLD KEYLENGTH END-EXEC TO RD-CLAVE

(ARCHIVO1) (RG-ARCHIVO1) (WX-LON-DATOS) (RD-CLAVE) (WX-LON-CLAVE)

Ejemplo 2 Leer para posteriormente modificar el registro clave A00 del archivo ARCHIVO1. MOVE A00 EXEC CICS READ FILE INTO LENGTH RIDFLD KEYLENGTH UPDATE END-EXEC TO RD-CLAVE

(ARCHIVO1) (RG-ARCHIVO1) (WX-LON-DATOS) (RD-CLAVE) (WX-LON-CLAVE) <- UPDATE se usa para localizar el registro

WRITE

WRITE
12

VSAM

MANUAL DE CICS

FILE (Nombre de archivo) FROM (Nombre de rea) [LENGTH (Longitud del rea de datos)] RIDFLD (rea de la clave) [KEYLENGTH (Longitud del rea de clave)]
WRITE Aade un nuevo registro a un archivo declarado en la FCT En caso de que la clave de acceso en RIDFLD ya exista en el archivo (CLAVE DUPLICADA); el EIBRESP contiene el valor 14 (DUPREC)

Ejemplo 1: Grabar un nuevo registro con los datos contenidos en el rea RGARCHIVO1, cuya clave es 000324 en el archivo ARCHIVO1 y, en caso de clave duplicada, poner un mensaje en WL-MENSAJE. MOVE WS-DATOS MOVE 000324 EXEC CICS WRITE FILE FROM LENGTH RIDFLD KEYLENGTH END-EXEC TO TO RG-ARCHIVO1 RD-CLAVE

(ARCHIVO1) (RG-ARCHIVO1) (WX-LON-DATOS) (RD-CLAVE) (WX-LON-CLAVE)

IF EIBRESP = 0 THEN CONTINUE ELSE IF EIBRESP = 14 THEN MOVE CLAVE DUPLICADA TO WL-MENSAJE ELSE PERFORM 990-ERROR END-IF END-IF

13

MANUAL DE CICS

REWRITE (VSAM)
REWRITE FILE FROM [LENGTH

(Nombre de archivo) (rea de datos) (Dato numrico)]

Modifica un registro previamente ledo de un archivo VSAM. El registro a modificar, se debe leer antes con READ UPDATE El nombre de archivo debe ser un archivo VSAM declarado en la FCT El registro especifico que se va a modificar en el archivo, se indicara por medio de su clave (Record IDentification FieLD), en la opcin RIDFLD de READ. La longitud de la clave se puede especificar en la opcin KEYLENGTH

Ejemplo : Modificar en el archivo VSAM EMPLEADO, el registro identificado por la clave RD-EMPNO. Previamente leda con READ opcin UPDATE MOVE WS-CLAVE EXEC CICS READ FILE INTO RIDFLD KEYLENGTH UPDATE END-EXEC MOVE WS-DATOS EXEC CICS REWRITE FILE FROM END-EXEC TO RD-EMPNO

(EMPLEADO) (RG-EMPLEADO) (RD-EMPNO) (WX-LON-CLAVE)

TO

RG-EMPLEADO

(EMPLEADO) (RG-EMPLEADO)

Observe que: En caso de no localizar el registro solicitado, el EIBRESP contiene el valor 13 (NOTFND)
14

MANUAL DE CICS

DELETE (VSAM)
DELETE FILE (Nombre de archivo) RIDFLD (rea de datos) [KEYLENGTH (Dato numrico)] [GENERIC [ NUMREC (rea de datos)] ]
DELETE Borra uno o varios registros de un archivo VSAM El nombre de archivo debe ser un archivo VSAM declarado en la FCT El registro especifico que se va a borrar del archivo, se indicara por medio de su clave (Record IDentification FieLD), en la opcin RIDFLD. La longitud de la clave se puede especificar en la opcin KEYLENGTH Se puede eliminar un grupo de registros con un solo comando DELETE, identificando el grupo con la opcin GENERIC. En caso de usar GENERIC, el CICS devuelve el numero de registros borrados en la variable indicada en NUMREC. Existe una forma diferente de este comando; para borrar un registro que previamente se ha ledo para modificarlo con el comando READ UPDATE. Pero en este caso, el registro no se reescribe, sino que se borra, en este caso no se especifica la opcin RIDFLD.

Ejemplo 1: Borrar del archivo VSAM EMPLEADO, el registro identificado por la clave RD-EMPNO EXEC CICS DELETE FILE (EMPLEADO) RIDFLD (RD-EMPNO) KEYLENGTH (WX-LON-CLAVE) END-EXEC Ejemplo 2: Borrar del archivo VSAM EMPLEADO, el registro identificado por la clave RD-EMPNO. Previamente leda con READ opcin UPDATE EXEC CICS FILE RIDFLD READ (EMPLEADO) (RD-EMPNO)
15

MANUAL DE CICS

KEYLENGTH (WX-LON-CLAVE) UPDATE END-EXEC EXEC CICS DELETE FILE (EMPLEADO) END-EXEC Observe que: En caso de no localizar el registro solicitado, el EIBRESP contiene el valor 13 (NOTFND)

Area Temporal

TEMPORARY STORAGE

La comunicacin entre las transacciones de un sistema puede hacerse por medio de diferentes reas de almacenamiento de datos que no dependen del programa de aplicacin, sino que dependen directamente del CICS. La TS (Temporary Storage) es un rea que puede utilizarse para comunicacin entre las diferentes transacciones de un sistema. En realidad la TS es una COLA (QUEUE), que puede considerarse como un pequeo archivo secuencial fcil de crear y de consultar que no requiere declaracin en la FCT El comando WRITEQ TS permite guardar informacin en la TS, inclusive, si no existe la cola, WRITE Q TS la crea antes de escribir en ella. El comando READQ TS lee la informacin almacenada en la cola (QUEU). El comando DELETEQ TS Elimina la cola.

Transacci n BE01

Transaccin BE00

TS
Otra instancia de la transaccin BE00

16

MANUAL DE CICS

La TS puede ser leda o manipulada por cualquiera de los programas de aplicacin.

WRITEQ TS (Temporary Storage)


WRITEQ TS QUEUE (Nombre de cola) FROM (Nombre de rea) [LENGTH (Longitud del rea de datos)] ITEM (Area Numrica) [REWRITE]
WRITEQ TS Aade un nuevo registro a la cola. Si la cola no existe, se crea una con el nombre indicado y se escribe el primer registro. Si se usa la opcin REWRITE, no se aade un nuevo registro, sino que se reescribe el registro indicado en ITEM. El rea numrica (PIC S9(04) COMP-3) en ITEM, devuelve el numero de registro (tem) que se grabo en la cola. Si se usa REWRITE, en la variable de ITEM se pone el numero del tem que se va a modificar.

Ejemplo 1. Aadir un NUEVO registro en la cola A000, tomando los datos del rea WTS-REG, si no existe la cola, se crea, y se graba el primer registro, si la cola ya existe, se graba el siguiente registro y la variable indicada en ITEM, devuelve el nm. de tem grabado. EXEC CICS WRITEQ QUEUE FROM ITEM END-EXEC TS (A000) (WTS-REG) (NUM-ITEM) <- la variable devuelve el nm. Del item grabado

Ejemplo 2. Modificar registro (ITEM) nm. 4 de la cola A000, con los datos en del rea
17

MANUAL DE CICS

WTS-REG. MOVE 4 TO NUM-ITEM <- Primero se indica el numero de ITEM

EXEC CICS WRITEQ TS QUEUE (A000) FROM (WTS-REG) ITEM (NUM-ITEM) <- La variable numrica contiene 4 REWRITE <- La opcin REWRITE indica que se modificara un tem END-EXEC previamente grabado Observe que: Si el numero de tem no se localiza en la cola, se genera el cdigo 26 (ITEMERR) en la variable EIBRESP.

READQ TS QUEUE INTO [LENGTH ITEM [NEXT]


READQ TS (Temporary Storage)


(Nombre de cola) (Nombre de rea) (Longitud del rea de datos)] (Area Numrica)

READQ TS Lee la cola de almacn temporal y `pone el resultado de la lectura en el rea de datos indicada. El rea numrica indica el numero de registro (tem) que se va a leer de la cola. La opcin NEXT indica que se leer el siguiente tem de la cola (el numero actual de tem, estar asignado por la ultima instruccin de acceso a la cola P.ej READQ o WRITEQ)

Ejemplo 1. Leer el registro (ITEM) numero 5 de la cola A000 y, poner los datos en el rea WTS-REG. MOVE 5 TO WC-NUMITEM EXEC CICS READQ TS QUEUE INTO ITEM END-EXEC

(A000) (WTS-REG) (WC-NUMITEM)


18

MANUAL DE CICS

Observe que: Si no se localiza el registro de la TS solicitado, se genera la condicin 26 (ITEMERR) en la variable Ejemplo 2. Leer el siguiente registro (ITEM) de la cola A000 y, poner los datos en el rea WTS-REG. EXEC CICS READQ TS QUEUE INTO NEXT END-EXEC

(A000) (WTS-REG)

Observe que: Al tratar de leer el registro siguiente al ultimo de la cola, se genera el cdigo 26 (ITEMERR) en la variable EIBRESP.

DELETEQ TS (TEMPORARY STORAGE)


DELETEQ TS QUEUE

(Nombre de Cola)

DELETEQ Borra todos los datos asociados con una cola de almacn temporal, y libera el rea ocupada por la cola. Es conveniente borrar los datos de TS (TEMPORARY STORAGE) en cuanto ya no sean de utilidad para ahorrar espacio. El nombre de la cola debe ser el mismo que se utilizo en WRITEQ TS para crear la QUEUE.

Ejemplo Borrar la cola identificada con la variable WX-NOMBRE. EXEC CICS DELETEQ QUEUE END-EXEC IF EIBRESP = 0 THEN CONTINUE ELSE MOVE ERROR AL BORRAR LA COLA TO WL-MENSAJE END-IF
19

TS (WX-NOMBRE)

MANUAL DE CICS

Observe que: En caso de un error, la variable EIBRESP contiene el cdigo de error. El error ms probable es equivocarse con el nombre de la cola. El cdigo 44 (QIDERR) corresponde a un error en el nombre de la cola.

Revisin de un archivo BROWSE


La revisin (BROWSE) de un archivo, consiste en posicionar el apuntador de un archivo en algn registro y, a partir de l, leer hacia delante del archivo, o hacia atrs de l. El comando STARTBR inicializa la revisin posicionando el apuntador en un registro. El comando READNEXT lee el siguiente registro dentro de una revisin. El comando READPREV lee el registro anterior dentro de una revisin. El comando ENDBR termina la revisin. EXEC CICS STARTBR FILE (EMPLEADO) RIDFLD (RD-EMPNO) END-EXEC Archivo1 Reg 1 EXEC CICS READPREV Reg 2 READPREV Reg 3 FILE (EMPLEADO) INTO (RG-EMPLEADO) STARTBR . RIDFLD (RD-EMPNO) . END-EXEC . EXEC CICS READNEXT Reg n READNEXT
20

MANUAL DE CICS

FILE INTO RIDFLD END-EXEC

(EMPLEADO) (RG-EMPLEADO) (RD-EMPNO)

READNEXT y READPREV siempre se usan en combinacin con STARTBR

STARTBR FILE (Nombre del archivo) RIDFLD (Nombre del rea de clave) KEYLENGTH (Longitud del rea de clave) [REQID (Numero de la revisin) ] READPREV FILE (Nombre del archivo) INTO (Area de datos) LENGTH (Longitud de datos) RIDFLD (Area de clave) KEYLENGTH (Long. de clave) [REQID (Numero de la revisin) READNEXT FILE (Nombre del archivo) INTO (Area de datos) LENGTH (Longitud de datos) RIDFLD (Area de clave) KEYLENGTH (Long. de clave) [REQID (Numero de la revisin)

ENDBR
ENDBR FILE [REQID

(Nombre de archivo) (Nombre de rea) ]

ENDBR Da por terminada una revisin (BROWSE) en un archivo declarado en la FCT. Tambin se usa para terminar una revisin (BROWSE) de una tabla de CICS. El valor REQID es un identificador (S9(04) COMP-3) numrico que se usa para identificar diferentes solicitudes de BROWSE. Si se omite REQID, el valor por default es Cero.

Ejemplo: terminar la revisin del archivo EMPLEADO. EXEC CICS STARTBR FILE RIDFLD KEYLENGTH END-EXEC EXEC CICS READNEXT FILE

(EMPLEADO) (RD-EMPNO) (WX-LON-CLAVE)

(EMPLEADO)
21

MANUAL DE CICS

INTO RIDFLD KEYLENGTH END-EXEC . . .

(RG-EMPLEADO) (RD-EMPNO) (WX-LON-CLAVE)

EXEC CICS ENDBR FILE END-EXEC

(EMPLEADO)

Observe que: En caso de error, la variable EIBRESP contiene el cdigo de error El error ms probable en ENDBR es que no este iniciada una revisin con el comando STARTBR El cdigo de error 16 (INVREQ) corresponde al caso de una revisin no iniciada.

RECEIVE MAP
RECEIVE MAP MAPSET

(Nombre de MAPA) (Nombre del MAPSET)

Una manera muy conveniente de manejar datos en la pantalla, es por medio de un formato de pantalla completa. Un MAPA es un formato de datos de pantalla completa. RECEIVE MAP recibe una pantalla completa desde la terminal, este formato incluye los datos enviados por el usuario.

Ejemplo recibir el mapa IDENTIF que esta dentro del mapset IDENT01, que contiene las variables USER y PASWORD. EXEC CICS RECEIVE MAP (IDENTIF) MAPSET (IDENT01) END-EXEC

22

MANUAL DE CICS

En caso de un error en la recepcin del mapa, se genera el cdigo 36 (MAPFAIL) en EIBRESP IF EIBRESP = 36 THEN MOVE ERROR EN LA RECEPCION DEL MAPA TO WL-MENSAJE END-IF Las variables contenidas en el mapa se pueden usar despus de recibido este con los valores enviados por el usuario. USERI TO WX-BUSCA-U <- USERI contiene los datos de USER

MOVE

PERFORM 400-BUSCA-USUARIO IF USUARIO-EXISTE THEN CONTINUE ELSE MOVE ERROR EN NOMBRE DE USUARIO TO WL-MENSAJE END-IF Observe que: La variable USERI contiene el dato tecleado por el usuario dentro del campo USER

SEND MAP
SEND MAP MAPSET [FROM [LENGTH [CURSOR [ERASE

(Nombre de MAPA) (Nombre del MAPSET) (Nombre de rea) ] (Dato numrico) ] (Posicin del cursor)] ]

Una manera muy conveniente de manejar datos en la pantalla, es por medio de un formato de pantalla completa. Un MAPA es un formato de datos de pantalla completa. SEND MAP enva una pantalla completa hacia la terminal, este formato incluye los datos asignados a los campos del mapa por el programa. Si se usa la opcin FROM, se especifica el rea que contiene los datos que se procesaran.
23

MANUAL DE CICS

Si no se especifica FROM, el nombre del rea que se procesa es el nombre del mapa con el SUFIJO O. CURSOR se usa para especificar la posicin del Cursor al enviar el mapa (de 1 a 1920), si no se pone, se usa el valor mas reciente. ERASE indica que se debe borrar el BUFFER de pantalla antes de que se exhiban los datos.

Ejemplo enviar el mapa IDENTIF que esta dentro del mapset IDENT01, que contiene las variables USER y PASWORD. MOVE WX-USUARIO EXEC CICS MAP MAPSET CURSOR ERASE END-EXEC TO USSERO <- USERO recibe los datos que se enviaran

SEND (IDENTIF) (IDENT01)

En caso de un error en el envo del mapa, se genera el cdigo 36 (MAPFAIL) en EIBRESP IF EIBRESP = 36 THEN MOVE ERROR EN EL ENVIO DEL MAPA TO WL-MENSAJE END-IF Los Campos variables contenidos en el mapa se exhiben en la pantalla del usuario con los nuevos valores asignados. La variable USERO contiene los nuevos datos del campo USER.

RETURN
RETURN TRANSID (Nombre de la transaccin ) COMMAREA (Nombre del rea de comunicacin) LENGTH (Longitud del rea de comunicacin)
Un programa que corre en el ambiente CICS termina cuando se devuelve el control al CICS o cuando se transfiere su control a otro programa. RETURN devuelve el control al CICS o en ciertos casos devuelve el control a otro programa en un nivel superior. Si se usa la opcin TRANSID, el CICS queda en espera de una comunicacin de la terminal que ejecuto la aplicacin, al llegar la comunicacin, se ejecuta la transaccin indicada en TRANSID.
24

MANUAL DE CICS

El rea de comunicaciones indicada en COMMAREA debe estar declarada en la LINKAGE SECTION su nombre debe ser DFHCOMMAREA y se utiliza como medio de comunicacin entre las Transacciones. Si no se usa TRANSID, el CICS da por terminada toda referencia a la ejecucin del programa.

Ejemplo1. Terminar el programa BE00A con RETURN. Cuando el CICS reciba una comunicacin de la terminal deber ejecutar la transaccin BE00, usando como rea de comunicaciones WX-COMMAREA. MOVE BE00 MOVE DFHCOMMAREA MOVE 500 EXEC CICS RETURN TRANSID COMMAREA LENGTH END-EXEC TO TO TO WX-TRANSID WX-COMMAREA WX-LON-COMMAREA

(WX-TRANSID) (WX-COMMAREA) (WX-LON-COMMAREA)

Ejemplo 2. Terminar la ejecucin del programa sin instrucciones para el CICS. EXEC CICS RETURN END-EXEC

XCTL
XCTL PROGRAM COMMAREA LENGTH

(Nombre del Programa ) (Nombre del rea de comunicacin) (Longitud del rea de comunicacin)

Un programa que corre en el ambiente CICS termina cuando se devuelve el control al CICS o cuando se transfiere su control a otro programa. XCTL termina el programa actual, y TRANSFIERE el control a otro programa en el mismo nivel lgico
25

MANUAL DE CICS

El nuevo programa corre hasta su terminacin que puede ser RETURN o XCTL. El rea de comunicaciones debe estar declarada en la LINKAGE SECTION del programa receptor, su nombre debe ser DFHCOMMAREA y se utiliza como medio de comunicacin entre los programas

Ejemplo. Terminar el programa BE00A con XCTL. Transfiriendo el control al programa BE01A, usando como rea de comunicaciones WX-COMMAREA. MOVE BE01A MOVE DFHCOMMAREA MOVE 500 TO TO TO WX-PROGRAM WX-COMMAREA WX-LON-COMMAREA

EXEC CICS XCTL PROGRAM (WX-PROGRAM) COMMAREA (WX-COMMAREA) LENGTH (WX-LON-COMMAREA) END-EXEC El error ms comn en la transferencia es: EIBRESP = 27 (PGMIDERR)

Ocurre en alguna de las siguientes situaciones: El programa no esta declarado en la PPT (EIBRESP2=1). El programa esta deshabilitado (EIBRESP2=2). El programa no se puede cargar (EIBRESP2=3). La definicin del programa es para un programa remoto (EIBRESP2=9).

TERMINALES La terminal tpica en un sistema de procesos de datos es la IBM 3270 que es una familia de impresoras y terminales de vdeo, si bien difieren en tamao y velocidad, bsicamente utilizan el mismo formato de datos. Una terminal es un teclado y una pantalla de vdeo que se utiliza tanto para entrada como para salida de datos, y en ambos casos la pantalla (o ms propiamente la memoria que la representa), es el medio crucial de intercambio entre la terminal y el procesador.
26

MANUAL DE CICS

Cuando el usuario pone en la pantalla los datos que desea procesar, usa una tecla de atencin para enviar estos datos al procesador. Cuando la aplicacin obtiene la informacin que desea presentar al usuario, la enva hacia la terminal para que se exhiba en la pantalla. El propsito del teclado es modificar la pantalla, preparando los datos de entrada para enviarlos al procesador cuando estn listos. Cuando la aplicacin escribe en una terminal, el procesador enva una serie de datos (STREAM) en un formato especial para terminales 3270, el stream contiene no solamente los textos que van a exhibirse en la pantalla, sino informacin de control que define la manera como va a exhibirse el texto en la pantalla. Las impresoras que corresponden a una terminal, utilizan el mismo sistema de codificacin, por lo tanto el mismo STREAM que se enva a una terminal de vdeo, puede utilizarse para una impresora. PANTALLA DE LA 3270 La pantalla de la 3270 puede exhibir hasta 1920 caracteres distribuidos en 24 renglones de 80 columnas cada uno. Cada una de estas 1920 posiciones tiene una direccin individual, esto quiere decir que un programa de aplicacin puede enviar datos directamente a cualquiera de estas posiciones en la pantalla, pero no es necesario dirigir cada carcter a su posicin individualmente, mas bien, dentro de un programa, se divide la pantalla en campos (FIELDS). Un campo es un conjunto de posiciones consecutivas que tienen las mismas caractersticas (mismo color, misma intensidad, protegidos, no protegidos, etc.). Generalmente, se usan los campos de la pantalla de la misma manera que se usan los campos de salida en un reporte, para contener un tem de datos.

TERMINALES Por ejemplo, la pantalla de identificacin (SIGN ON) de CICS: Columnas


27

MANUAL DE CICS

12 Renglones 1 -> 2 -> 3 -> 5 -> 7 ->

12

CESN SIGNON Enter Userid and Password USERID: _ PASSWORD: NEW PASSWORD:

Hay varios campos en esta pantalla, sin embargo, solo cuatro de ellos estn exhibiendo datos; el primero esta en el rengln 1, columna 1 (Posicin 1,1) y contiene los datos: CESN -SIGNON- Enter USERID and PASSWORD El campo esta especificado: PROTECTED Lo que quiere decir que el operador no puede escribir sobre esta rea de la pantalla en su terminal. BRIGHT Que significa exhibirse brillante para enfatizar su informacin. El segundo esta en la posicin (3,5) y contiene el dato USERID: tambin PROTECTED y BRIGHT. El subrayado despus de USERID: se llama cursor y marca la posicin donde se aceptara el siguiente carcter que se enve del teclado, estos dos campos se han usado como salida, nicamente para informar algo al usuario, el segundo campo le indica al usuario lo que debe teclear en el tercer campo que empieza en la posicin (3,12) Este tercer campo, es diferente porque se utiliza para que el operador de la terminal teclee informacin en l, y esta informacin sea la entrada de datos la prxima vez que la terminal enve hacia el procesador, por lo tanto NO ESTA PROTEGIDO, y tiene intensidad normal. Aunque no se puede ver, tiene 20 posiciones de longitud porque esta es la longitud mxima permitida de la identificacin de un usuario de CICS.

28

MANUAL DE CICS

TERMINALES Columnas 12 5 12

Renglones 1 -> CESN SIGNON Enter Userid and Password 2 -> 3 -> USERID:X___________________X_ 5 -> 7 -> PASSWORD: NEW PASSWORD: STOPPER Tercer campo

Al final del tercer campo hay otro campo conocido como Tope (Stopper Field) tampoco se puede ver, y su nica funcin es impedir que el usuario teclee mas de 20 caracteres en el campo de identificacin, esto se debe a que el principio de un campo esta sealado en el buffer de datos de la pantalla pero el final no esta sealado, un campo termina en realidad al principio del siguiente campo, por eso el STOPPER se usa para limitar un campo de entrada. Lo importante del stopper es que esta Protegido y cuando un usuario teclea una identificacin de mas de 20 caracteres el cursor alcanza la posicin del stopper y como esta protegido, se bloquea el teclado y no puede teclear mas caracteres. Despus hay otros tres campos en las posiciones (5,5), (5,15), y (5,24) son como los tres campos anteriores, el primero solicita la clave de acceso (PASSWORD) y esta protegido, el segundo es un campo de entrada donde se debe teclear la clave de acceso, esta desprotegido para teclear en l, y tiene un atributo un tanto extrao, DARK o sea invisible esto quiere decir que los datos aunque se tecleen no aparecen en la pantalla, esto se debe a que la Password se supone que es secreta y ningn curioso que este viendo la pantalla debe enterarse de la clave, el tercer campo es por supuesto un Stopper que limita el campo de Password a 8 caracteres. Cuando se analiza mas de cerca la configuracin de los campos en una pantalla, se observa que los campos parecen ser una posicin ms largos de lo que deberan ser. Si el campo de nombre de 20 posiciones empieza en la posicin (3,11) porque el stopper empieza en la posicin (3,32) y no en la (3,31) Bien esto se debe a que los atributos de exhibicin del campo (Protected, Bright etc.) ocupan una posicin en la pantalla por cada campo, o sea, si empezamos un campo de 20 posiciones en la posicin (3,11), el BYTE de atributos (As se llama) del campo, se localiza en (3,11) y los datos van desde (3,12) hasta (3,31). El Byte de atributos se ve en la pantalla como un espacio y esta autoprotegido independientemente de que el campo de datos este protegido o no, as el usuario no puede cambiar la identidad de un campo desde el teclado.
29

MANUAL DE CICS

TERMINALES Columnas 12 5 12 Renglones 1 -> CESN SIGNON Enter Userid and Password 2 -> 3 -> USERID:X___________________X_ 5 -> 7 -> PASSWORD: NEW PASSWORD: STOPPER Tercer campo

El formato de exhibicin de un campo puede tener diferentes posibilidades: High intensity Normal intensity Dark Inverse Color Brillante Normal Invisible (Letras del mismo color que el fondo) Fondo claro, letras obscuras siete colores bsicos

El byte de atributos tambin controla lo que puede hacer el teclado con el campo de datos las opciones pueden ser: UNPROTected NUMeric PROTected AutoSKIP El usuario puede teclear informacin en el campo de datos. El usuario puede nicamente teclear dgitos, punto decimal y signo de menos en el campo. El usuario no puede teclear nada dentro del campo. El usuario no puede teclear nada dentro del campo, pero adicionalmente, si el campo anterior esta lleno, el cursor automticamente se salta este campo hasta el siguiente campo disponible.

Autoskip se usa para los campos de stopper as, si el campo anterior se llena de informacin, el cursor pasa sobre el stopper y va al siguiente campo disponible, de esta manera el usuario puede teclear continuamente llenando los campos y pasando automticamente al siguiente sin necesidad de usar las teclas de avance de cursor.
30

MANUAL DE CICS

Cuando los datos de los campos se envan a la terminal, o se reciben de la terminal, generalmente se arreglan en un formato de pantalla completa llamado MAPA, aunque tambin pueden enviarse sin formatear, pero el envo de datos Unformatted se usa solo para mensajes sencillos.

BMS
Apoyo bsico para hacer mapas Basic Mapping Support (BMS)
No es necesario formatear los datos que se envan a las terminales dentro de la aplicacin, generalmente se utiliza una prestacin del CICS llamada Basic Mapping Support o simplemente BMS. Esta prestacin del CICS permite crear un formato de datos llamado MAPA que presenta una estructura definida por el programador, para el control de los datos de entrada/salida de la pantalla. El BMS simplifica el trabajo de programacin pues mantiene independientes las especificaciones de formato del hardware utilizado. La primera pantalla que deseamos que vea el usuario es la pantalla de MENU principal, segn la describimos en la pagina 36 aqu la volvemos a dibujar, pero para facilitar las explicaciones, se le aadieron nmeros de rengln y de columna, se sealaron con subrayados los campos que no ven a menos que estn ocupados con datos. Se marco la posicin del byte de atributos de los stoppers con un signo, y para los dems campos con el signo + , estos marcadores no aparecen en la pantalla, y se han colocado nicamente para facilitar la explicacin. Esta pantalla se define por medio de MACROS de BMS que son una forma de lenguaje ensamblador. Una vez ensambladas estas macros, producen lo que llama el MAPA FISICO, que contiene las instrucciones necesarias para uso del CICS. Una segunda fase de ensamblado nos produce el MAPA SIMBOLICO (Symbolic Description Map) El mapa simblico es una serie de declaraciones en el lenguaje objeto que se utilizara para programar la aplicacin, en este caso COBOL, por esto, el mapa simblico se integrara al programa de aplicacin COBOL por medio de una declaracin COPY. Este mapa simblico, contiene la informacin necesaria para: Crear la pantalla con todos los ttulos y leyendas en las posiciones adecuadas. Los atributos necesarios para cada uno de los campos.
31

MANUAL DE CICS

Integrar las variables de datos del programa de aplicacin con los campos de la pantalla, para pasar datos del programa a la pantalla y viceversa. Ahora, veamos como se manejan las macros de BMS, que a pesar de parecer complicadas, en realidad son muy sencillas.

(1)

MACRO

DFHMDF de BMS

Nombre de Campo DFHMDF POS=(Renglon,columna),LENGTH=nmero, INITIAL=texto,OCCURSS=(numero), ATTRB=(atributo1, atributo2,...), COLOR=color, HILIGHT=REVERSE La Macro DFHMDF se usa para generar la definicin de cada uno de los campos del mapa BMS. Para cada campo de la pantalla se necesita una Macro DFHMDF como la siguiente:

Si los datos no caben en un rengln, se debe usar un carcter de continuacin en la columna 72, cualquier carcter es valido, excepto espacio y l ultimo del rengln. Los elementos de la macro tienen los siguientes significados. Nombre de Campo Este es el nombre del campo tal como se usara en el programa (hasta cierto punto). Cada campo que se va a leer o a escribir en la pantalla, debe llevar nombre, pero los campos de ttulos o letreros que son constantes, no necesitan llevar nombre, tampoco los stopper necesitan nombre, pues no los vamos a leer o escribir desde el programa. Los nombres de campo: Empiezan con letra, contienen solo letras o nmeros y deben ser de 1 a 7 caracteres. DFHMDF Este es el identificador de Macro, indica que se esta definiendo un campo. POS= (Renglon,Columna)
32

MANUAL DE CICS

Esta es la posicin en la pantalla donde va a aparecer el campo, solo hay que recordar que un campo empieza con su byte de atributo, por lo tanto, si se escribe POS=(1,1), el byte de atributo del campo estar en el rengln 1 y columna 1, y los datos empiezan en la columna 2. LENGTH=numero Esta es la longitud del campo SIN contar el byte de atributo. INITAL=texto Este es el contenido inicial de un campo de texto, as se especifican los ttulos y los letreros de la pantalla que son independientes del programa. Ejemplo: INITIAL PARA el primer campo de la pantalla de men seria:

INITIAL= MENU DE OPCIONES

(2)

MACRO

DFHMDF de BMS

Nombre de Campo DFHMDF POS=(Renglon,columna),LENGTH=nmero, INITIAL=texto,OCCURSS=(numero), ATTRB=(atributo1, atributo2,...), COLOR=color, HILIGHT=REVERSE Los atributos de un campo indican no solamente sus caractersticas de exhibicin, sino tambin la manera de recibir datos desde el teclado.

ATTRB=(atributo1,atributo2...) Estos son los atributos del campo. Hay varias caractersticas diferentes que se pueden especificar: La primera caracterstica es la INTENSIDAD, las opciones son: NORM El campo se exhibe con intensidad Normal. BRT El campo se exhibe con intensidad Brillante. DRK El campo se exhibe obscuro (no se ve) La segunda caracterstica controla lo que el usuario puede hacer desde el teclado, las opciones son: ASKIP No se puede teclear en el campo, y si el campo anterior esta lleno, el cursor brinca sobre este campo, pasando al siguiente disponible.
33

MANUAL DE CICS

PROT

No se puede teclear en el campo, pero el cursor no brinca sobre este campo si el anterior esta lleno.

UNPROT Si se pueden teclear datos dentro del campo. NUM Si se pueden teclear datos dentro del campo, pero solo se aceptan nmeros, el signo de menos, y el punto decimal. La tercera caracterstica controla la etiqueta de Datos modificados. Si un dato cambia en la pantalla, queda listo para enviarse al programa, si no cambia; no se enva. La opcin es: FSET Activa la etiqueta de Datos Modificados. Esto provoca que el campo se enve al programa aunque no se haya modificado. Si no se especifica FSET, entonces el campo se enva al programa solamente cuando el usuario lo modifique. La Cuarta caracterstica, que se especifica como parte de los atributos, indica que este es el campo donde se posicionara el cursor. La opcin es: IC Pone el cursor en la primera posicin del campo, un solo campo es el que puede tener el cursor, por lo tanto, si se pone IC en varios campos, el cursor se posicionara en el ultimo. Si no se especifica el parmetro ATTRIB, entonces el campo tendr caractersticas ASKIP, NORM, por default, no tendr FSET ni IC.

Macro DFHMDF de BMS

(3)

Nombre de Campo DFHMDF POS=(Renglon,columna),LENGTH=nmero, INITIAL=texto,OCCURSS=(numero), ATTRB=(atributo1, atributo2,...), COLOR=color, HILIGHT=REVERSE Algunas terminales tienen pantalla de color, por lo tanto se pueden exhibir los renglones de datos de algn color en especial. COLOR=color Indica cual WHITE BLUE RED PINK GREEN TURQUOISE YELLOW ser el color de los caracteres del campo, las opciones son: Color blanco Color azul Color rojo Color rosa Color verde Color turquesa Color amarillo
34

MANUAL DE CICS

Este parmetro solo funciona en caso de que la terminal tenga pantalla de color, en otro caso; se ignora. OCCURSS=nmero Por medio de esta opcin, se pueden declarar varios campos con una sola definicin, siempre y cuando, todos los campos tengan las mismas caractersticas, y se encuentren adyacentes. Entonces, si se especifica un campo de longitud 10 en la posicin (4,1), ASKIP, NORM y OCCURSS=3, se tendrn 3 campos de longitud 10, ASKIP y NORM en las posiciones (4,1), (4,12) y (4,23). La opcin HILIGTH=REVERSE color. se puede usar con terminales que no tengan

HILIGTH=REVERSE Usando esta opcin, se puede destacar un campo, invirtiendo el display de letras claras sobre fondo obscuro convirtindolo a letras obscuras sobre fondo claro. Una vez creado el Mapset: 1. Se declara como parte de los recursos del sistema. 2. Se ensambla para generar el mapa fsico y el mapa simblico 3. Se incluye el mapa simblico dentro del programa de aplicacin con COPY

Macro DFHMDF de BMS

(4)

Nombre de Campo DFHMDF POS=(Renglon,columna),LENGTH=nmero, INITIAL=texto,OCCURSS=(nmero), ATTRB=(atributo1, atributo2,...), COLOR=color, HILIGHT=REVERSE Ejemplo: crear las macros para definicin del mapa de la pantalla de men del ejemplo. (Pg. 37)
PRINT NOGEN *------------------------* DESCRIPCION DEL MAPSET *------------------------BE00MS DFHMSD TYPE=&SYSPARM,MODE=INOUT,LANG=COBOL,TERM=3270, STORAGE=AUTO,CTRL=(FREEKB,FRSET),TIOAPFX=YES,EXTATT=YES *---------------------35

MANUAL DE CICS * DESCRIPCION DEL MAPA *---------------------BE00M01 DFHMDI LINE=01,COLUMN=01,SIZE=(24,80) *-----------------------------------* DESCRIPCION DE LOS CAMPOS DEL MAPA *-----------------------------------DFHMDF POS=(01,30),LENGTH=17,ATTRB=ASKIP, COLOR=WHITE, HILIGHT=REVERSE, INITIAL='MENU DE OPCIONES' DFHMDF POS=(01,48),LENGTH=01,ATTRB=ASKIP DFHMDF POS=(02,01),LENGTH=08,ATTRB=ASKIP, COLOR=YELLOW, INITIAL='FECHA : ' FECHA DFHMDF POS=(02,08),LENGTH=10,ATTRB=ASKIP, COLOR=WHITE DFHMDF POS=(02,19),LENGTH=01,ATTRB=ASKIP DFHMDF POS=(02,61),LENGTH=07,ATTRB=ASKIP, COLOR=YELLOW, INITIAL='HORA : ' HORA DFHMDF POS=(02,70),LENGTH=08,ATTRB=ASKIP,COLOR=WHITE DFHMDF POS=(05,25),LENGTH=12,ATTRB=ASKIP,COLOR=TURQUOISE INITIAL='<1> CONSULTA' DFHMDF POS=(07,25),LENGTH=08,ATTRB=ASKIP,COLOR=TURQUOISE, INITIAL='<2> BAJA' DFHMDF POS=(09,25),LENGTH=08,ATTRB=ASKIP,COLOR=TURQUOISE, INITIAL='<3> ALTA' DFHMDF POS=(11,25),LENGTH=10,ATTRB=ASKIP,COLOR=TURQUOISE, INITIAL='4. CAMBIO' DFHMDF POS=(10,30),LENGTH=06,ATTRB=ASKIP,COLOR=GREEN, INITIAL='OPCION ' OPCION DFHMDF POS=(10,37),LENGTH=01,ATTRB=(IC,NUM,FSET) DFHMDF POS=(10,39),LENGTH=01,ATTRB=ASKIP DFHMDF POS=(12,05),LENGTH=11,ATTRB=ASKIP,COLOR=GREEN, INITIAL='<Esc> Terminar <Enter> Acepta Opcin ' * TERMINA DESCRIPCION DEL MAPSET DFHMSD TYPE=FINAL END

X X X X X X X X X X X X X X

Macro DFHMDI de BMS


Nombre de Mapa DFHMDI SIZE=(Renglon,Columna), CTRL=(Control1,Control2...) -

En el ejemplo anterior vemos no solamente la descripcin de los campos con sus DFHMDF sino que tambin se puede observar la definicin del mapa con la macro DFHMDI La macro DFHMDI se usa para definir mapas dentro de un MAPSET. Los elementos dentro de esta macro son:

36

MANUAL DE CICS

Nombre de mapa Este es el nombre del mapa que se utilizara cuando se ejecute un comando CICS para enviar o recibir un mapa, como los nombres de campo, debe empezar con letra y no ser mayor de 7 caracteres. DFHMDI Este es el identificador de la macro, es obligatorio e indica que se va a empezar un nuevo mapa. SIZE=(Renglon,Columna) Este parmetro indica el tamao del mapa, el BMS permite que una pantalla pueda estar formada de varios mapas, y cada mapa puede ser de diferente tamao, en este caso el mapa es del tamao de la pantalla estndar (24 Renglones, 80 columnas). CTRL=(Control1,Control2,...) Este es el parmetro de control de la pantalla y el teclado que se va a enviar junto con los datos del mapa, puede ser cualquier combinacin de lo siguientes: PRINT Especifica que el mapa puede enviarse a una impresora, esto es, si se piensa que es necesario enviar los datos para impresin, se usa PRINT. FREEKB (Libera el teclado). El teclado se bloquea automticamente tan pronto como el usuario enva datos al procesador, permanece bloqueado hasta que alguna transaccin lo libera o hasta que el usuario oprime la tecla <RESET>. Generalmente se especifica FREEKB para mantener liberado el teclado. Este parmetro hace que suene la alarma audible de la terminal.(Este parmetro solo funciona en caso de que la terminal tenga alarma audible, en otro caso, se ignora).

ALARM

Nombre de mapset DFHMSD TYPE=Tipo,MODE=Modo,LANG=COBOL,STORAGE=AUTO, TIOAFPX=YES,CTRL=(Control1,Control2)

Macro DFHMSD de BMS

Un MAPSET puede contener varios mapas y al ensamblarse, se generan varios MAPAS SIMBOLICOS , Uno por cada mapa declarado, aunque en nuestro caso,
37

MANUAL DE CICS

nuestro MAPSET contiene un solo mapa. Para definir un MAPSET, se usa la macro DFHMSD: Nombre de mapset Este es el nombre del conjunto de mapas, se manejara dentro del programa para indicar de donde provienen los mapas que se utilizaran, deber estar declarado en la definicin de recursos del sistema, y el nombre del mapset deber empezar con letra y tener de 1 a 7 caracteres de longitud. DFHMSD Este es el identificador de la Macro, indica que empieza la definicin de un Mapset. TYPE=tipo TYPE gobierna el resultado del proceso de ensamble, que produce un mapa fisico o un mapa simblico segn el tipo indicado, primero se ensambla con TYPE=MAP, y se produce un mapa fisico que CICS usa en el proceso, despus se ensambla con TYPE=DSECT, y se produce un mapa simblico en lenguaje COBOL que se almacena en la biblioteca de COPY para incluirlo en el programa de aplicacin con una orden COPY. MODE=modo El modo indica si el mapa se usara nicamente para entrada MODE=IN, nicamente para salida MODE=OUT, o para ambas MODE=INOUT. LANG=COBOL Indica el lenguaje de la estructura del mapa simblico (DSECT Structure) que se copiara en el programa de aplicacin, en este caso, COBOL. STORAGE=AUTO Se usa para impedir que las definiciones del mapa simblico se encimen una sobre otra con redefiniciones del primer mapa, si se van a usar varios mapas al mismo tiempo dentro de un programa de aplicacin, se omite STORAGE=AUTO. CTRL=(Control1,Control2,...) Este parmetro tiene el mismo significado que en la macro DFHMDI, la diferencia es que si se pone en la DFHMSD afecta a todos los mapas del Mapset que no tengan CTRL en su propia DFHMDI. TIOAPFX=YES Este parmetro se usa siempre en programas, y genera los doce primeros caracteres de control del mapa simblico. DFHMSD TYPE=FINAL END Para terminar la definicin de un MAPSET, se usa DFHMSD seguida de la instruccin de ensamblador END.

38

MANUAL DE CICS

Diseo de una aplicacin en CICS


La primera etapa en el diseo de una aplicacin, es describir de una manera sistemtica las operaciones que deber ejecutar esta.

Por ejemplo: Exhibir un registro de empleado, dado su numero de empleado Aumentar nuevos registros de empleado. Modificacin de registros ya existentes (Localizados por numero de empleado). Eliminar registros de empleado (Localizados por numero de empleado). Las transacciones se ejecutaran por medio de terminales tpicas (3270) y se tomara en consideracin el hecho de que varias veces, distintas terminales intentaran tener acceso a los recursos del sistema y sus datos. DISEO DE LA INTERFACE CON EL USUARIO Para definir la comunicacin con el usuario, observemos la transaccin que el usuario desea ejecutar, y determinar que es lo que se debe presentar en la pantalla, mientras se efecta la transaccin. Antes de ejecutar alguna de las transacciones definidas, seria conveniente presentar un men para que el operador de la terminal pueda seleccionar la transaccin que desea llevar a cabo, entonces necesitamos decidir: Como presentar las opciones ante el operador Como seleccionara este alguna de las opciones Cual es el resultado de la seleccin Que hacer si el usuario comente algn error.

La presentacin de las opciones es muy sencilla, pues solo requiere exhibir en la pantalla los nombres de las transacciones y una letra o numero de acceso para cada una de ellas. El operador necesita meter muy poca informacin para seleccionar una opcin de un men, en este caso nicamente la identificacin de la transaccin que puede ser una letra o un numero. El resultado de la seleccin ser la ejecucin de la transaccin solicitada SELECCIN DEL LENGUAJE DE PROGRAMACION. Existe la posibilidad de utilizar diferentes lenguajes para programar la aplicacin, pues CICS puede manejarse desde diferentes plataformas, los lenguajes ms usuales son COBOL, PLI, C.
39

MANUAL DE CICS

En nuestro caso, utilizaremos el COBOL, debido a su capacidad de manejar archivos, tablas de DB2, y estructuras de datos.

Diseo de una aplicacin en CICS


Imaginemos que el usuario desea consultar el registro de un empleado; para esto: Enciende la terminal. Se identifica ante el sistema (SIGN ON). Limpia la pantalla (CLEAR). Teclea el nombre de la transaccin de men, que podra ser BE00. BE00 es, en este caso, el identificador de la transaccin que necesita el CICS para determinar que programa debe correr. Oprime la tecla enviar, y el CICS ejecuta la transaccin de MENU. TRANSACCION DE MENU Para hacer la pantalla sencilla de entender para el usuario, debemos indicarle el significado de cada campo: por ejemplo:

MENU DE OPCIONES Fecha 25/05/2000 Hora 12:00 <1> <2> <3> <4> Opcin _ <Esc> Terminar <Enter> Acepta Opcin CONSULTA BAJAS ALTAS MODIFICACIONES

Si la solicitud no es correcta, debemos poner un mensaje que se lo indique al usuario.


40

MANUAL DE CICS

En realidad, en el caso de la transaccin de men, pocas cosa pueden fallar de todas maneras, debemos considerar el caso de que ocurra algn error, por ejemplo, que el usuario indique una opcin no prevista, o que el operador no tenga la autoridad suficiente para ejecutar alguna transaccin.

Diseo de una aplicacin en CICS


TRANSACCION DE CONSULTA
La transaccin de consulta, por su parte, debe dar oportunidad al usuario de teclear l numero de clave del empleado, si es una clave aceptable, buscar en el archivo de empleados la clave correspondiente, si existen datos para esta clave, exhibirlos en la pantalla y, dar oportunidad de solicitar otra consulta.

CONSULTA DE EMPLEADOS Fecha 25/05/2000 Hora 12:00 EMPNO ______ FIRSTNAME INITIAL BIRTHDATE PHONE ________ _ _______ ____ LASTNAME _________ SEX _ HIREDATE _________ JOBCODE ____

SALARY ______ <Esc> Terminar <Enter> Hacer consulta <PF3> Ir al men <PF4> Otra consulta

En este caso, adicionalmente a la validacin de entrada, se debe considerar el caso de que la clave consultada no exista en el archivo de empleados, para indicrselo as al operador.

41

MANUAL DE CICS

Diseo de una aplicacin en CICS


TRANSACCION DE ALTAS La transaccin de altas debe presentar una pantalla capaz de recibir los datos de un empleado nuevo, a continuacin validar que la informacin tecleada sea correcta, y posteriormente enviarla al archivo de empleados como un nuevo registro.

ALTA DE EMPLEADOS Fecha 26/05/2000 Hora 12:00 EMPNO ______ FIRSTNAME INITIAL BIRTHDATE PHONE ________ _ _______ ____ LASTNAME _________ SEX _ HIREDATE _________ JOBCODE ____

SALARY ______ <Enter> Valida datos <PF3> Ir al men <PF4> Otra Alta <PF5> Confirma alta

Aqu en caso necesario, se debe indicar al operador que la clave de empleado debe ser un numero mayor que cero, que ningn campo debe estar vaco, que las fechas contengan informacin valida, que el campo de sexo sea M o F, que el
42

MANUAL DE CICS

salario no sea 0 o mayor de 99999, es decir, se requiere validar los datos, para eso se asigna una tecla especial (Enter).

Diseo de una aplicacin en CICS


TRANSACCION DE CAMBIOS La transaccin de cambios, debe permitir al usuario, teclear la clave del empleado, en caso de que sea una clave aceptable, buscarla en el archivo de empleados, si se localizan los datos actuales del empleado, se exhiben en la pantalla para que el usuario pueda modificarlos, una vez modificados, se deben revisar para ver si cumplen con los requisitos de entrada, en caso de que as sea, se informa al usuario que puede enviar los datos modificados al archivo de empleados.

CAMBIOS AL ARCHIVO DE EMPLEADOS Fecha 26/05/2000 Hora 12:00 EMPNO ______ FIRSTNAME INITIAL BIRTHDATE PHONE ________ _ _______ ____ LASTNAME _________ SEX _ HIREDATE _________ JOBCODE ____

SALARY ______ <Enter> Valida datos <PF3> Ir al men Cambios <PF4> Otro Cambio <PF5> Confirma

43

MANUAL DE CICS

Antes de aceptar un cambio, debe validarse la informacin de la misma manera que se hizo con la transaccin de altas. Los mensajes de error indicaran si la clave no es aceptable, si no existen datos para esa clave en el archivo de empleados, o si se intenta enviar datos que no han sido validados. Al terminar, debe indicarse al usuario si los cambios se efectuaron o no correctamente.

Diseo de una aplicacin en CICS


TRANSACCION DE BAJAS La transaccin de bajas debe solicitar la clave del empleado que se va a dar de baja, validar el dato, solicitar la informacin al archivo de empleados, exhibirla, solicitar la confirmacin de la baja, y ejecutarla en el caso indicado.

BAJAS DEL ARCHIVO DE EMPLEADOS Fecha 26/05/2000 Hora 12:00 EMPNO ______ FIRSTNAME INITIAL BIRTHDATE PHONE ________ _ _______ ____ LASTNAME _________ SEX _ HIREDATE _________ JOBCODE ____

SALARY ______ <Enter> Valida datos <PF3> Ir al men <PF4> Otra Baja <PF5> Confirma Baja

44

MANUAL DE CICS

Adicionalmente a los mensajes de error, se debe informar al usuario si la baja se efecto o no correctamente.

PROGRAMACION DE LAS APLICACIONES.


Una vez establecidas las condiciones de diseo, la interface con el usuario, debemos programar la aplicacin usando el lenguaje de programacin, para esto existen dos enfoques de operacin, uno llamado sistema conversacional, donde el programa entra en una conversacin con el usuario, permitiendo el acceso a los recursos del sistema, mientras se ejecuta el proceso, y otro llamado Pseudoconversacional, en el cual, un conjunto de transacciones noconversacionales dan al usuario la apariencia de una sola transaccin conversacional, en este caso, los recursos del sistema se usan brevemente, y despus se liberan mientras el usuario observa sus resultados en la pantalla y decide la siguiente operacin que desea ejecutar. Una aplicacin escrita para CICS no es muy diferente de una aplicacin escrita para BATCH, por ejemplo los pasos tpicos para una aplicacin BATCH Tal como se vieron en los apuntes de COBOL son: 1. Inicializar la corrida completa, poner contadores en cero, abrir los archivos, Leer primera entrada 2. Validar los datos de entrada. 3. Procesar los datos. 4. Imprimir los resultados. Se repite hasta el final de los datos 5. Inicializar para la siguiente entrada. 6. Leer la entrada. 7. Regresar al paso 2, y repetir hasta que se acaben los datos. 8. Terminar, escribir totales, y cerrar archivos. Una aplicacin CICS, por su parte: 1. Recibe pantalla con datos del usuario
45

MANUAL DE CICS

2. 3. 4.

Procesa datos recibidos Enva pantalla con datos procesados al usuario Termina (RETURN) El CICS se encarga de repetir la transaccin cuando ocurra otra comunicacin de la terminal. El CICS transfiere el control a otro programa El CICS da por terminada la transaccin

Observe que: En una transaccin Pseudoconversacional, el programa ocupa brevemente los recursos del sistema, despus termina El CICS se encarga de posteriormente de continuar o terminar el proceso, segn las opciones de RETURN

Se reciben en un campo numrico PIC S9(08) COMP

Cdigos de retorno en EIBRESP


DESCRIPCION
Ejecucin correcta de la operacin Error sin clasificacin. El operador oprimi tecla ATTN en lugar de RETURN o RECEIVE Operador Interrumpi SEND MAP oprimiendo tecla ATTN . En RECEIVE y terminal 3735 fin archivo. En RECEIVE MAP no se reciben datos. En RECEIVE MAP se recibe End Of Chain. Se recibi Function Management Header. Se recibi End Of Input Indicator Nombre de Programa no es Valido. No Inicializa el Programa de Aplicacin. Nombre de Terminal no Existe en TCT. El Archivo no Existe en la FCT(RESP2=01) No existe el Registro (RESP2=80) READ, DELETE, STARTBR El Registro ya Existe(WRITE,REWRITE). Varios Registros con la Misma Clave(READ) REWRITE sin READ UPDATE 0- READ No esta de acuerdo a FCT Error de Hardware (Daado el disco) No hay Espacio en Disco para Nuevos Registros. Archivo Ocupado Por otra Transaccin. o cerrado Fin de Archivo (READNEXT,READPREV). Error no Catalogado Ver RESP2 Pg. 311. Longitud de Registro Diferente de LENGTH. La QUEUE esta Vaca (READQ TD). Entrada de Control SIGNAL. La QUEUE esta ocupada por otro TASK.
46

N
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

CONDITION
NORMAL ERROR RDATT WRBRK EOF EODS EOC INBFMH ENDINPT NONVAL NOSTART TERMIDERR FILENOTFOUND NOTFND DUPREC DUPKEY INVREQ IOERR NOSPACE NOTOPEN ENDFILE ILLOGIC LENGERR QZERO SIGNAL QBUSY

MANUAL DE CICS

26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 69 70 72 81 82 84 87 94

ITEMERR PGMIDERR TRANSIDERR ENDDATA INVTSREQ EXPIRED RETPAGE RTEFAIL RTESOME TSIOERR MAPFAIL INVERRTERM INVMPSZ IGREQID OVERFLOW INVLDC NOSTG JIDERR QIDERR NOJBUFSP DSSTAT SELNERR FUNCERR UNEXPIN NOPASSBKRD NOPASSBKWR SYSIDERR ISCINVREQ ENQBUSY ENVDEFERR IGREQCD SESSIONERR SYSBUSY SESSBUSY NOTALLOC CBIDERR INVEXITREQ INVPARTNSET INVPARTN PARTNFAIL USERIDERR NOTAUTH SUPPRESSED TERMERR ROLLEDBACK DISABLED OPENERR LOADING

Nmero de ITEM no Grabado al (READQ TS,WRITE TS). El Programa o el Mapa no esta Declarado en la PPT. La Transaccin no esta Declarada en la PCT. No hay mas datos para el Task, usando RETRIEVE No se Localiza. Cuando un Comando Termina su duracin, que no se Utiliza. Ocurre Cundo la Opcin SET esta Especificada. Terminal no se encuentra Instalada, usando ROUTE. Terminal no recibe el Mensaje de ROUTE. Error de Entrada/Salida en la TS. Recibe MAPA Vaco (Operador Oprimi Tecla CLEAR) Identificador de Terminal no es Valido en ROUTE. Cuando el MAPA es muy Grande para la Terminal(SEND RECIVE) Cuando REQID de SEND MAP es Diferente del REQID anterior. Los Datos del Mapa no Ajustan en la Pgina (SEND MAP). Es cuando la LDC no esta Incluida en la lista de LDCs. El rea Solicitada es Mayor Que el rea Disponible. S el Identificador de JOURNAL no Existe. La QUEUE no Existe,(READQ TS). Los BUFFER del JOURNAL Estn Llenos. El DESTINATION STATUS ha Cambiado (ISSUE RECEIVE). Error en la Seleccin del DESTID (ISSUE QUERY). Error Durante la Ejecucin de ISSUE QUERY. Error Inesperado en ISSUE QUERY o ISSUE RECEIVE No est presente el PASSBOOK en RECEIVE. No est presente el PASSBOOK en SEND. EL SYSID No est Definido en READ. Falla en el Sistema Remoto RESP2=70 El recurso Solicitado no est Disponible en ENQ. RETRIEVE especifico una opcin que no corresponde a START Se ordeno SEND MAP despus de SIGNAL con CHANGE DIRECTION. Session Invalido en ALLOCATE. No hay SESSION Disponible en ALLOCATE MAPPED. La session no se puede servir Inmediatamente en ALLOCATE. RECEIVE se envi por una Transaccin generada por START PROFILE de ALLOCATE no Existe. No Localizada. La Particin no es Valida en SEND PARTNSET. La Particin no esta Definida en RECEIVE MAP o SEND MAP. Operador insiste en Enviar a una Particin Invalida RECIVE. Usuario Invalido en SIGNON. Usuario No Autorizado a esta Funcin. Usuario no aadi Registro a la Tabla con (WRITE UMT). Error de Terminal. El Programa no Puede Actualizar y hace el ROLLBACK. El Archivo esta Deshabilitado (READ, WRITE). Error cundo se ABRE, CIERRA o se ESRCIBE la Rutina DUMP. La Tabla Solicitada por READ UPDATE se esta Cargando.

47

MANUAL DE CICS

48

S-ar putea să vă placă și