Está en la página 1de 19

CICS

Customer Information Control


System

Nivelacin COBOL/CICS
INTRODUCCION AL CICS - TEMARIO

CONCEPTOS Y FACILIDADES

Estructura del CICS; apreciacin global de los componentes y Tablas de recursos


Concepto de Programacion conversacional y Pseudo Conversacional
El ciclo de un programa Bajo CICS

PREPARACION DE UN PROGRAMA COBOL

Estructura de Comandos de CICS dentro de un programa


Codificacin del programa fuente
Proceso de Compilacin
Alta del Programa en el CICS
Alta de la Transaccin en el CICS
NEW COPY

GENERACION DE MAPAS BMS

Codificacion del Fuente BMS


Proceso de Compilacin
Alta del MAPA en el CICS
NEW COPY

INTRODUCCION AL CICS - 1

CICS
Customer Information Control
System

Nivelacin COBOL/CICS
INTRODUCCION AL CICS - TEMARIO

CONTROL DE PROGRAMAS

COMMAREA
LINK
XCTL
RETURN
START/RETRIEVE
EIB - EXEC INTERFASE BLOCK

MANEJO DE ERRORES DEL PROGRAMA

Testeo de Condiciones de Excepcin en la ejecucin de Comandos CICS


HANDLE CONDITION
RESP
HANDLE AID

COMANDOS PARA ACCESO A DATOS

Obtencion de fecha
Comandos para manejo de Mapas
Acceso a Archivos VSAM
Acceso a TS Temporary Storage
Acceso a TD Transient Data

INTRODUCCION AL CICS - 2

CICS
Customer Information Control
System

Nivelacin COBOL/CICS
INTRODUCCION AL CICS - TEMARIO

UNIDAD LOGICA DE TRABAJO

CONCEPTOS
SYNCPOINT
SYNCPOINT ROLLBACK
ABEND

DEMOSTRACION DE CEDF
DEMOSTRACION DE CEMT CECI CEDA

INTRODUCCION AL CICS - 3

CICS
Customer Information Control
System

Nivelacin COBOL/CICS
CONCEPTOS Y FACILIDADES

CONCEPTOS Y FACILIDADES
Estructura del CICS; apreciacin global de los componentes y Tablas
de recursos
Concepto de Programacion conversacional y Pseudo Conversacional
El ciclo de un programa Bajo CICS

INTRODUCCION AL CICS - 4

CICS

Nivelacin COBOL/CICS

Customer Information Control


System

ESTRUCTURA DEL CICS

El CICS es una aplicacin que nos permite desarrollar TRANSACCIONES ON-Line


en diversos Equipos (Maiframes, PCs. etc-) y en diversas plataformas (MVS, OS/2, NT, Etc.)
Los componentes bsicos para implementar una aplicacin de gestin son:

-Programas: Desarrollados bajo algn lenguaje de programacin (COBOL, ASSEMBLER, PL/I,


Etc.) que una vez compilado para CICS se podr asociar a una Transaccin CICS

-Mapas: Son las pantallas que permiten la interaccin de la aplicacin con el Usuario. Por
medio de estas se le permite el ingreso de datos o efectuar la visualizacin de un resultado

-Transacciones: Son los nombres con los que el CICS reconoce a nuestras aplicaciones. Los
nombres de las transacciones constan de 4 caracteres y son nicas en cada ambiente de CICS.
Cada transaccin puede tener asociado solo un programa.

-Archivos: Las estructuras de archivos que son soportadas por el CICS son VSAM y BDAM,
pero la mejor performance se obtiene con los VSAM.

-Bases de Datos: Existen diveros tipos de Bases de Datos soportadas, DL/I con su estructura
Jerrquica y las Relacionales como el DB2.

-Terminales: Son cualquier dispositivo que pueda conectarse al CICS por medio de un mtodo
de acceso de telecomunicaciones o protocolos. Podemos incluir a Terminales (teclados y
pantallas), Impresoras, y computadoras en general.

INTRODUCCION AL CICS - 5

CICS
Customer Information Control
System

Nivelacin COBOL/CICS
ESTRUCTURA DEL CICS

Para relacionar todos los componenetes basicos de nuestra aplicacin, el CICS usa
tablas internas y que a su vez tambin las utiliza para mantener el control de todos sus recursos
y actividades.
Algunas de las tablas que el CICS utiliza son las siguientes:

-FTC (File Control Table): Todos los archivos que deban ser accedidos por nuestras
aplicaciones debern estar declarados con una entrada en esta tabla. La relacin consiste en el
nombre del DATASET para el CICS que consta de 8(ocho) caracteres y el nombre real o label
que este posee en el disco.
Otros atributos como la longitud de la clave, la longitud del registro y si es fijo o variable y las
acciones que se pueden efectuar sobre el archivo (lectura, grabacin, actualizacin y delete)
tambin estan contenidas en esta tabla, como asi tambien un status sobre si el archivo esta
abierto para el CICS y disponible.

XTAR01U

OPE ENA REA UPD ADD BRO DEL

DMP1.NO.TARIFAS

INTRODUCCION AL CICS - 6

CICS
Customer Information Control
System

Nivelacin COBOL/CICS
ESTRUCTURA DEL CICS

-TCT (Terminal Control Table): Por cada terminal asociada al CICS existe una entrada
(TCTTE) que describe el tipo de dispositivo y su direccin. Contiene tambin un pointer al Buffer
que fue asignado para esa terminal (TIOA Terminal i/o Area). En la tabla TCTTE el CICS
establece una relacin entre la tarea asociada a cada terminal lo que posibilita que ante una
respuesta del usuario sobre una terminal se dispare la transaccion correcta. Esto se lleva a cabo
por un pointer a la TCA Task Control Area y puede leerse desde una aplicacin consultando al
EIB que se ver ms adelante.

ACLI

Ter(S205) Tra(CEMT) Pri( 000 ) Pag Ins Ati Tti

TRANSACCIONES

APR1

TERMINALES

Net(IGKS205 ) Acq

INTRODUCCION AL CICS - 7

CICS
Customer Information Control
System

Nivelacin COBOL/CICS
ESTRUCTURA DEL CICS

-PCT (Program Control Table): Establece la relacion Transaccion/programa. Tiene una


entrada por cada transaccin a invocarse en el ambiente de CICS. Al ser solicitada la ejecucin
de una transaccion, el CICS automticamente le asigna un nmero nico de tarea. Esta
administracin ejercida por el CICS nos permite que una misma transaccin pueda ser invocada
desde una o distintas terminales repetidamente. Las tareas simultaneas compartirn el mismo
cdigo ejecutable, archivos, bases de datos, pero no compartiran las areas de memoria. Una vez
accionada una transaccin el CICS busca el programa asociado en la PCT y lo cargar en
memoria si es la primera vez que es invocado (por consulta a la PPT) y lo asociar a la terminal
que corresponda.

PROGRAMA
ACLI

TERM %001

DACLI01
PROCEDURE

TRANSACCIONES

ACLI

WORKING
TERM %001

TERM %154

WORKING
TERM %154
INTRODUCCION AL CICS - 8

CICS
Customer Information Control
System

Nivelacin COBOL/CICS
ESTRUCTURA DEL CICS

-PPT (Processing Program Table): Tiene una entrada por cada programa y mapa a ser
utilizado. Genera una asociacion programa/ubicacin de memoria en que reside y que se
establece con el manejo de pointers .
Si el programa asociado esta ya en memoria, la PPT proporciona su ubicacin, de lo contrario, lo
carga previamente.
A diferencia de la PCT en esta tabla tambien se incluyen los programas que no seran invocados
por una transaccin (tal el caso de los mapas).

DACLI01
PROGRAMA

TERM %001 Y TERM %154

DACLI01
MODULO
EJECUTABLE

PROGRAMAS

DIRECCION DEL
EJECUTABLE

MACLI01
MAPA

MACLI01
MODULO
EJECUTABLE

TERM %154 Y TERM %001

INTRODUCCION AL CICS - 9

CICS

Nivelacin COBOL/CICS

Customer Information Control

ESTRUCTURA DEL CICS

System

Los System Programmer de CICS son los encargados del mantenimiento de estas
tablas de relaciones entre transacciones/programas/archivos y direcciones de
memoria de los ejecutables y bufferes de terminales.

Terminal
Control
Progrmam

Term Control Table


TCT

Task
Control

Prog Control Table


PCT

Program
Control

ProcProgram Table
PPT

TERMINAL

ARCHIVOS
DATABASES

CICS
CICS
REGION
REGION

LIBRERA DE
PROGRAMAS

Aplication
Program
File
Control

File Control Table


FTC
INTRODUCCION AL CICS - 10

CICS
Customer Information Control
System

Nivelacin COBOL/CICS
PROGRAMACION CONVERSACIONAL

Este metodo de programacin bajo el CICS no es el recomendable, ya que los


recursos quedan tomados hasta la finalizacin de la transaccion y su fin es incierto,
ya que depende en gran medida del tiempo de respuesta del Usuario/Operador.
Enviar
Mapa

Nuestra aplicacin
queda a la espera
que el operador
pulse ENTER / PF /
ATENCION para
recibir el MAPA

Recibir
Mapa

mal Validar
Mapa
bien
Grabar
Archivos

ARCHIVOS
DATABASES

RETURN
INTRODUCCION AL CICS - 11

CICS

Nivelacin COBOL/CICS

Customer Information Control

PROG. PSEUDO-CONVERSACIONAL

System

Este metodo de programacin bajo el CICS es el ms recomendable, ya que los


recursos quedan liberados al momento de terminar nuestra transaccin y sta no
depende del tiempo de respuesta del Usuario/Operador.
A
Ciclo 0

Ciclo 2

Validar
ciclo
Ciclo 1

Enviar
Mapa

Recibir
Mapa

Recibir
Mapa

mal

Establecer
ciclo 1

Validar
Mapa

bien

Enviar
Mapa
Protegido

Grabar
Archivos

Establecer
ciclo 2

RETURN
A

ARCHIVOS
DATABASES

RETURN
INTRODUCCION AL CICS - 12

CICS

Nivelacin COBOL/CICS

Customer Information Control


System

CICLO DE UN PROGRAMA BAJO CICS

La ejecucion de un programa se inicia con el ingreso de una transaccion (por el


operador o por otra transaccion), el CICS determina que programa tiene asociada, lo
busca en la memoria, si no esta cargado lo carga, le entrega el control al programa y
espera a que este le devuelva el control al CICS o a otro programa, pero el ultimo de
la cadena le devolver el control al CICS.

CICS

ACLI
DCLI01
(ACLI)
Enviar
Recibir
Mapa
Actualizar
Archivos
ARCHIVOS
DATABASES

Generar
reporte
Start APR1

Transaccion
ASINCRONICA
DCLIPR
(APR1)

TS

LEER
TS
SEND
TEXT
RETURN

RETURN
INTRODUCCION AL CICS - 13

CICS
Customer Information Control
System

Nivelacin COBOL/CICS
PREPARACION DE UN PROGRAMA COBOL

PREPARACION DE UN PROGRAMA COBOL

Estructura de Comandos de CICS dentro de un programa


Codificacin del programa fuente
Proceso de Compilacin
Alta del Programa en el CICS
Alta de la Transaccin en el CICS
NEW COPY

INTRODUCCION AL CICS - 14

CICS

Nivelacin COBOL/CICS

Customer Information Control

ESTRUCTURA DE COMANDOS CICS

System

Dentro la PROCEDURE DIVISION de un programa COBOL ON-LINE, las


llamadas a las funciones del CICS deberan tener siempre la siguiente estructura:
EXEC CICS
...
SINTAXIS: FUNCION, OPCION, ARGUMENTOS Y PARAMETROS
PROPIOS DEL COMANDO DE CICS
...
END-EXEC.
Al Mantener esta estructura, le estamos indicando al TRANSLATOR
(precompilador de comandos de CICS) donde comienza y termina el comando de
CICS que deber traducir y resolver. Luego de convertido el comando, se entrega al
compilador COBOL un fuente que este comprende.

INTRODUCCION AL CICS - 15

CICS
Customer Information Control
System

Nivelacin COBOL/CICS
ESTRUCTURA DE COMANDOS CICS

El formato en lineas generales de un comando CICS es EXECUTE CICS (o


EXEC CICS) seguido por el nombre de la funcion requerida, y la posibilidad de una o
ms opciones, segn lo siguiente:
EXEC CICS command option(arg).... END-EXEC. Donde:
Command: Describe la operacin requerida (por ejemplo READ).
Option:
Describe cualquiera de las tantas facilidades opcionales disponibles para
cada funcion requerida. Algunas opciones pueden estar seguidas por un argumento
el que va entre parentesis. El orden de los argumentos no es condicionante de error
de sintaxis.
Arg:
(abreviatura de argumento) es un valor tal como un "data-value" o "name.
Un data-value puede ser tanto una variable como una constante. De esta forma un
argumento que envia datos al CICS se denomina data-value, mientras que un
argumento que espera recibir datos del CICS se denomina data-area. Algunos
argumentos descriptos en un comando como data-area pueden cumplir ambas
caractesticas (tal el caso de LENGTH). En tal situacin, deberemos asegurarnos que
la data-area no se encuentre en una parte protegida de la memoria. Si el argumento
hace referencia a nombres externos al programa, este deber estar contenido en una
variable de working o codificarlo entre apstrofos (ws-file) o (XCLI01U).
INTRODUCCION AL CICS - 16

CICS
Customer Information Control
System

Nivelacin COBOL/CICS
ESTRUCTURA DE COMANDOS CICS

Valores posibles para un Arg (argumento) en un programa Cobol:


data-value o data-area podrn ser reemplazados por cualquiera de las
siguientes opciones siempre que su contenido este acorde al tipo de dato esperado
por el comando y podran ser, por ejemplo, correspondientes a alguna de las
siguientes definiciones:
- Halfword binary -- PIC S9(4) COMP
- Fullword binary -- PIC S9(8) COMP
- Character string -- PIC X(n) where "n" is the number of bytes.
Donde el tipo de dato no esta estrictamente especificado, la data-area bien podr
ser un campo elemental o un item de grupo.
Ptr-ref (pointer-ref): nombre de una celda BLL (base locator for linkage)
Ptr-val (pointer-value): nombre de una celda BLL o un rea de datos que contiene el
nombre de la celda BLL
Name: literal que referencia nombres externos al programa o un rea de datos que
contenga un literal. Si es literal debe estar entre apstrofos.
Label: un nombre de prrafo o de SECTION de COBOL (se efectua una derivacin
de control incondicional).
Hhmmss: literal numrico o rea de datos PIC S9(7) PACKED, que contiene la hora
expresada en +0hhmmss.
INTRODUCCION AL CICS - 17

CICS

Nivelacin COBOL/CICS

Customer Information Control

ESTRUCTURA DE COMANDOS CICS

System

Ejemplo de comando READ:


Sintaxis:

COMMAND

ARG
EXEC CICS READ
DATASET (filename)
OPTION [UPDATE]
RIDFIELD (data-area)
[KEYLENGTH(data-value)[GENERIC] ]
[RBA : RRN]
{SET(pointer-ref) : INTO(data-area)}
[LENGTH(data-area)]
[GTEG : EQUAL]
END-EXEC.
WORKING STORAGE SECTION.
77 WS-FILE
77 WS-LEN-CLAVE
77 WS-PTR-REG-CLI
77 WS-LEN-REG-CLI
01 WS-REG-CLI.
05 WS-KEY-CLIENTE
05 WS-RESTO-CLIENTE

PIC
PIC
PIC
PIC

X(08)
S9(9)
S9(9)
S9(9)

(XCLI01U) (WS-FILE)
(WS-KEY-CLIENTE)
(WS-LEN-CLAVE)
(WS-PTR-REG-CLI) (WS-REG-CLI)
(WS-LEN-REG-CLI)

VALUE XCLI01U.
COMP.
POINTER.
COMP.

PIC X(19) VALUE .


PIC X(1001) VALUE .
INTRODUCCION AL CICS - 18

CICS
Customer Information Control
System

Nivelacin COBOL/CICS
FIN DE LA DEMO

MUCHAS GRACIAS POR SU ATENCION


SI ESTUVIERA INTERESADO EN VER UNA DEMO DE ALGUN OTRO
CURSO DE MAINFRAME POR FAVOR DIRIGIRSE A:

ramiro.gonzalez@rgasolutions.com.ar

INTRODUCCION AL CICS - 19