Está en la página 1de 154

ACADEMIA MAINFRAME

CURSO BASICO DE CICS

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Contenido

1) Introduccin a CICS 2) Comunicacin con programas On-Line 3) Mapas 4) Interfaz de Programacin de Alto Nivel (HLPI) 5) Manejo de archivos VSAM 6) Colas TS 7) DB2

1.1) Introduccin 1.2) Conceptos Bsicos 1.3) Funciones que realiza

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

1.1

CICS (Customer Information Control System)


Es un monitor transaccional que gestiona el paso de una transaccin entre etapas subsecuentes y asegura su ejecucin completa. Permite a los programadores : Desarrollar pantallas genricas sin importar la terminal utilizada. Definir las entidades on-line necesarias para las aplicaciones (transacciones, programas, mapas). Realiza el balance de cargas de trabajo al distribuir el procesamiento a lo ancho de una red de computadoras, evitando la sobrecarga de un dispositivo especfico. Permite la distribucin del acceso a las aplicaciones.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

1.1

Comunicacin entre un programa, el CICS y el Sistema Operativo

CICS

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Contenido

1) Introduccin a CICS 2) Comunicacin con programas On-Line

1.1) Introduccin 1.2) Conceptos Bsicos 1.3) Funciones que realiza

3 Interfaz de Programacin de Alto Nivel (HLPI)


4) Mapas 5) Manejo de archivos VSAM 6) Colas TS 7) DB2

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

1.2

Conceptos Bsicos
CICS trabaja bajo una serie de conceptos bsicos los cuales son los siguientes :

Transaccin

Es un cdigo de 4 caracteres que se digita en una terminal bajo el ambiente de CICS. Una transaccin lleva asociada informaciones tales como : Prioridad Plan de acceso a un gestor de base de datos

Tarea

Multitarea

Multiprogramacin

Ejecucin de un programa. Una transaccin se identifica en el sistema con un cdigo alfanumrico, que en el caso del CICS es de una cadena de cuatro caracteres.

Reentrancia

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

1.2

Conceptos Bsicos
CICS trabaja bajo una serie de conceptos bsicos los cuales son los siguientes :

Transaccin

Qu ocurre cuando varios usuarios solicitan ejecutar la misma transaccin? Cmo podra CICS manejar varias peticiones a la vez? CICS puede manejar las mltiples peticiones asignando a cada usuario una tarea, la cual, es una unidad de trabajo a completar. Al procesar varias peticiones, se crea una tarea para cada una de ellas. Una tarea siempre estar en uno de los dos estados siguientes : Activa (en ejecucin) Suspendida (est esperando algo del sistema).

Tarea

Multitarea

Multiprogramacin

Reentrancia

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Panorama General

CICS
Tarea 1 TCA

Memoria de Trabajo Programa Memoria de Trabajo

Tarea 2 TCA

BD

Memoria de Trabajo

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

1.2

Conceptos Bsicos
CICS trabaja bajo una serie de conceptos bsicos los cuales son los siguientes :

Transaccin

Tarea

Es una de las caractersticas del CICS. Significa que se permite que varias tareas se ejecuten simultneamente con tcnicas de tiempo compartido. Cuando existe un nico procesador slo una tarea puede estar ejecutndose realmente en cada momento, aunque al usuario le parecer que se ejecutan varias a la vez. Esto se consigue dividiendo el tiempo de la CPU entre una y otra tarea, y repartiendo el tiempo de proceso entre varios programas. Es lo que se llama Multiprogramacin con tiempo. La autntica multitarea se consigue solamente con procesadores en paralelo (multiproceso).

Multitarea

Multiprogramacin

Reentrancia

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

1.2

Conceptos Bsicos
CICS trabaja bajo una serie de conceptos bsicos los cuales son los siguientes :

Transaccin

Tarea

Un programa debe codificarse de forma que pueda ser compartido por ms de una transaccin a la vez, en este caso, si hay ms de una tarea que est compartiendo el programa, el cdigo deber permanecer siempre inalterable. Este tipo de codificacin, que permite que ms de una tarea comparta un programa, y que no se puede modificar, se conoce como codificacin reentrante. CICS permite compartir la Procedure Division de un programa y que cada tarea acceda a Working-Storage's diferentes, con las mismas definiciones de datos, pero con diferentes contenidos en sus variables.

Multitarea

Multiprogramacin

Reentrancia

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Panorama General

CICS
Tarea 1 TCA

Memoria de Trabajo Programa Memoria de Trabajo

Tarea 2 TCA

BD

Memoria de Trabajo

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Contenido

1) Introduccin a CICS 2) Comunicacin con programas On-Line

1.1) Introduccin 1.2) Conceptos Bsicos 1.3) Funciones que realiza

3) Interfaz de Programacin de Alto Nivel (HLPI)


4) Mapas 5) Manejo de archivos VSAM 6) Colas TS 7) DB2

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

1.3

Funciones que realiza CICS

Arranque y desconexin del sistema

Transferencia de control

C I C S

Acceso a Bases de Datos

Gestin de Errores

Gestin de la Conversacionalidad

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

1.3

Funciones que realiza CICS


Arranque y desconexin del sistema

Transferencia de control

Esta funcin vincula las tareas a realizar al comienzo y final de la sesin del da. Estas tareas son : Abrir y cerrar archivos

Acceso a Bases de Datos

Gestin de Errores Activar y desactivar las lneas de comunicacin Gestin de la Conversacionalidad Es desde CICS donde se abren y cierran los archivos y no desde el cdigo del programa de aplicacin.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

1.3

Funciones que realiza CICS


Arranque y desconexin del sistema

Transferencia de control

CICS gestiona la transferencia del control entre diferentes programas de aplicacin en el entorno online. Por ejemplo : Transferir el control a una rutina.

Acceso a Bases de Datos

Gestin de Errores En un programa online multimodular, las sentencias CALL que transfieren el control son sustituidas automticamente por comandos CICS.

Gestin de la Conversacionalidad

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

1.3

Funciones que realiza CICS


Arranque y desconexin del sistema

Transferencia de control

Acceso a Bases de Datos

En CICS se pueden manipular bases de datos, accediendo a las mismas, ya sea para realizar consultas directas, barrido de las bases de datos, actualizar su contenido, insertar nuevos registros o borrarlos fsicamente.

Gestin de Errores

Gestin de la Conversacionalidad

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Funciones que realiza CICS


Arranque y desconexin del sistema

Transferencia de control

Acceso a Bases de Datos

CICS contiene facilidades para capturar el error producido, terminar la transaccin y permitir que las dems transacciones continen su proceso.
Esto permite al usuario introducir la transaccin de nuevo, sin que afecte a otros usuarios del sistema.

Gestin de Errores

Gestin de la Conversacionalidad

No es prctico que el programa maneje todos los errores condicionales que pueden surgir en un entorno online.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

1.3

Funciones que realiza CICS


Arranque y desconexin del sistema CICS puede permitir a muchos usuarios conectarse y usar el sistema online concurrentemente, pero el sistema tiene una memoria de trabajo limitada. Hay dos tipos de tcnicas de programacin : Gestin de Errores Conversacional Pseudoconversacional Gestin de la Conversacionalidad que afecta cmo el monitor utiliza la memoria principal del sistema.

Transferencia de control

Acceso a Bases de Datos

1/3
Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

1.3

Funciones que realiza CICS


Arranque y desconexin del sistema Programacin conversacional Tcnica que resulta cuando un programa es cargado en memoria y permanece all hasta que el usuario finaliza el trabajo con el programa. El programa no es descargado de la memoria cuando no est activo. Los programas conversacionales pueden ser utilizados en un bajo volumen de situaciones cuando una gestin eficiente de la memoria no es proporcionada.

Transferencia de control

Acceso a Bases de Datos

Gestin de Errores

Gestin de la Conversacionalidad

2/3
Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Panorama General

Ejemplo de programa conversacional.


PROG PRUEBA01 INICIO SEND MAP(MAPA1) RECEIVE MAP(MAPA1) IF USUARIO = OK XCTL PRUEBA02 END-IF MUEVE MSJ ERROR USR GO TO INICIO
Digita tu usuario:

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

1.3

Funciones que realiza CICS


Arranque y desconexin del sistema Programacin Pseudoconversacional El programa no gestiona el envo y recepcin de manera continua, sino que realiza desconexiones cada vez que necesita una respuesta por parte del usuario, suspendiendo temporalmente la ejecucin de la tarea y liberando los recursos utilizados por la misma. Este modo requiere una manera especial de codificacin de los programas de aplicacin. Es necesario establecer una serie de ciclos que permiten a los programas proseguir las tareas a partir del punto en que se realiz la ltima desconexin.

Transferencia de control

Acceso a Bases de Datos

Gestin de Errores

Gestin de la Conversacionalidad

3/3
Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Panorama General

Ejemplo de programa pseudo-conversacional


PROG PRUEBA01

IF CICLO-ENT = 0 SEND MAP(MAPA1) ELSE RECEIVE MAP(MAPA1) IF USUARIO = OK XCTL PROG02 ELSE MOVE USR NOVAL MAP1 SEND MAP(MAP1) END-IF END-IF RETURN PR01

Digita tu usuario:

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

1.3

Principales componentes del CICS

MVS T S O C I C S D B 2

Tablas del CICS

Mdulos de Gestin

Programas de Aplicacin

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Contenido

1) Introduccin a CICS 2) Comunicacin con programas On-Line 3) Mapas 4) Interfaz de Programacin de Alto Nivel (HLPI) 5) Manejo de archivos VSAM 6) Colas TS 7) DB2 2.1) Ciclos 2.2) Areas de Comunicacin 2.3) Link 2.4) XCTL 2.5) Return

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

2.1

Comunicacin con un programa On-Line

Control de Tareas
VSAM

Control de Terminales

Control de Archivos

CICS Control de Programas

Terminal

Bases de datos

Biblioteca de programas

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

2.1

Comunicacin con un programa On-Line


Lgica de un programa CICS (Ciclo 0)

Inicializar mapa Inicio Checar el indicador del Ciclo

Ciclo 0 (if Ciclo-0 true) Principal Proceso Or

Formatear pantalla Enviar Mapa Set Ciclo-1 to true

Ciclo 1 (else if Ciclo-1 true)

Fin

Devolver control a CICS

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

2.1

Comunicacin con un programa On-Line


Lgica de un programa CICS (Ciclo 1)

Inicializar mapa Inicio Checar el indicador del Ciclo

Ciclo 0 (if Ciclo-0 true) Principal Proceso

Formatear pantalla Enviar Mapa Set Ciclo-1 to true

Or

Ciclo 1 (else if Ciclo-1 true)

Recibir Mapa Procesar los datos Formatear respuesta Enviar Mapa

Fin

Devolver control a CICS

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Contenido

1) Introduccin a CICS 2) Comunicacin con programas On-Line 3) Mapas 4) Interfaz de Programacin de Alto Nivel (HLPI) 5) Manejo de archivos VSAM 6) Colas TS 7) DB2 2.1) Ciclos 2.2) Areas de Comunicacin

2.3) Link
2.4) XCTL 2.7) Return

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

2.2

Comunicacin con un programa On-Line


Areas de comunicacin Cuando un programa es descargado de la memoria, los valores de la Working-Storage se pierden, por eso se utiliza el rea de comunicacin para recordar los valores que le permiten pasar datos entre programas. En un programa CICS hay dos reas de comunicacin utilizados para pasar datos entre programas en ejecucin :
DATA DIVISION. WORKING-STORAGE SECTION. . . . 01 WCA-COMMAREA. . . LINKAGE SECTION. 01 DFHCOMMAREA PIC X(200). PROCEDURE DIVISION.

Area de Comunicacin de la Working-Storage Section. Area de Comunicacin de la Linkage Section.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

2.2

Comunicacin con un programa On-Line


Restricciones del compilador de COBOL-CICS No pueden definirse archivos en los programas de aplicacin CICS. En lugar de esto, los archivos se definen en una tabla CICS, la File Control Table (FCT). La ENVIRONMENT DIVISION no puede incluir la INPUT-OUTPUT SECTION. La DATA DIVISION no puede incluir la FILE SECTION. La PROCEDURE DIVISION no puede usar los siguientes verbos de COBOL :

OPEN
WRITE START STOP RUN

CLOSE
REWRITE READ NEXT ACCEPT

READ
DELETE SORT DISPLAY

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

2.2

Comunicacin con un programa On-Line


Mandatos para la comunicacin entre programas

En CICS, cada uno de los mdulos individuales est almacenado como una nica unidad en la biblioteca de programas y el CICS se responsabiliza de la unin de los mdulos en tiempo de ejecucin. De esto se encarga el programa de Control de Programas. Los programas se ejecutan en varios niveles lgicos : Cuando un programa enlaza a otro (LINK), el programa que recibe el control reside en el siguiente nivel lgico inferior. Cuando un programa transfiere el control (XCTL) a otro, el programa que recibe el control reside en el mismo nivel lgico, reemplazado al programa que origin la transferencia. Cuando un programa pide devolver el control, ste es pasado al siguiente nivel lgico superior.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Contenido

1) Introduccin a CICS 2) Comunicacin con programas On-Line 2.1) Ciclos 2.2) Areas de Comunicacin

3) Interfaz de Programacin de Alto Nivel (HLPI)


4) Mapas 5) Manejo de archivos VSAM 6) Colas TS 7) DB2

2.3) Link
2.4) XCTL 2.5) Return

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

2.3

Comunicacin con un programa On-Line


Mandatos para la comunicacin entre programas

LINK El nombre del programa se especifica en la opcin PROGRAM. Debe estar definido en la PPT (Tabla de Programas de Proceso) y los datos a transmitir al programa se incluyen en la COMMAREA, utilizando las variables declaradas en la commarea de la WORKING-STORAGE SECTION.

Formato :

EXEC CICS LINK PROGRAM (nombre del programa) COMMAREA (WCA-COMMAREA) END-EXEC

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Contenido

1) Introduccin a CICS 2) Comunicacin con programas On-Line

2.1) Ciclos
2.2) Areas de Comunicacin 2.3) Link 2.4) XCTL 2.5) Return

3) Interfaz de Programacin de Alto Nivel (HLPI)


4) Mapas 5) Manejo de archivos VSAM 6) Colas TS 7) DB2

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Comunicacin con un programa On-Line


Mandatos para la comunicacin entre programas

XCTL Cede el control a otro programa en el mismo nivel lgico, sin que exista retorno cuando ste termine, por lo que el programa que realiza el XCTL se libera, descargndose de la memoria.

Formato :

EXEC CICS XCTL PROGRAM (nombre del programa) COMMAREA (WCA-COMMAREA) END-EXEC

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Contenido

1) Introduccin a CICS 2) Comunicacin con programas On-Line 2.1) Ciclos 2.2) Areas de Comunicacin 2.3) Link 2.4) XCTL 2.5) Return

3) Interfaz de Programacin de Alto Nivel (HLPI)


4) Mapas 5) Manejo de archivos VSAM 6) Colas TS 7) DB2

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

2.5

Comunicacin con un programa On-Line


Mandatos para la comunicacin entre programas

RETURN Devuelve el control al programa de nivel superior, o al CICS al terminar la tarea. Se pueden especificar dos opciones : Se puede indicar qu transaccin ser ejecutada cuando el siguiente input llegue de la misma terminal. As se produce el modo pseudoconversacional. Se pueden especificar los datos que se van a pasar a la siguiente transaccin.

Formato :

EXEC CICS RETURN TRANSID (nombre de la transaccin) COMMAREA (WCA-COMMAREA) END-EXEC

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

2.5

Comunicacin con un programa On-Line


Mandatos para la comunicacin entre programas

Transaccin XXXX

Nivel superior

4
RETURN XCTL RETURN YYYY

CICS
RETURN

PROG4
RETURN YYYY

PROG1

RETURN XXXX

TCT XXXX PROG1 YYYY PROG4 PCT PROG1 PROG2 PROG3 PROG4

GOBACK

4
PROG2 PROG3
Nivel inferior

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

2.5

Comunicacin con un programa On-Line


Mandatos para la comunicacin entre programas

Transaccin XXXX

Nivel superior

4
RETURN XCTL RETURN YYYY

CICS
RETURN

PROG4
RETURN YYYY

PROG1

RETURN XXXX

TCT XXXX PROG1 YYYY PROG4 PCT PROG1 PROG2 PROG3 PROG4

GOBACK

LINK

GOBACK

PROG2

PROG3
Nivel inferior

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

2.5

Comunicacin con un programa On-Line


Mandatos para la comunicacin entre programas

Transaccin XXXX

Nivel superior

4
RETURN XCTL RETURN YYYY

CICS
RETURN

PROG4
RETURN YYYY

PROG1

RETURN XXXX

RETURN

TCT XXXX PROG1 YYYY PROG4 PCT PROG1 PROG2 PROG3 PROG4

GOBACK

LINK

GOBACK XCTL XCTL PROG1

PROG2

PROG3

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

2.5

Comunicacin con un programa On-Line


Mandatos para la comunicacin entre programas

Transaccin XXXX

Nivel superior

4
RETURN XCTL RETURN YYYY

CICS
RETURN

PROG4
RETURN YYYY

PROG1

RETURN XXXX

RETURN

TCT XXXX PROG1 YYYY PROG4 PCT PROG1 PROG2 PROG3 PROG4

GOBACK

LINK

GOBACK XCTL XCTL PROG1

PROG2

PROG3
RETURN XXXX GOBACK Nivel inferior

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Contenido

1) Introduccin a CICS 2) Comunicacin con programas On-Line 3) Mapas 4) Interfaz de Programacin de Alto Nivel (HLPI) 5) Manejo de archivos VSAM 6) Colas TS 7) DB2 4.1) Bloque de Ejecucin de la Interfaz (EIB) 4.2) Condiciones de Excepcin

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

4.1

Interfaz de Programacin de Alto Nivel (HLPI)


Esta interfase est compuesta de un conjunto de mandatos que se insertan en los programas COBOL cuando se necesita una funcin del CICS. De este modo, en un programa CICS habr Sentencias COBOL y Mandatos CICS.

Bloque EIB

En el traductor de mandatos existen declaraciones que automticamente van a copiar un BLOQUE DE EJECUCIN DE LA INTERFASE (EIB) en la LINKAGE SECTION del programa. Los campos del EIB contienen informacin que puede ser necesaria durante la ejecucin del programa. El programa puede recuperar informacin del EIB usando el campo apropiado, pero no se puede escribir en el bloque. Adems, los nombres de estos campos son palabras reservadas. La informacin suministrada por el bloque EIB es la siguiente :

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

4.1

Interfaz de Programacin de Alto Nivel (HLPI)


Bloque EIB

EIBCALEN

Contiene la longitud del rea de comunicacin (COMMAREA), que ha sido pasada al programa desde el ltimo programa, si no se ha pasado rea de comunicacin, EIBCALEN valdr cero. Esto ocurre la primera vez que un programa ha sido ejecutado.

EIBDATE

La fecha en que fue iniciada la tarea. Es fecha juliana. Su formato es AAAADDD" (PIC S9(7) COMP-3).

EIBFN

Nmero asociado al ltimo comando de CICS ejecutado. EIBFN ocupa 2 bytes y el nmero se guarda en formato binario. Hora con formato "0HHMMSS+". (PIC S9(7) COMP-3). Nombre de la terminal asociada a la tarea. Cdigo de retorno del ltimo comando CICS ejecutado.

EIBTIME EIBTRMID EIBRESP

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

4.1

Interfaz de Programacin de Alto Nivel (HLPI)


Bloque EIB

Guarda la tecla de control utilizada para transmitir la ltima entrada de datos por pantalla. La definicin de las teclas de control se realiza con la copy DFHAID. La lista estndar de dichas teclas es la siguiente :

Nombre Simblico

Funcin

DFHENTER

ENTER

EIBAID
DFHCLEAR CLEAR

DFHPF1

PF1

DFHPF2

PF2

DFHPF3

PF3

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

4.1

Ejemplo de programa: USO DE EIBAID


A200-PROCESS-EIBAID.
EVALUATE EIBAID WHEN DFHCLEAR
PERFORM Z100-CLEAR-SCREEN PERFORM Z400-RETURN-NO-COMMAREA

WHEN DFHENTER
IF COM-COMPANY-NAME NOT = SPACE AND COM-JV-CODE = JVCODEI MOVE WS-BYTE2 TO COM-COMPANY-NAME PERFORM LOAD-COMPANY-NAME ELSE PERFORM B100-PROCESS-RETRIEVE END-IF

WHEN OTHER
PERFORM Z200-DO-NOTHING

END-EVALUATE.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

4.1

Valores de teclas de funcin


01 DFHAID. 02 DFHNULL 02 DFHCLEAR 02 DFHCLRP 02 DFHPEN 02 DFHOPID 02 DFHMSRE 02 DFHSTRF 02 DFHTRIG 02 DFHPA1 02 DFHPA2 02 DFHPA3 02 DFHPF1 02 DFHPF2 02 DFHPF3 02 DFHPF4 02 DFHPF5 02 DFHPF6 02 DFHPF7 PIC X VALUE IS ' PIC X VALUE IS '_'. PIC X VALUE IS ' '. PIC X VALUE IS '='. PIC X VALUE IS 'W'. PIC X VALUE IS 'X'. PIC X VALUE IS 'h'. PIC X VALUE IS '"'. PIC X VALUE IS '%'. PIC X VALUE IS '>'. PIC X VALUE IS ','. PIC X VALUE IS '1'. PIC X VALUE IS '2'. PIC X VALUE IS '3'. PIC X VALUE IS '4'. PIC X VALUE IS '5'. PIC X VALUE IS '6'. PIC X VALUE IS '7'. 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 77 DFHPF7 PIC X VALUE IS '7'. DFHPF8 PIC X VALUE IS '8'. DFHPF9 PIC X VALUE IS '9'. DFHPF10 PIC X VALUE IS ':'. DFHPF11 PIC X VALUE IS '#'. DFHPF12 PIC X VALUE IS '@'. DFHPF13 PIC X VALUE IS 'A'. DFHPF14 PIC X VALUE IS 'B'. DFHPF15 PIC X VALUE IS 'C'. DFHPF16 PIC X VALUE IS 'D'. DFHPF17 PIC X VALUE IS 'E'. DFHPF18 PIC X VALUE IS 'F'. DFHPF19 PIC X VALUE IS 'G'. DFHPF20 PIC X VALUE IS 'H'. DFHPF21 PIC X VALUE IS 'I'. DFHPF22 PIC X VALUE IS ' '. DFHPF23 PIC X VALUE IS '.'. DFHPF24 PIC X VALUE IS '<'. DFHENTER PIC X VALUE QUOTE.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

4.1

Ejemplo de Mapa Fsico

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

4.1

Ejemplo de Mapa Fsico

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

4.1

Ejemplo de Mapa Fsico

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

4.1

Ejemplo de Mapa Fsico

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

4.1

Ejemplo de Mapa Fsico

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

4.1

Ejemplo de Mapa Fsico

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

4.1

Ejemplo de Mapa Lgico

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

4.1

Ejemplo de Mapa Lgico

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

4.1

Ejemplo de Mapa Lgico

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

4.1

Ejemplo de Mapa Lgico

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

4.1

Ejemplo de Mapa Lgico

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

4.1

Ejemplo de Mapa Lgico

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

4.1

Programa ejemplo

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

4.1

Programa ejemplo

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

4.1

Programa ejemplo

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

4.1

Programa ejemplo

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

4.1

Programa ejemplo

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

4.1

Programa ejemplo

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

4.1

Programa ejemplo

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

4.1

Programa ejemplo

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

4.1

Programa ejemplo

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

4.1

Programa ejemplo

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

4.1

Programa ejemplo

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

4.1

Programa ejemplo

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

4.1

Programa ejemplo

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

4.1

Programa ejemplo

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

4.1

Programa ejemplo

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Contenido

1) Introduccin a CICS 2) Comunicacin con programas On-Line 3) Mapas 4) Interfaz de Programacin de Alto Nivel (HLPI) 5) Manejo de archivos VSAM 6) Colas TS 7) DB2 4.1) Bloque de Ejecucin de la Interfaz (EIB) 4.2) Condiciones de Excepcin

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

4.2

Interfaz de Programacin de Alto Nivel (HLPI)


Condiciones de excepcin

CICS
EXEC CICS READNEXT DATASET ('FDATPERS') INTO (DAT-PERSONALES) RIDFLD (DAT-CLAVE) NOHANDLE END-EXEC. IF EIBRESP EQUAL TO DFHRESP(ENDFILE) SET FIN-archivo TO TRUE ELSE IF EIBRESP EQUAL TO DFHRESP(NORMAL) PERFORM 5210-LECTURA-CORRECTA THRU 5210-LECTURA-CORRECTA-EXIT ELSE MOVE CTE-ERR-LEC TO WS-CODE EXEC CICS ABEND ABCODE (WS-CODE) CANCEL END-EXEC END-IF END-IF.

Programa 1

Error

HANDLE CONDITION IGNORE CONDITION NOHANDLE


Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

4.2 *-------------------------------------------------* B) RECEIVE MAP *-------------------------------------------------EXEC CICS HANDLE CONDITION MAPFAIL (ERRX-TERMID-MISSING) ERROR (ERRX-CICS-ERROR) END-EXEC. EXEC CICS RECEIVE MAP ('D0104M1') MAPSET ('D0104M') INTO (D0104M1I) END-EXEC.
*****WRITE EXEC CICS HANDLE CONDITION ERROR (ERRX-CICS-ERROR) END-EXEC. EXEC CICS WRITE FROM (DCSTT) DATASET (DATASET-TERMINAL) RIDFLD (KEY-TERMINAL-TABLE) END-EXEC.

EJEMPLOS DE LA INSTRUCCIN HANDLE CONDITION


STEP-D3-B. **** FORMAT KEY **** MOVE SPACES TO KEY-TERMINAL-TABLE. MOVE CT-TERMINAL TO KEY-TT-PREFX. MOVE MCA-USER-TERM-ID TO KEY-TT-TRMID. EXEC CICS NOTFND ERROR END-EXEC. HANDLE CONDITION (ERRX-NOT-ON-FILE) (ERRX-CICS-ERROR)

EXEC CICS READ UPDATE INTO (DCSTT) DATASET (DATASET-TERMINAL) RIDFLD (KEY-TERMINAL-TABLE) END-EXEC.

A100-RECEIVE-MAP. EXEC CICS IGNORE CONDITION MAPFAIL END-EXEC. EXEC CICS RECEIVE MAP('MAP1') MAPSET('AP000M') END-EXEC.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Contenido

1) Introduccin a CICS 2) Comunicacin con programas On-Line 3) Mapas 4) Interfaz de Programacin de Alto Nivel (HLPI) 5) Manejo de archivos VSAM 6) Colas TS 7) DB2 Introduccin Mapas Fsicos Mapas Simblicos Mandatos para el control de terminales

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

3.1

Basic Mapping Support (BMS)


La utilidad BMS permite realizar y gestionar mapas (pantallas) de CICS. BMS suministra servicios de transformacin de datos para ayudar a preparar las corrientes de salida e interpretar las corrientes de entrada de la red de terminales.

Componentes de las operaciones del BMS La situacin de los campos en la corriente de datos los da el BMS, a travs de las Tablas de Formatos de Datos, llamadas "mapas". Los mapas se crean mediante macros BMS que se codifican en ensamblador y que contienen informacin sobre :

Posiciones de los campos.


Atributos. Datos de cabecera e iniciales.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

3.1

Basic Mapping Support (BMS)


Un mapa BMS est constituido por un conjunto de instrucciones y comandos que dan formato a los campos, tiene dos formas, una denominada MAPA FSICO y otra MAPA SIMBLICO.

Mapa Fsico

Define y da nombre a los campos que se pueden escribir o recibir, desde los terminales. Es codificado por el programador mediante macros de ensamblador.

Mapa Simblico Lgico

Es generado con las mismas macros que el Mapa Fsico con el que est asociado. Suministra los nombres simblicos para los campos definidos en el mapa fsico, que se utilizan en el programa. Es generado al compilar el mapa fsico por el compilador de mapas.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

3.1

Basic Mapping Support (BMS)

Compilacin del MAPA y generacin del COPY.

Mapa Fsico

Mapa Simblico

MSET01 DFHMSD TYPE=MAP, MODE=INOUT, LANG=COBOL MAPA01 DFHMDI SIZE=(24,80) DFHMDF POS=(1,1), LENGTH=8, INITIAL=Nombre : NAME DFHMDF POS=(1,10), LENGTH=20 DFHMDF POS=(1,21), ATTRB=ASKIP DFHMSD TYPE=FINAL END

01 MAPA01I. 02 FILLER PIC X(12). 02 NAMEL PIC S9(4) COMP. 02 NAMEF PIC X. 02 NAMEA PIC X. 02 NAMEI PIC X(20). 01 MAPA01O REDEFINES MAPA01I. 02 FILLER PIC X(12). 02 NAMEO PIC X(20).

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Contenido

1) Introduccin a CICS 2) Comunicacin con programas On-Line 3) Mapas 4) Interfaz de Programacin de Alto Nivel (HLPI) 5) Manejo de archivos VSAM 6) Colas TS 7) DB2 1) Introduccin 2) Mapas Fsicos

3) Mapas Simblicos
4) Mandatos para el control de terminales

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

3.2

Basic Mapping Support (BMS)


Macros para la generacin de Mapas Fsicos - DFHMSD

DFHMSD XXXX=YYYY

Un MAPSET, es un conjunto de uno ms mapas que el CICS considera como una unidad de gestin, en esta macro se define tanto el nombre del mapa como los siguientes parmetros :

Ejemplo :
MAPSET DFHMSD TYPE=MAP, MODE=INOUT, LANG=COBOL

mapset TYPE MODE LANG

Se declara el nombre del mapa, el cual es obligatorio, debe ser nico y tener de 1 a 7 caracteres. En esta parte se especifica que se trata de un mapa. Indica si es un mapa de in, out o inout. Especifica el lenguaje en el que se quiere que se genere la COPY del mapa simblico.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

3.2

Basic Mapping Support (BMS)


Macros para la generacin de Mapas Fsicos - DFHMSD

DFHMSD XXXX=YYYY

Indica que ya no siguen ms elementos en la definicin del mapa.

Ejemplo :

DFHMSD TYPE=FINAL END

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

3.2

Basic Mapping Support (BMS)


Macros para la generacin de Mapas Fsicos - DFHMDI

DFHMDI XXXX=YYYY

En esta macro da el nombre del mapa simblico, as como sus caractersticas como son : Tamao Posicin Valores por defecto para este mapa Normalmente se definir la pantalla completa (24 x 80) comenzando en la lnea 1 columna 1.
SIZE LINE COLUMN Dimensin del mapa en longitud y anchura. Lnea en la que comenzar el mapa. Columna en la que comenzar el mapa.

Ejemplo :
MAP DFHMDI SIZE=(24,80) LINE=1, COLUMN=1

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

3.2

Basic Mapping Support (BMS)


Macros para la generacin de Mapas Fsicos - DFHMDF

DFHMDF XXXX=YYYY
Ejemplo : DFHMDF POS=(10,30)

En esta macro se definen los campos referenciables y no referenciables en el programa, as como su posicin, longitud, atributos, etc. en el terminal. Para cada definicin de campo se necesita una macro DFHMDF. Un campo referenciable permitir al programa enviar o recibir datos desde/hacia ese campo. En ese caso la macro DFHMDF debe tener un nombre asociado, el cual ser el nombre de ese campo. Debe haber una definicin para cada campo a manejar en la pantalla, slo es necesario el nombre del campo si va a ser referenciado desde el programa.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

3.2

Basic Mapping Support (BMS)


Macros para la generacin de Mapas Fsicos - DFHMDF DFHMDF XXXX=YYYY Parmetros

POS

Especifica la posicin de una variable o literal en pantalla. Se usa para especificar la longitud de un campo. Pone el cursor en la primera posicin del campo. Establece el contenido inicial de este campo.

LENGHT

IC

INITIAL

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

3.2

Basic Mapping Support (BMS)


Macros para la generacin de Mapas Fsicos - DFHMDF

DFHMDF XXXX=YYYY

Parmetros Continuacin
ATTRB Define las caractersticas del campo respecto a proteccin, contenido, luminosidad, insercin del cursor, o campo modificado.

ASKIP PROT UNPROT

Salto al siguiente campo. Protegido.

Desprotegido.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

3.2

Ejemplo de Mapa Fsico

Variable Constante Variable

Constante

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

3.2

Ejemplo de Cdigo del Mapset

MFECHA

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Contenido

1) Introduccin a CICS 2) Comunicacin con programas On-Line 3) Mapas 4) Interfaz de Programacin de Alto Nivel (HLPI) 5) Manejo de archivos VSAM 6) Colas TS 7) DB2 3.1) Introduccin 3.2) Mapas Fsicos

3.3) Mapas Simblicos


3.4) Mandatos para el control de terminales

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

3.3

Basic Mapping Support (BMS)


Macros para la generacin de Mapas Simblicos

Compilacin y generacin del COPY

Area de Entrada MAP Area de Salida

MAPI

MAPO

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

3.3

Basic Mapping Support (BMS)


Macros para la generacin de Mapas Simblicos

Compilacin y generacin del COPY


L (longitud) Sirve para posicionar el cursor en un campo especfico.

F (flag)

Indica si el campo ha sido modificado.

I (input)

Contiene el dato introducido por el usuario y recibido por el programa.

A (atributo)

Modifica desde el programa los atributos de los campos.

O (output)

Contiene el dato procesado por el programa y que el BMS va a enviar al terminal.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

3.3

FALTA EJEMPLO DE MAPA SIMBOLICO

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Contenido

1) Introduccin a CICS 2) Comunicacin con programas On-Line 3) Mapas 4) Interfaz de Programacin de Alto Nivel (HLPI) 5) Manejo de archivos VSAM 6) Colas TS 7) DB2 3.1) Introduccin 3.2) Mapas Fsicos

3.3) Mapas Simblicos


3.4) Mandatos para el control de terminales

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

3.4

Basic Mapping Support (BMS)


Mandatos para el Control de Terminales Los mandatos de control de terminales permiten invocar desde el programa COBOL al BMS para enviar y recibir mapas. Por tanto, estos mandatos permiten comunicar directamente al usuario con el programa. SEND MAP Se utiliza para suministrar la transformacin de datos de salida hacia la terminal. La sintaxis es :

EXEC CICS SEND MAP (Nombre del mapa) MAPSET (Nombre del MAPSET) FROM (Area de datos OUTPUT del mapa simblico) END-EXEC.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

3.4

Basic Mapping Support (BMS)


Mandatos para el Control de Terminales RECEIVE MAP Recibe una entrada de una terminal. Se usa para transformar datos en un rea definida por el programa. Una vez transformados se pueden referenciar los campos mediante los especificados en la macro.

LA CONDICIN MAPFAIL La condicin de MAPFAIL se produce si los datos recibidos no estn formateados o si el usuario no introdujo ningn dato antes de pulsar una tecla de funcin.

EXEC CICS RECEIVE MAP (Nombre del mapa) MAPSET (Nombre del MAPSET) INTO (Area de datos INPUT del mapa simblico) END-EXEC.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

3.4

EJEMPLO DE LAS INSTRUCCIONES SEND Y RECEIVE


****************************************************** PROCEDURE DIVISION. ******************************************************

A000-MAIN.
IF EIBCALEN > 0 MOVE DFHCOMMAREA TO COM-AREA

PERFORM A100-RECEIVE-MAP
PERFORM A200-PROCESS-EIBAID ELSE MOVE LOW-VALUES TO MAP1I MOVE -1 TO JVCODEL MOVE 'PLEASE ENTER A JV CODE' TO MSGO END-IF.

A200-PROCESS-EIBAID. EVALUATE EIBAID WHEN DFHCLEAR PERFORM Z100-CLEAR-SCREEN PERFORM Z400-RETURN-NO-COMMAREA WHEN DFHENTER * IF CNAMEI NOT = COM-COMPANY-NAME * AND COM-COMPANY-NAME NOT = SPACE IF COM-COMPANY-NAME NOT = SPACE AND COM-JV-CODE = JVCODEI MOVE CNAMEI TO COM-COMPANY-NAME PERFORM GET-COMPANY-LENGTH VARYING SUB FROM 60 BY -1 UNTIL COM-COMPANY-NAME-X(SUB) > SPACES MOVE SUB TO CNAMEL MOVE 14 TO WS-SOSI-NAME ELSE PERFORM B100-PROCESS-RETRIEVE END-IF WHEN OTHER PERFORM Z200-DO-NOTHING END-EVALUATE.

PERFORM A300-SEND-MAP.
PERFORM Z300-RETURN-TRANSID.

A100-RECEIVE-MAP. EXEC CICS IGNORE CONDITION MAPFAIL END-EXEC. EXEC CICS RECEIVE MAP('MAP1') MAPSET('AP000M) END-EXEC.

A300-SEND-MAP. EXEC CICS SEND MAP('MAP1') FROM(MAP1I) MAPSET('AP000M') ERASE CURSOR END-EXEC.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Contenido

1) Introduccin a CICS 2) Comunicacin con programas On-Line 3) Mapas 4) Interfaz de Programacin de Alto Nivel (HLPI) 5) Manejo de archivos VSAM 6) Colas TS 7) DB2

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

5.0

Control de archivos VSAM


Las peticiones de registros de datos de un archivo o conjunto de datos desde un programa son tratados siempre por el CICS. Las caractersticas de los archivos o conjuntos de datos se describen en la Tabla de Control de archivos, por lo que el programa lo nico que necesita es pedir un registro de un determinado archivo. Las facilidades que proporciona el Control de archivos para una Aplicacin son :

Control de archivos

Lecturas al azar

Accesos secuenciales

Actualizar registros

Aadir registros

Borrar registros

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

5.0

Control de archivos VSAM (READ)


CICS proporciona los comandos Input/Output, READ y WRITE para el acceso a archivos.

Estos se diferencian de los verbos COBOL en que es el propio CICS quien interacta con los archivos.
Como parte del comando READ, CICS busca, localiza y deposita el registro buscado en el Record Layout de la Working Storage Section.
DATASET Identifica el nombre del archivo definido en la FCT.

INTO

Identifica la variable de la Working Storage Section que contiene el layout del registro.

EXEC CICS READ

RIDFLD (WS-RECORD) (WS-CLAVE)

Identifica el campo clave, en la descripcin del registro, dentro de la Working Storage Section.

DATASET (Nombre Archivo)


INTO RIDFLD option... END-EXEC. EQUAL (trae el registro que sea igual al especificado). GTEQ (trae el primer registro cuya clave sea => a la especificada). Option UPDATE (queda bloqueado el registro para ser actualizado).

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Panorama General

Ejemplo de programa: Lectura de VSAM


PROG PRUEBA01 RUT-LEE-VSAM. EXEC CICS HANDLE CONDITION NOTFND (ERRX-NOT-ON-FILE) ERROR (ERRX-CICS-ERROR) END-EXEC.

TABLA DE CICS FCT FILEVSAM ARCHIVO2 SO1.FILEVSAM.CICS SO2.ARCHIVO2.CICS

MOVE 65 TO LTH EXEC CICS READ DATASET (FILEVSAM) LENGTH (LTH) RIDFLD (VSAM-LLAVE) INTO (WS-AREA-READ) END-EXEC. ERRX-NOT-ON-FILE. MOVE LOW-VALUES TO D0104M1O. MOVE -1 TO M1TERML. MOVE 'F00001' TO MCAETMSG. PERFORM ERRX-FILE-ERROR-MSG THRU ERRX-FILE-ERROR-MSG-EXIT. GO TO ERRX-RESEND-MAP1.

FILEVSAM
AMBIENTE TSO SO1.FILEVSAM.CICS SO1.ARCH.EMPL.NEW SO1.ARCHIVO2.CICS

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

5.0

Control de archivos VSAM (REWRITE, WRITE y DELETE)

EXEC CICS REWRITE DATASET (Nombre Archivo) FROM END-EXEC. (WS-RECORD)

Este comando actualiza el registro que se acaba de leer. Slo se puede ejecutar si previamente se ha ejecutado el comando READ con la opcin UPDATE.

EXEC CICS WRITE DATASET (Nombre Archivo) FROM RIDFLD END-EXEC. (WS-RECORD) (WS-CLAVE)

Este comando aade un nuevo registro al archivo VSAM.

EXEC CICS DELETE DATASET (Nombre Archivo) RIDFLD END-EXEC. (WS-CLAVE)

Este comando borra un registro del archivo VSAM.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

5.0

Browsing en archivos VSAM


Operaciones Browsing en archivos VSAM El trmino browsing se utiliza para referirse a una bsqueda secuencial de registros iniciada a partir de un punto concreto. Para comenzar el proceso, primero debe realizarse un posicionamiento en un registro en especfico y a continuacin realizar la lectura secuencial del archivo. Para realizar el proceso se debe suministrar una serie de mandatos caractersticos del browsing que configuran tres etapas : Establecimiento del entorno browsing (STARTBR) Recuperacin de un registro (READNEXT) Final del Browsing (ENDBR)

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

5.0

Comandos Browsing en archivos VSAM (SRTARTBR, READNEXT, ENDBR)

EXEC CICS STARTBR DATASET (Nombre Archivo) RIDFLD GTEQ NOHANDLE END-EXEC. EXEC CICS READNEXT DATASET (Nombre Archivo) INTO RIDFLD END-EXEC. (WS-RECORD) (WS-CLAVE) (WS-CLAVE)

Indica al CICS el registro desde el que se desea comenzar a leer en el archivo. GTEQ, Significa que se desea obtener el primer registro cuya clave sea mayor o igual que la especificada. READNEXT, obtiene el primer y los sucesivos registros siguientes de browse, es decir, en orden secuencial ascendente. READPREV, obtiene el primer y los anteriores registros browse, es decir, en orden secuencial descendente. Este mandato finaliza un browsing liberando todos los recursos que el CICS asoci al mismo. Un browsing retiene muchos recursos del sistema, es importante liberar estos recursos cuanto antes.

NOHANDLE

EXEC CICS ENDBR DATASET (Nombre Archivo) NOHANDLE END-EXEC.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

5.0

Ejemplo de Sintaxis
P005-READNEXT. EXEC CICS READNEXT INTO (APREM-REC) LENGTH (APREM-LEN) RIDFLD (APREM-KEY) DATASET ('APREM') KEYLENGTH (40) END-EXEC.

P004-STARTBR. EXEC CICS HANDLE CONDITION NOTFND (P010-ENDBR) NOTOPEN (P999-NOTOPEN) ERROR (P008-EMPTY-FILE) ENDFILE (P009-ENDFILE) END-EXEC.

EXEC CICS STARTBR DATASET ('APREM') KEYLENGTH (40) RIDFLD (APREM-KEY) GTEQ END-EXEC. MOVE LOW-VALUES TO MAP-TABLE-IN.

P006-READPREV. EXEC CICS READPREV INTO (APREM-REC) RIDFLD (APREM-KEY) LENGTH (APREM-LEN) DATASET ('APREM') KEYLENGTH (40) END-EXEC. IF APREM-KEY-TYPE = 'P' GO TO P009-ENDFILE. P010-ENDBR. EXEC CICS ENDBR DATASET ('APREM') END-EXEC.

EXEC CICS HANDLE CONDITION NOTFND (P010-ENDBR) ENDFILE (P009-ENDFILE) END-EXEC. IF EIBAID = DFHPF3 OR DFHPF15 SET MAP-IDX TO 20 GO TO P006-READPREV.

GO TO P007-DISPLAY.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Contenido

1) Introduccin a CICS 2) Comunicacin con programas On-Line 3) Mapas 4) Interfaz de Programacin de Alto Nivel (HLPI) 5) Manejo de archivos VSAM 6) Colas TS 7) DB2

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

6.0

Colas TS (Gestin de Memoria Temporal)


La informacin que gestionan se almacena temporalmente en memoria, por eso es voltil y no se pueden borrar fsicamente, pues no existen registros como tales , aunque lo que s se puede hacer es marcarlos. Los datos temporales son guardados como registros (items), de longitud variable, con unos nombres simblicos. Son colas secuenciales. No es necesario definir en ninguna tabla los nombres simblicos de las colas TS, slo sera necesario definirlos en el caso de querer que fueran recuperables al arrancar el CICS para poder ser seleccionado por la tarea. Las colas TS se pueden recuperar ms de una vez. Su item, puede leerse tantas veces como se quiera. Existe un nico ndice de lectura y otro de grabacin a nivel CICS.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

6.0

Colas TS (Gestin de Memoria Temporal)


Escritura, lectura y borrado de registros en colas TS
Comando que permite agregar nuevos registros a la cola, o crearla en caso de que no exista. QUEUE FROM ITEM Especifica el nombre de la cola donde los datos se almacenan. Indica el rea de datos que se desea grabar en la cola. El programa guarda el nmero asignado al elemento (tem) escrito.

EXEC CICS WRITEQ TS QUEUE (Nombre de cola) FROM ITEM END-EXEC. (WS-RECORD) (WS-ITEM)

NOHANDLE

EXEC CICS READQ TS QUEUE (Nombre de cola) INTO ITEM END-EXEC. EXEC CICS DELETEQ TS QUEUE (Nombre de cola) NOHANDLE (WS-RECORD) (WS-ITEM)

Comando utilizado para acceder a la informacin contenida en la cola TS.

INTO

NOHANDLE

Este parmetro especifica el rea definida por el usuario en la que se van a recuperar los datos.

Comando utilizado para borrar la informacin contenida en la cola TS.

END-EXEC.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

6.0

Ejemplo de Sintaxis
01 Q-AREA. 03 Q-NAME. 05 Q-TRAN 05 Q-TERM 03 Q-ITEM * 01 DUMP-CODE. 03 DUMP-STAT 03 DUMP-NUM PIC X(4) VALUE 'AREM'. PIC X(4) VALUE SPACES. PIC S9(4) COMP VALUE ZEROS.

P020-RECALL. EXEC CICS HANDLE CONDITION QIDERR (P011-SEND-MAP) END-EXE MOVE +1 TO Q-ITEM. EXEC CICS READQ TS QUEUE (Q-NAME) INTO (COM-AREA) LENGTH (COM-LEN) ITEM (Q-ITEM) END-EXEC. MOVE +2 TO Q-ITEM. EXEC CICS READQ TS QUEUE (Q-NAME) INTO (MAP1I) LENGTH (MAP-LEN) ITEM (Q-ITEM) END-EXEC. EXEC CICS DELETEQ TS QUEUE (Q-NAME) END-EXEC. GO TO P011-SEND-MAP. P021-MEMORY. EXEC CICS HANDLE CONDITION QIDERR (P022-WRITEQ) END-EXEC. EXEC CICS DELETEQ TS QUEUE (Q-NAME) END-EXEC. P022-WRITEQ. EXEC CICS WRITEQ TS QUEUE (Q-NAME) FROM (COM-AREA) LENGTH (COM-LEN) ITEM (Q-ITEM) END-EXEC. EXEC CICS WRITEQ TS QUEUE (Q-NAME) FROM (MAP1I) LENGTH (MAP-LEN) ITEM (Q-ITEM) END-EXEC.
Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

PIC X(02) PIC X(02)

VALUE SPACES. VALUE SPACES.

Contenido

1) Introduccin a CICS 2) Comunicacin con programas On-Line 3) Mapas 4) Interfaz de Programacin de Alto Nivel (HLPI) 5) Manejo de archivos VSAM 6) Colas TS 7) DB2

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.

Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc.