154
© Copyright 2000-2007. Todos los derechos reservados. Softtek Integration Systems, Inc. CURSO BASICO DE CICS ACADEMIA MAINFRAME

cics

Embed Size (px)

Citation preview

Page 1: cics

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

CURSO BASICO DE CICS

ACADEMIA MAINFRAME

Page 2: cics

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

Contenido

1) Introducción a CICS 1.1) Introducción

1.2) Conceptos Básicos

1.3) Funciones que realiza

2) Comunicación con programas On-Line

4) Interfaz de Programación de Alto Nivel (HLPI)

3) Mapas

5) Manejo de archivos VSAM

6) Colas TS

7) DB2

Page 3: cics

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

CICS (Customer Information Control System)

Es un monitor transaccional que gestiona el paso de una transacción entre etapas subsecuentes y asegura su ejecución completa.

Permite a los programadores :

Desarrollar pantallas genéricas 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 específico.

Permite la distribución del acceso a las aplicaciones.

1.1

Page 4: cics

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

Comunicación entre un programa, el CICS y el Sistema Operativo

1.1

CICS

Page 5: cics

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

Contenido

1) Introducción a CICS 1.1) Introducción

1.2) Conceptos Básicos

1.3) Funciones que realiza

2) Comunicación con programas On-Line

3 Interfaz de Programación de Alto Nivel (HLPI)

4) Mapas

5) Manejo de archivos VSAM

6) Colas TS

7) DB2

Page 6: cics

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

Conceptos Básicos

CICS trabaja bajo una serie de conceptos básicos los cuales son los siguientes :

Transacción

Tarea

Multitarea

Multiprogramación

Reentrancia

Es un código de 4 caracteres que se digita en una terminal bajo el ambiente de CICS.

Una transacción lleva asociada informaciones tales como :

• Prioridad

• Plan de acceso a un gestor de base de datos

• Ejecución de un programa.

Una transacción se identifica en el sistema con un código alfanumérico, que en el caso del CICS es de una cadena de cuatro caracteres.

1.2

Page 7: cics

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

Conceptos Básicos

CICS trabaja bajo una serie de conceptos básicos los cuales son los siguientes :

Transacción

Tarea

Multitarea

Multiprogramación

Reentrancia

¿Qué ocurre cuando varios usuarios solicitan ejecutar la misma transacción?

¿Cómo podría CICS manejar varias peticiones a la vez?

CICS puede manejar las múltiples 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 ejecución)

• Suspendida (está esperando algo del sistema).

1.2

Page 8: cics

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

Panorama General

BD

TCA

TCA

Tarea 1

Tarea 2

Memoria de Trabajo

Memoria de Trabajo

Memoria de Trabajo

Programa

CICS

Page 9: cics

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

Conceptos Básicos

CICS trabaja bajo una serie de conceptos básicos los cuales son los siguientes :

Transacción

Tarea

Multitarea

Multiprogramación

Reentrancia

Es una de las características del CICS. Significa que se permite que varias tareas se ejecuten simultáneamente con técnicas de tiempo compartido.

Cuando existe un único procesador sólo una tarea puede estar ejecutándose 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 Multiprogramación con tiempo. La auténtica multitarea se consigue solamente con procesadores en paralelo (multiproceso).

1.2

Page 10: cics

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

Conceptos Básicos

CICS trabaja bajo una serie de conceptos básicos los cuales son los siguientes :

Transacción

Tarea

Multitarea

Multiprogramación

Reentrancia

Un programa debe codificarse de forma que pueda ser compartido por más de una transacción a la vez, en este caso, si hay más de una tarea que está compartiendo el programa, el código deberá permanecer siempre inalterable.

Este tipo de codificación, que permite que más de una tarea comparta un programa, y que no se puede modificar, se conoce como codificación 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.

1.2

Page 11: cics

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

Panorama General

BD

TCA

TCA

Tarea 1

Tarea 2

Memoria de Trabajo

Memoria de Trabajo

Memoria de Trabajo

Programa

CICS

Page 12: cics

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

Contenido

1) Introducción a CICS 1.1) Introducción

1.2) Conceptos Básicos

1.3) Funciones que realiza

2) Comunicación con programas On-Line

3) Interfaz de Programación de Alto Nivel (HLPI)

4) Mapas

5) Manejo de archivos VSAM

6) Colas TS

7) DB2

Page 13: cics

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

Funciones que realiza CICS

Arranque y desconexión del sistema

Transferencia de control

Acceso a Bases de Datos

Gestión de Errores

Gestión de la Conversacionalidad

CICS

1.3

Page 14: cics

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

Funciones que realiza CICS

Arranque y desconexión del sistema

Transferencia de control

Acceso a Bases de Datos

Gestión de Errores

Gestión de la Conversacionalidad

Esta función vincula las tareas a realizar al comienzo y final de la sesión del día.

Estas tareas son :

Abrir y cerrar archivos

Activar y desactivar las líneas de comunicación

Es desde CICS donde se abren y cierran los archivos y no desde el código del programa de aplicación.

1.3

Page 15: cics

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

Funciones que realiza CICS

Arranque y desconexión del sistema

Transferencia de control

Acceso a Bases de Datos

Gestión de Errores

Gestión de la Conversacionalidad

CICS gestiona la transferencia del control entre diferentes programas de aplicación en el entorno online.

Por ejemplo :

• Transferir el control a una rutina.

En un programa online multimodular, las sentencias CALL que transfieren el control son sustituidas automáticamente por comandos CICS.

1.3

Page 16: cics

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

Funciones que realiza CICS

Arranque y desconexión del sistema

Transferencia de control

Acceso a Bases de Datos

Gestión de Errores

Gestión de la Conversacionalidad

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 físicamente.

1.3

Page 17: cics

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

Funciones que realiza CICS

Arranque y desconexión del sistema

Transferencia de control

Acceso a Bases de Datos

Gestión de Errores

Gestión de la Conversacionalidad

CICS contiene facilidades para capturar el error producido, terminar la transacción y permitir que las demás transacciones continúen su proceso.

Esto permite al usuario introducir la transacción de nuevo, sin que afecte a otros usuarios del sistema.

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

Page 18: cics

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

Funciones que realiza CICS

Arranque y desconexión del sistema

Transferencia de control

Acceso a Bases de Datos

Gestión de Errores

Gestión de la Conversacionalidad

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 técnicas de programación :

Conversacional

Pseudoconversacional

que afecta cómo el monitor utiliza la memoria principal del sistema.

1/3

1.3

Page 19: cics

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

Funciones que realiza CICS

Arranque y desconexión del sistema

Transferencia de control

Acceso a Bases de Datos

Gestión de Errores

Gestión de la Conversacionalidad

Programación conversacional

Técnica 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 gestión eficiente de la memoria no es proporcionada.

2/3

1.3

Page 20: cics

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

Panorama General

Digita tu usuario:

Ejemplo de programa conversacional.

PROG “PRUEBA01”

INICIOSEND MAP(MAPA1) RECEIVE MAP(MAPA1)IF USUARIO = OK XCTL PRUEBA02END-IFMUEVE MSJ “ERROR USR”GO TO INICIO

Page 21: cics

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

Funciones que realiza CICS

Arranque y desconexión del sistema

Transferencia de control

Acceso a Bases de Datos

Gestión de Errores

Gestión de la Conversacionalidad

Programación Pseudoconversacional

El programa no gestiona el envío y recepción de manera continua, sino que realiza desconexiones cada vez que necesita una respuesta por parte del usuario, suspendiendo temporalmente la ejecución de la tarea y liberando los recursos utilizados por la misma.

Este modo requiere una manera especial de codificación de los programas de aplicación.

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 desconexión.

3/3

1.3

Page 22: cics

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

Panorama General

Digita tu usuario:

Ejemplo de programa pseudo-conversacionalPROG “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-IFEND-IFRETURN PR01

Page 23: cics

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

Principales componentes del CICS

M V S

T S O C I C S D B 2

Tablas delCICS

Módulos deGestión

Programas deAplicación

1.3

Page 24: cics

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

Contenido

2) Comunicación con programas On-Line 2.1) Ciclos

2.2) Areas de Comunicación

2.3) Link

2.4) XCTL

2.5) Return

1) Introducción a CICS

4) Interfaz de Programación de Alto Nivel (HLPI)

3) Mapas

5) Manejo de archivos VSAM

6) Colas TS

7) DB2

Page 25: cics

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

Comunicación con un programa On-Line

CICS

Control deTareas

Co

ntr

ol d

e A

rch

ivo

s

Co

ntro

l de

Term

inales

Control deProgramas

Bases de datos

Terminal

Biblioteca de programas

2.1

VSAM

Page 26: cics

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

Principal

Inicio

Proceso

Fin

Inicializar mapa

Checar el indicador del Ciclo

Ciclo 0(if Ciclo-0 true)

Or

Ciclo 1(else if Ciclo-1 true)

Formatear pantallaEnviar MapaSet Ciclo-1 to true

Devolver control a CICS

Comunicación con un programa On-Line

Lógica de un programa CICS (Ciclo 0)

2.1

Page 27: cics

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

Principal

Inicio

Proceso

Fin

Inicializar mapa

Checar el indicador del Ciclo

Ciclo 0(if Ciclo-0 true)

Or

Ciclo 1(else if Ciclo-1 true)

Devolver control a CICS

Formatear pantallaEnviar MapaSet Ciclo-1 to true

Recibir MapaProcesar los datosFormatear respuestaEnviar Mapa

Comunicación con un programa On-Line

Lógica de un programa CICS (Ciclo 1)

2.1

Page 28: cics

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

Contenido

2) Comunicación con programas On-Line 2.1) Ciclos

2.2) Areas de Comunicación

2.3) Link

2.4) XCTL

2.7) Return

1) Introducción a CICS

4) Interfaz de Programación de Alto Nivel (HLPI)

3) Mapas

5) Manejo de archivos VSAM

6) Colas TS

7) DB2

Page 29: cics

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

Comunicación con un programa On-Line

Areas de comunicación

Cuando un programa es descargado de la memoria, los valores de la Working-Storage se pierden, por eso se utiliza el área de comunicación para recordar los valores que le permiten pasar datos entre programas.

En un programa CICS hay dos áreas de comunicación utilizados para pasar datos entre programas en ejecución :

• Area de Comunicación de la Working-Storage Section.

• Area de Comunicación de la Linkage Section.

DATA DIVISION. WORKING-STORAGE SECTION. . . . 01 WCA-COMMAREA. . . LINKAGE SECTION. 01 DFHCOMMAREA PIC X(200).

PROCEDURE DIVISION.

2.2

Page 30: cics

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

Comunicación con un programa On-Line

Restricciones del compilador de COBOL-CICS

• No pueden definirse archivos en los programas de aplicación 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 :

DISPLAYDISPLAYACCEPTACCEPTSTOP RUNSTOP RUN

SORTSORTREAD NEXTREAD NEXTSTARTSTART

DELETEDELETEREWRITEREWRITEWRITEWRITE

READREADCLOSECLOSEOPENOPEN

2.2

Page 31: cics

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

Comunicación con un programa On-Line

Mandatos para la comunicación entre programas

En CICS, cada uno de los módulos individuales está almacenado como una única unidad en la biblioteca de programas y el CICS se responsabiliza de la unión de los módulos en tiempo de ejecución. De esto se encarga el programa de Control de Programas.

Los programas se ejecutan en varios niveles lógicos :

• Cuando un programa enlaza a otro (LINK), el programa que recibe el control reside en el siguiente nivel lógico inferior.

• Cuando un programa transfiere el control (XCTL) a otro, el programa que recibe el control reside en el mismo nivel lógico, reemplazado al programa que originó la transferencia.

• Cuando un programa pide devolver el control, éste es pasado al siguiente nivel lógico superior.

2.2

Page 32: cics

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

Contenido

2) Comunicación con programas On-Line 2.1) Ciclos

2.2) Areas de Comunicación

2.3) Link

2.4) XCTL

2.5) Return

1) Introducción a CICS

3) Interfaz de Programación de Alto Nivel (HLPI)

4) Mapas

5) Manejo de archivos VSAM

6) Colas TS

7) DB2

Page 33: cics

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

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

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

Comunicación con un programa On-Line

Mandatos para la comunicación entre programas

LINK

El nombre del programa se especifica en la opción 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 :

2.3

Page 34: cics

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

Contenido

2) Comunicación con programas On-Line 2.1) Ciclos

2.2) Areas de Comunicación

2.3) Link

2.4) XCTL

2.5) Return

1) Introducción a CICS

3) Interfaz de Programación de Alto Nivel (HLPI)

4) Mapas

5) Manejo de archivos VSAM

6) Colas TS

7) DB2

Page 35: cics

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

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

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

Comunicación con un programa On-Line

Mandatos para la comunicación entre programas

XCTL

Cede el control a otro programa en el mismo nivel lógico, sin que exista retorno cuando éste termine, por lo que el programa que realiza el XCTL se libera, descargándose de la memoria.

Formato :

Page 36: cics

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

Contenido

2) Comunicación con programas On-Line 2.1) Ciclos

2.2) Areas de Comunicación

2.3) Link

2.4) XCTL

2.5) Return

1) Introducción a CICS

3) Interfaz de Programación de Alto Nivel (HLPI)

4) Mapas

5) Manejo de archivos VSAM

6) Colas TS

7) DB2

Page 37: cics

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

EXEC CICS RETURN TRANSID (nombre de la transacción) COMMAREA (WCA-COMMAREA) END-EXEC

EXEC CICS RETURN TRANSID (nombre de la transacción) COMMAREA (WCA-COMMAREA) END-EXEC

Comunicación con un programa On-Line

Mandatos para la comunicación 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é transacción 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 transacción.

Formato :

2.5

Page 38: cics

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

RETURN YYYY

Comunicación con un programa On-Line

Mandatos para la comunicación entre programas

C I C SC I C S

PROG1

PROG2 PROG3

TransacciónXXXX

Nivel superior

Nivel inferior

2.5

PROG4

RETURN

XCTL

TCTXXXX PROG1YYYY PROG4

PCTPROG1PROG2PROG3PROG4

RETURN YYYY

GOBACK

4

4

RETURN

RETURN XXXX

Page 39: cics

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

RETURN YYYY

Comunicación con un programa On-Line

Mandatos para la comunicación entre programas

C I C SC I C S

PROG1

PROG2 PROG3

TransacciónXXXX

LINK

Nivel superior

Nivel inferior

RETURN

2.5

RETURN XXXX

GOBACK

PROG4

RETURN

XCTL

TCTXXXX PROG1YYYY PROG4

PCTPROG1PROG2PROG3PROG4

RETURN YYYY

GOBACK

4

4

Page 40: cics

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

RETURN YYYY

Comunicación con un programa On-Line

Mandatos para la comunicación entre programas

C I C SC I C S

PROG1

PROG2 PROG3

TransacciónXXXX

LINK

Nivel superior

RETURN

RETURN

XCTL

2.5

RETURN XXXX

GOBACK

PROG4

RETURN

XCTL

TCTXXXX PROG1YYYY PROG4

PCTPROG1PROG2PROG3PROG4

RETURN YYYY

GOBACK

4

4

XCTL PROG1

Page 41: cics

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

RETURN YYYY

Comunicación con un programa On-Line

Mandatos para la comunicación entre programas

C I C SC I C S

PROG1

PROG2 PROG3

TransacciónXXXX

LINK

Nivel superior

Nivel inferior

RETURN

RETURN

XCTL

2.5

RETURN XXXX

GOBACK

PROG4

RETURN

XCTL

TCTXXXX PROG1YYYY PROG4

PCTPROG1PROG2PROG3PROG4

RETURN YYYY

GOBACK

4

4

RETURN XXXX

GOBACK

XCTL PROG1

Page 42: cics

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

Contenido

4) Interfaz de Programación de Alto Nivel (HLPI) 4.1) Bloque de Ejecución de la Interfaz (EIB)

4.2) Condiciones de Excepción

1) Introducción a CICS

2) Comunicación con programas On-Line

3) Mapas

5) Manejo de archivos VSAM

6) Colas TS

7) DB2

Page 43: cics

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

Interfaz de Programación de Alto Nivel (HLPI)

Esta interfase está compuesta de un conjunto de mandatos que se insertan en los programas COBOL cuando se necesita una función 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 automáticamente van a copiar un BLOQUE DE EJECUCIÓN DE LA INTERFASE (EIB) en la LINKAGE SECTION del programa. Los campos del EIB contienen información que puede ser necesaria durante la ejecución del programa.

El programa puede recuperar información del EIB usando el campo apropiado, pero no se puede escribir en el bloque. Además, los nombres de estos campos son palabras reservadas. La información suministrada por el bloque EIB es la siguiente :

4.1

Page 44: cics

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

Interfaz de Programación de Alto Nivel (HLPI)

Bloque EIB

EIBCALENContiene la longitud del área de comunicación (COMMAREA), que ha sido pasada al programa desde el último programa, si no se ha pasado área de comunicación, 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).

EIBFNNúmero asociado al último comando de CICS ejecutado. EIBFN ocupa 2 bytes y el número se guarda en formato binario.

EIBTIME Hora con formato "0HHMMSS+". (PIC S9(7) COMP-3).

EIBTRMID Nombre de la terminal asociada a la tarea.

EIBRESP Código de retorno del último comando CICS ejecutado.

4.1

Page 45: cics

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

Interfaz de Programación de Alto Nivel (HLPI)

Bloque EIB

PF3

PF2

PF1

CLEAR

ENTER

Función

DFHPF3

DFHPF2

DFHPF1

DFHCLEAR

DFHENTER

Nombre Simbólico

Guarda la tecla de control utilizada para transmitir la última entrada de datos por pantalla. La definición de las teclas de control se realiza con la copy DFHAID. La lista estándar de dichas teclas es la siguiente :

EIBAID

4.1

Page 46: cics

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

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.

Ejemplo de programa: USO DE EIBAID

4.1

Page 47: cics

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

01 DFHAID. 02 DFHNULL PIC X VALUE IS ' 02 DFHCLEAR PIC X VALUE IS '_'. 02 DFHCLRP PIC X VALUE IS ''. 02 DFHPEN PIC X VALUE IS '='. 02 DFHOPID PIC X VALUE IS 'W'. 02 DFHMSRE PIC X VALUE IS 'X'. 02 DFHSTRF PIC X VALUE IS 'h'. 02 DFHTRIG PIC X VALUE IS '"'. 02 DFHPA1 PIC X VALUE IS '%'. 02 DFHPA2 PIC X VALUE IS '>'. 02 DFHPA3 PIC X VALUE IS ','. 02 DFHPF1 PIC X VALUE IS '1'. 02 DFHPF2 PIC X VALUE IS '2'. 02 DFHPF3 PIC X VALUE IS '3'. 02 DFHPF4 PIC X VALUE IS '4'. 02 DFHPF5 PIC X VALUE IS '5'. 02 DFHPF6 PIC X VALUE IS '6'. 02 DFHPF7 PIC X VALUE IS '7'.

02 DFHPF7 PIC X VALUE IS '7'. 02 DFHPF8 PIC X VALUE IS '8'. 02 DFHPF9 PIC X VALUE IS '9'. 02 DFHPF10 PIC X VALUE IS ':'. 02 DFHPF11 PIC X VALUE IS '#'. 02 DFHPF12 PIC X VALUE IS '@'. 02 DFHPF13 PIC X VALUE IS 'A'. 02 DFHPF14 PIC X VALUE IS 'B'. 02 DFHPF15 PIC X VALUE IS 'C'. 02 DFHPF16 PIC X VALUE IS 'D'. 02 DFHPF17 PIC X VALUE IS 'E'. 02 DFHPF18 PIC X VALUE IS 'F'. 02 DFHPF19 PIC X VALUE IS 'G'. 02 DFHPF20 PIC X VALUE IS 'H'. 02 DFHPF21 PIC X VALUE IS 'I'. 02 DFHPF22 PIC X VALUE IS ''. 02 DFHPF23 PIC X VALUE IS '.'. 02 DFHPF24 PIC X VALUE IS '<'. 77 DFHENTER PIC X VALUE QUOTE.

Valores de teclas de función

4.1

Page 48: cics

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

Ejemplo de Mapa Físico 4.1

Page 49: cics

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

Ejemplo de Mapa Físico4.1

Page 50: cics

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

4.1 Ejemplo de Mapa Físico

Page 51: cics

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

4.1 Ejemplo de Mapa Físico

Page 52: cics

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

4.1 Ejemplo de Mapa Físico

Page 53: cics

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

4.1 Ejemplo de Mapa Físico

Page 54: cics

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

4.1 Ejemplo de Mapa Lógico

Page 55: cics

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

4.1 Ejemplo de Mapa Lógico

Page 56: cics

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

4.1 Ejemplo de Mapa Lógico

Page 57: cics

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

4.1 Ejemplo de Mapa Lógico

Page 58: cics

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

4.1 Ejemplo de Mapa Lógico

Page 59: cics

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

4.1 Ejemplo de Mapa Lógico

Page 60: cics

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

Programa ejemplo4.1

Page 61: cics

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

Programa ejemplo4.1

Page 62: cics

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

Programa ejemplo4.1

Page 63: cics

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

Programa ejemplo4.1

Page 64: cics

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

Programa ejemplo4.1

Page 65: cics

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

Programa ejemplo4.1

Page 66: cics

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

Programa ejemplo4.1

Page 67: cics

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

Programa ejemplo4.1

Page 68: cics

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

Programa ejemplo4.1

Page 69: cics

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

Programa ejemplo4.1

Page 70: cics

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

Programa ejemplo4.1

Page 71: cics

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

Programa ejemplo4.1

Page 72: cics

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

Programa ejemplo4.1

Page 73: cics

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

Programa ejemplo4.1

Page 74: cics

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

Programa ejemplo4.1

Page 75: cics

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

Contenido

4) Interfaz de Programación de Alto Nivel (HLPI) 4.1) Bloque de Ejecución de la Interfaz (EIB)

4.2) Condiciones de Excepción

1) Introducción a CICS

2) Comunicación con programas On-Line

3) Mapas

5) Manejo de archivos VSAM

6) Colas TS

7) DB2

Page 76: cics

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

Interfaz de Programación de Alto Nivel (HLPI)

Condiciones de excepción

C I C SC I C S

Programa 1 Error

• HANDLE CONDITION• IGNORE CONDITION• NOHANDLE

• HANDLE CONDITION• IGNORE CONDITION• NOHANDLE

EXEC CICS READNEXT DATASET ('FDATPERS') INTO (DAT-PERSONALES) RIDFLD (DAT-CLAVE) NOHANDLEEND-EXEC.IF EIBRESP EQUAL TO DFHRESP(ENDFILE) SET FIN-archivo TO TRUEELSE 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-IFEND-IF.

4.2

Page 77: cics

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

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 HANDLE CONDITION NOTFND (ERRX-NOT-ON-FILE) ERROR (ERRX-CICS-ERROR) END-EXEC. EXEC CICS READ UPDATE INTO (DCSTT) DATASET (DATASET-TERMINAL) RIDFLD (KEY-TERMINAL-TABLE) END-EXEC.

*--------------------------------------------------* 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 INSTRUCCIÓN HANDLE CONDITION

4.2

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

Page 78: cics

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

Contenido

3) Mapas Introducción

Mapas Físicos

Mapas Simbólicos

Mandatos para el control de terminales

1) Introducción a CICS

2) Comunicación con programas On-Line

4) Interfaz de Programación de Alto Nivel (HLPI)

5) Manejo de archivos VSAM

6) Colas TS

7) DB2

Page 79: cics

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

Basic Mapping Support (BMS)

La utilidad BMS permite realizar y gestionar mapas (pantallas) de CICS. BMS suministra servicios de transformación 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 situación de los campos en la corriente de datos los da el BMS, a través de las Tablas de Formatos de Datos, llamadas "mapas". Los mapas se crean mediante macros BMS que se codifican en ensamblador y que contienen información sobre :

Posiciones de los campos.

Atributos.

Datos de cabecera e iniciales.

3.1

Page 80: cics

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

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 FÍSICO y otra MAPA SIMBÓLICO.

Mapa FísicoDefine 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 Simbólico

ó Lógico

Es generado con las mismas macros que el Mapa Físico con el que está asociado. Suministra los nombres simbólicos para los campos definidos en el mapa físico, que se utilizan en el programa.

Es generado al compilar el mapa físico por el compilador de mapas.

3.1

Page 81: cics

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

Basic Mapping Support (BMS)

Compilación del MAPA y generación del COPY.

Mapa Físico

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

Mapa Simbólico

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).

3.1

Page 82: cics

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

Contenido

3) Mapas 1) Introducción

2) Mapas Físicos

3) Mapas Simbólicos

4) Mandatos para el control de terminales

1) Introducción a CICS

2) Comunicación con programas On-Line

4) Interfaz de Programación de Alto Nivel (HLPI)

5) Manejo de archivos VSAM

6) Colas TS

7) DB2

Page 83: cics

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

Basic Mapping Support (BMS)

Macros para la generación de Mapas Físicos - DFHMSD

DFHMSD XXXX=YYYY

Ejemplo :

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

Un MAPSET, es un conjunto de uno ó más mapas que el CICS considera como una unidad de gestión, en esta macro se define tanto el nombre del mapa como los siguientes parámetros :

TYPE En esta parte se especifica que se trata de un mapa.

MODE Indica si es un mapa de in, out o inout.

LANG Especifica el lenguaje en el que se quiere que se genere la COPY del mapa simbólico.

mapset Se declara el nombre del mapa, el cual es obligatorio, debe ser único y tener de 1 a 7 caracteres.

3.2

Page 84: cics

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

Indica que ya no siguen más elementos en la definición del mapa. DFHMSD XXXX=YYYY

Ejemplo :

DFHMSD TYPE=FINAL END

Basic Mapping Support (BMS)

Macros para la generación de Mapas Físicos - DFHMSD

3.2

Page 85: cics

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

DFHMDI XXXX=YYYY

Ejemplo :

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

En esta macro da el nombre del mapa simbólico, así como sus características como son :

• Tamaño• Posición• Valores por defecto para este mapa

Normalmente se definirá la pantalla completa (24 x 80) comenzando en la línea 1 columna 1.

SIZE Dimensión del mapa en longitud y anchura.

LINE Línea en la que comenzará el mapa.

COLUMN Columna en la que comenzará el mapa.

Basic Mapping Support (BMS)

Macros para la generación de Mapas Físicos - DFHMDI

3.2

Page 86: cics

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

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 posición, longitud, atributos, etc. en el terminal.

Para cada definición 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 definición para cada campo a manejar en la pantalla, sólo es necesario el nombre del campo si va a ser referenciado desde el programa.

Basic Mapping Support (BMS)

Macros para la generación de Mapas Físicos - DFHMDF

3.2

Page 87: cics

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

DFHMDF XXXX=YYYY

POS Especifica la posición de una variable o literal en pantalla.

LENGHT

IC

Parámetros

Se usa para especificar la longitud de un campo.

Pone el cursor en la primera posición del campo.

INITIAL Establece el contenido inicial de este campo.

Basic Mapping Support (BMS)

Macros para la generación de Mapas Físicos - DFHMDF

3.2

Page 88: cics

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

DFHMDF XXXX=YYYY

ATTRB Define las características del campo respecto a protección, contenido, luminosidad, inserción del cursor, o campo modificado.

Parámetros Continuación

ASKIP

PROT

UNPROT

Salto al siguiente campo.

Protegido.

Desprotegido.

Basic Mapping Support (BMS)

Macros para la generación de Mapas Físicos - DFHMDF

3.2

Page 89: cics

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

3.2

Ejemplo de Mapa Físico

Constante

Variable

Variable

Constante

Page 90: cics

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

3.2

Ejemplo de Códigodel Mapset

MFECHA

Page 91: cics

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

Contenido

3) Mapas 3.1) Introducción

3.2) Mapas Físicos

3.3) Mapas Simbólicos

3.4) Mandatos para el control de terminales

1) Introducción a CICS

2) Comunicación con programas On-Line

4) Interfaz de Programación de Alto Nivel (HLPI)

5) Manejo de archivos VSAM

6) Colas TS

7) DB2

Page 92: cics

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

Area de Entrada

MAP

Area de Salida

MAPI

MAPO

Basic Mapping Support (BMS)

Macros para la generación de Mapas Simbólicos

Compilación y generación del COPY

3.3

Page 93: cics

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

L (longitud) Sirve para posicionar el cursor en un campo específico.

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.

Basic Mapping Support (BMS)

Macros para la generación de Mapas Simbólicos

Compilación y generación del COPY

3.3

Page 94: cics

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

3.3

FALTA EJEMPLO DE MAPA SIMBOLICO

Page 95: cics

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

Contenido

3) Mapas 3.1) Introducción

3.2) Mapas Físicos

3.3) Mapas Simbólicos

3.4) Mandatos para el control de terminales

1) Introducción a CICS

2) Comunicación con programas On-Line

4) Interfaz de Programación de Alto Nivel (HLPI)

5) Manejo de archivos VSAM

6) Colas TS

7) DB2

Page 96: cics

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

EXEC CICS SEND MAP (‘Nombre del mapa’) MAPSET (‘Nombre del MAPSET’) FROM (Area de datos ‘OUTPUT’ del mapa

simbólico) END-EXEC.

EXEC CICS SEND MAP (‘Nombre del mapa’) MAPSET (‘Nombre del MAPSET’) FROM (Area de datos ‘OUTPUT’ del mapa

simbólico) END-EXEC.

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 transformación de datos de salida hacia la terminal.

La sintaxis es :

3.4

Page 97: cics

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

EXEC CICS RECEIVE MAP (‘Nombre del mapa’) MAPSET (‘Nombre del MAPSET’) INTO (Area de datos ‘INPUT’ del mapa simbólico) END-EXEC.

EXEC CICS RECEIVE MAP (‘Nombre del mapa’) MAPSET (‘Nombre del MAPSET’) INTO (Area de datos ‘INPUT’ del mapa simbólico) END-EXEC.

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 CONDICIÓN MAPFAIL

La condición de MAPFAIL se produce si los datos recibidos no están formateados o si el usuario no introdujo ningún dato antes de pulsar una tecla de función.

3.4

Page 98: cics

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

3.4

****************************************************** 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.

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.

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.

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

EJEMPLO DE LAS INSTRUCCIONES “SEND Y RECEIVE”

Page 99: cics

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

Contenido

5) Manejo de archivos VSAM

1) Introducción a CICS

2) Comunicación con programas On-Line

4) Interfaz de Programación de Alto Nivel (HLPI)

3) Mapas

6) Colas TS

7) DB2

Page 100: cics

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

Control dearchivos

Lecturasal azar

Accesossecuenciales

Actualizarregistros

Añadirregistros

Borrarregistros

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 características 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 Aplicación son :

5.0

Page 101: cics

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

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 interactúa 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.

EXEC CICS READ

DATASET (‘Nombre Archivo’)

INTO (WS-RECORD)

RIDFLD (WS-CLAVE)

option...

END-EXEC.

DATASET Identifica el nombre del archivo definido en la FCT.

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

RIDFLDIdentifica el campo clave, en la descripción del registro, dentro de la Working Storage Section.

Option

UPDATE (queda bloqueado el registro para ser actualizado).

EQUAL (trae el registro que sea igual al especificado).

GTEQ (trae el primer registro cuya clave sea => a la especificada).

5.0

Page 102: cics

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

Panorama General

Ejemplo de programa: Lectura de VSAMPROG “PRUEBA01”

RUT-LEE-VSAM. EXEC CICS HANDLE CONDITION NOTFND (ERRX-NOT-ON-FILE) ERROR (ERRX-CICS-ERROR) END-EXEC. 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

TABLA DE CICS “FCT”

FILEVSAM SO1.FILEVSAM.CICS

ARCHIVO2 SO2.ARCHIVO2.CICS

AMBIENTE TSO

SO1.FILEVSAM.CICS

SO1.ARCH.EMPL.NEW

SO1.ARCHIVO2.CICS

Page 103: cics

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

Control de archivos VSAM (REWRITE, WRITE y DELETE)

EXEC CICS REWRITE

DATASET (‘Nombre Archivo’)

FROM (WS-RECORD)

END-EXEC.

Este comando actualiza el registro que se acaba de leer.

Sólo se puede ejecutar si previamente se ha ejecutado el comando READ con la opción UPDATE.

EXEC CICS WRITE

DATASET (‘Nombre Archivo’)

FROM (WS-RECORD)

RIDFLD (WS-CLAVE)

END-EXEC.

Este comando añade un nuevo registro al archivo VSAM.

EXEC CICS DELETE

DATASET (‘Nombre Archivo’)

RIDFLD (WS-CLAVE)

END-EXEC.Este comando borra un registro del archivo VSAM.

5.0

Page 104: cics

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

Browsing en archivos VSAM

Operaciones Browsing en archivos VSAM

El término browsing se utiliza para referirse a una búsqueda secuencial de registros iniciada a partir de un punto concreto.

Para comenzar el proceso, primero debe realizarse un posicionamiento en un registro en específico y a continuación realizar la lectura secuencial del archivo.

Para realizar el proceso se debe suministrar una serie de mandatos característicos del browsing que configuran tres etapas :

Establecimiento del entorno browsing (STARTBR)

Recuperación de un registro (READNEXT)

Final del Browsing (ENDBR)

5.0

Page 105: cics

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

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

EXEC CICS STARTBR

DATASET (‘Nombre Archivo’)

RIDFLD (WS-CLAVE)

GTEQ

NOHANDLE

END-EXEC.

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.

EXEC CICS READNEXT

DATASET (‘Nombre Archivo’)

INTO (‘WS-RECORD’)

RIDFLD (WS-CLAVE)

NOHANDLE

END-EXEC.

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.

EXEC CICS ENDBR

DATASET (‘Nombre Archivo’)

NOHANDLE

END-EXEC.

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.

5.0

Page 106: cics

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

5.0

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. 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.

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

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.

Ejemplo de Sintaxis

Page 107: cics

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

Contenido

6) Colas TS

1) Introducción a CICS

2) Comunicación con programas On-Line

4) Interfaz de Programación de Alto Nivel (HLPI)

3) Mapas

5) Manejo de archivos VSAM

7) DB2

Page 108: cics

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

Colas TS (Gestión de Memoria Temporal)

La información que gestionan se almacena temporalmente en memoria, por eso es volátil y no se pueden borrar físicamente, 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 simbólicos. Son colas secuenciales.

No es necesario definir en ninguna tabla los nombres simbólicos de las colas TS, sólo sería 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 más de una vez. Su item, puede leerse tantas veces como se quiera. Existe un único índice de lectura y otro de grabación a nivel CICS.

6.0

Page 109: cics

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

EXEC CICS WRITEQ TS

QUEUE (Nombre de cola)

FROM (WS-RECORD)

ITEM (WS-ITEM)

NOHANDLE

END-EXEC.

Comando que permite agregar nuevos registros a la cola, o crearla en caso de que no exista.

QUEUEEspecifica el nombre de la cola donde los datos se almacenan.

FROM Indica el área de datos que se desea grabar en la cola.

ITEMEl programa guarda el número asignado al elemento (ítem) escrito.

EXEC CICS READQ TS

QUEUE (Nombre de cola)

INTO (WS-RECORD)

ITEM (WS-ITEM)

NOHANDLE

END-EXEC.

Comando utilizado para acceder a la información contenida en la cola TS.

INTOEste parámetro especifica el área definida por el usuario en la que se van a recuperar los datos.

EXEC CICS DELETEQ TS

QUEUE (Nombre de cola)

NOHANDLE

END-EXEC.

Comando utilizado para borrar la información contenida en la cola TS.

Colas TS (Gestión de Memoria Temporal)

Escritura, lectura y borrado de registros en colas TS

6.0

Page 110: cics

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

6.0

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

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.

Ejemplo de Sintaxis

Page 111: cics

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

Contenido

7) DB2

1) Introducción a CICS

2) Comunicación con programas On-Line

4) Interfaz de Programación de Alto Nivel (HLPI)

3) Mapas

5) Manejo de archivos VSAM

6) Colas TS

Page 112: cics

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

Page 113: cics

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

Page 114: cics

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

Page 115: cics

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

Page 116: cics

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

Page 117: cics

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

Page 118: cics

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

Page 119: cics

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

Page 120: cics

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

Page 121: cics

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

Page 122: cics

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

Page 123: cics

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

Page 124: cics

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

Page 125: cics

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

Page 126: cics

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

Page 127: cics

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

Page 128: cics

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

Page 129: cics

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

Page 130: cics

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

Page 131: cics

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

Page 132: cics

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

Page 133: cics

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

Page 134: cics

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

Page 135: cics

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

Page 136: cics

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

Page 137: cics

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

Page 138: cics

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

Page 139: cics

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

Page 140: cics

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

Page 141: cics

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

Page 142: cics

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

Page 143: cics

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

Page 144: cics

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

Page 145: cics

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

Page 146: cics

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

Page 147: cics

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

Page 148: cics

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

Page 149: cics

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

Page 150: cics

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

Page 151: cics

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

Page 152: cics

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

Page 153: cics

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

Page 154: cics

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