Sei sulla pagina 1di 35

CCCCCCCC

CCCCCCCC
CC
CC
CCCCCCCC
CCCCCCCC

IIIIIIII
IIIIIIII
II
II
II
IIIIIIII

CCCCCCCC
CCCCCCCC
CC
CC
CCCCCCCC
CCCCCCCC

Begoa

Ramos

Barrios

SSSSSSSSS
SSS
SSSSSSS
SSSSSSS
SSS
SSSSSSSSS

INDICE

CICS / VS.
Control

COMPONENTES

tareas. Control

DEL

Modulos de
Tablas del

programas ......................

gestion del CICS/VS .......................


CICS/VS .....................................

2
3

CICS/VS.

Tabla
Tabla
Tabla
Tabla
Tabla

CONTROL

DE

de
de
de
de
de

control de terminales (TCT) ............


control de programas (PCT) .............
programas de procesos (PPT) ............
control de ficheros (FCT) ..............
control de destinos (DCT) ..............

PROGRAMAS

DEL

CICS.

Return ...................................................
Link .....................................................
Xctl .....................................................

CONTROL

DE

TERMINALES

DEL

DE

FICHEROS

DEL

SECUENCIAL

5
5
6

CICS.

Read .....................................................
Write ....................................................
Update ...................................................
Delete ...................................................
Unlock ...................................................

ACCESO

3
4
4

CICS.

Send .....................................................
Receive ..................................................
Wait .....................................................

CONTROL

3
3
3
3
3

6
7
7
8
8

REGISTROS.

Browse / Starbr .......................................... 9


Readnext ................................................. 10
Readprev ................................................. 10
Endbr .................................................... 11

II

INDICE

GESTION

DE

DATOS.

Gestion de datos transitorios .........................


Datos transitorios intraparticion .................
Datos transitorios extraparticion .................
Gestion de memoria temporal ...........................

GESTION

DE

DATOS

11
12
12
12

TRANSITORIOS.

Escribir datos transitorios ............................ 13


Leer datos transitorios ................................ 14
Borrar datos transitorios .............................. 14

GESTION

DE

MEMORIA

TEMPORAL.

Escribir memoria temporal .............................. 15


Leer memoria temporal .................................. 16
Borrar memoria temporal ................................ 16

APLICACION

DE

Comando
Comando
Comando
Comando
Comando

SOPORTE

COMANDOS

CICS.

Syncpoint .......................................
Start ...........................................
Abend ...........................................
Address .........................................
Assign ..........................................

BASICO

DE

TRANSFORMACION

DE

17
17
18
18
18

DATOS (BMS).

Componentes de las operaciones del BMS ...............


Mapas fisicos ......................................
Mapas de descripcion simbolica ...................
Macros de definicion de mapas fisicos ...............
Macro de definicion de conjunto de mapas ......
Macro de definicion de mapas ....................
Macro de definicion de campos ...................
Fin de definicion de conjunto de mapas ........
Descripciones de mapas simbolicos (DSECTS) ...........
Receive map ........................................
Send map ...........................................
Condiciones que se pueden activar ...............

19
19
19
19
19
20
20
20
20
21
21
22

III

INDICE

C.I.C.S.
Transaccion ..............................................
Monitor DB/DC ............................................
Multiprogramacion ........................................
Modularidad y tablas ...................................
Modulos de gestion .....................................
Programacion con comandos ..............................
Handle condition ........................................
Como se arranca una transaccion ......................
Funcion terminal control ...............................
Funcion file control ...................................

NORMATIVA

PARA

EL

EMPLEO

DE

MAPAS

EN

TRANSACCIONES

23
23
23
23
24
24
24
25
25
26

CICS.

Empleo de mapas en transacciones ..................... 28


Descripcion de una operacion de salida .............. 29
Parametros de control del terminal ................... 30

Infor. de la situacion de los datos a enviar .....


Como realizar la descrip. simbolica de datos .......
Forma de realizar la descrip. simbolica de datos ..
Corriente de salida ...............................
Limpieza del area de descripcion simbolica ..........

CAMBIOS

EN

PROGRAMAS

CICS

PARA

CONVERTIR

COBOL

30
30
30
33
34

II.

Obtencion de la fecha del sistema ................... 35


Instruccion ADDRESS ..................................... 35
Instruccion GETMAIN ..................................... 36

*********************
*
*
* C I C S / V S *
*
*
*********************

_________________________________________
| .
C T R L
T A R E A S
. |
|
._______________________________.
|
|
| --------------------------- | C |
_________
| C | | PROGRAMAS ACTUALIZACION | | T |
| BASES |
| T | |
DE FICHEROS
| | R |
-------------|
DE |----| R | --------------------------- | L |----| TERMINALES |
| DATOS |
| L |
|
|
|____________|
|_______|
|
| --------------------------- | T |
| F | |
OTROS
| | E |
| I | |
PROGRAMAS
| | R |
| C | ___________________________ | M |
| H |
| I |
| E | --------------------------- | N |
| R | |
PROGRAMAS DE
| | A |
| O | |
APLICACION
| | L |
| S | ___________________________ | E |
|
._______________________________. S |
| .
C T R L
P R O G R A M A S
. |
|_______________________________________|
|
|
|
________|________
| BIBLIOTECA DE |
|
PROGRAMAS
|
|_______________|

*****************************
* COMPONENTES DEL CICS/VS *
*****************************

----------------------|
MODULOS DE
|
|
GESTION
|
|
DEL CICS/VS
|
|_____________________|
|
|
|
|
|
|
--------------------------------------------|
TABLAS
|
|
PROGRAMAS
|
|
DEL CICS/VS
|
|
DEL CICS/VS
|
|_____________________|
|_____________________|

MODULOS DE GESTION DEL CICS/VS


==============================

- Control
- Control
- Control
- Control
- Soporte
- Control
- Control
- Control
- Control
- Control

de
de

tareas (KC).
memoria (SC) - Controla la memoria virtual de
la particion CICS/VS.
de programas (PC).
de terminales (TC).
basico de transformacion (BMS) - Codificacion/Decodificacion.
de ficheros (FC) - Soporta solo acceso directo.
de datos transitorios (TD) - Secuencial (Colas intrapar y extraparticion).
de memoria temporal (TS).
de tiempos. - Intervalos (IC).
de volcados (DC).

TABLAS DEL CICS/VS


==================

- Tabla

de

control de terminales (TCT) - Define las caracteristicas de cada terminal mediante entradas de
la TCT. Cada terminal tiene una entrada en
esta tabla (TCTTE).

- Tabla

de

control de programas
digo de transaccion

(PCT) - Relaciona cada


con un programa.

co-

- Tabla

de

programas de procesos (PPT) - Tiene una entrada


por cada programa usado en CICS/VS. Cada entrada tiene informacion sobre la posicion de un
programa.

- Tabla

de

control de ficheros (FCT) - Tiene una entrada por


cada fichero usado en CICS/VS. Cada entrada
guarda la informacion de DTF/DCB/ACB.

- Tabla

de

control de destinos (DCT) - Suministra al CICS/VS


la informacion sobre los conjuntos de datos utilizados por datos transitorios.

************************************
* CONTROL DE PROGRAMAS DEL CICS *
************************************

============
= RETURN =
============

FUNCION: Dar
------FORMATO:
-------

control al
descarga.

CICS. El

programa

se

termina

EXEC CICS RETURN |TRANSID ('CODIGO-TRANSACCION')|


|COMMAREA(DATA-AREA)|
|LENGTH (VALOR-DATOS)|
END-EXEC.

se

*1
*2
*3

*1 Se trata de dar un control temporal al CICS. Cuando el


operador teclee intro, se carga la transaccion que se
indica (4 digitos).

*2 Nombre

de

*3 Longitud

dato

de

la

definido

en

la

Working.

commarea.

===========
= LINK
=
===========

FUNCION: (Equivalente a CALL en BATCH). Dar control a una


------- rutina o programa a nivel inferior. Al final del
programa llamado debe ponerse GOBACK. Cuando termina
de ejecutarse se a a la sentencia siguiente del

programa
FORMATO:
-------

principal.

EXEC CICS LINK

PROGRAM ('NAME')
|COMMAREA(DATA-AREA)|
|LENGTH (DATA-VALUE)|
END-EXEC.

*1 Area de paso o de E/S. Ejem . Comprobar


va siempre con el parametro LENGTH.

*1

numeros tecleados

===========
= XCTL
=
===========

FUNCION: Dar control a un programa al mismo nivel. El pro------- grama llamante se descarga y se carga el programa
llamado. Se encadenan programas y no se devuelve el
control al programa llamante a menos que se haga
otro XCTL.
FORMATO:
-------

EXEC CICS XCTL

PROGRAM ('NAME')
|COMMAREA(DATA-AREA)|
|LENGTH (DATA-VALUE)|
END-EXEC.

*1

CONDICIONES QUE SE PUEDEN ACTIVAR :


=================================
INVREQ

: Peticion Invalida. - Se especifico un TRANSID para


una transaccion no asociada con un terminal.

PRMIDERR

: Se ha especificado
esta en la PPT, o

un nombre de programa que no


que no esta disponible.

************************************
* CONTROL DE TERMINALES DEL CICS *
************************************

==================
= SEND
=
==================

FUNCION: Envia
------FORMATO:
-------

datos

otro

terminal.

EXEC CICS SEND FROM (AREA-DATOS)


LENGTH (VALOR-DATOS)

*1
*2

|WAIT|
END-EXEC.

*3

*1 - Area de memoria donde se conlocara el mensaje; puede


ser cualquier area definida en memoria.
*2 - Longitud

del

mensaje

que

se

envia.

*3 - Asegura que la salida se ha


mitir otro SEND o RECEIVE.

completado

antes

de

per-

===================
= RECEIVE
=
===================

FUNCION: Recibe
-------

datos

desde

otro

terminal.

FORMATO:
-------

EXEC CICS RECEIVE INTO (AREA-DATOS)


LENGTH (VALOR-DATOS)
END-EXEC.

*1 - Area de memoria desde la que se


puede ser cualquier area definida
*2 - Longitud

del

*1
*2

cogera el mensaje;
en memoria.

mensaje.

=============
= WAIT
=
=============

FUNCION: Permite hacer


------con lo que
ros con la
FORMATO:
-------

proceso intermedio durante un WAIT,


conseguimos solapar la E/S de ficheE/S de terminales.

EXEC CICS WAIT TERMINAL


END-EXEC.

**********************************
* CONTROL DE FICHEROS DEL CICS *
**********************************

==========
= READ =
==========

FUNCION: Leer
-------

un

FORMATO:
-------

EXEC CICS READ DATASET (NOMBRE)


INTO (AREA-DATOS)
|LENGTH (VALOR-DATOS)|
RIDFLD (AREA-DATOS)
|KEYLENGTH (VALOR-DATOS) GENERIC|
|GTEQ / EQUAL|
|UPDATE|
|RBA / RRN|
END-EXEC.

*1 Nombre

del

*2 Nombre

de

*3 Si

omite

se

*4 Clave

del

registro

fichero
dato

en

definido

definido

se

lee

para

en

la

registro. Obligatorio

de

*6 Mayor

igual, igual. Si

*7 Se
No

fichero.

la

el

CICS

en

la

*1
*2
*3
*4
*5
*6
*7
*8

FCT.

Working.

entero.

*5 Longitud
o

un

clave, para

para

leer

se

pone si se quiere leer


suelta el control hasta

por

omite

ficheros
clave

asume

indexados.

generica.
busca

igual.

para modificar el registro.


que no se haga el REWRITE.

*8 RBA : Se lee un registro por su direccion en el fichero


RRN : Se lee un registro por la posicion relativa que
ocupa. Se utiliza con ficheros relativos (El contenido de la clave se identifica con la posicion
relativa dentro del fichero).

==============
= WRITE
=
==============

FUNCION: Escribir
------FORMATO:
-------

un

registro

en

un

fichero.

EXEC CICS WRITE DATASET (NOMBRE)


FROM (AREA-DATOS)
|LENGTH (VALOR-DATOS)|
RIDFLD (AREA-DATOS)
|RBA / RRN|
END-EXEC.

*1 Numero, longitud

del

registro

que

se

quiere

escribir.

*1

================
= UPDATE
=
================

FUNCION: Actualizar un registro. Para ensayar este mandato,


------antes ha habido que dar un mandato READ con opcion UNDATE, el cual bloquea este registro para
otras peticiones. Al terminar el mandato REWRITE,
es liberado el registro. Si por alguna razon no
se ensaya el mandato REWRITE, es preciso ensayar
un mandato UNLOCK para liberar el registro.
FORMATO:
-------

EXEC CICS REWRITE DATASET (NOMBRE)


FROM (AREA-DATOS)
|LENGTH (VALOR-DATOS)|
END-EXEC.

============
= DELETE =
============

FUNCION: Borrar
------FORMATO:
-------

*1 Si no
DATE.

un

registro

en

un

fichero.

EXEC CICS DELETE DATASET (NOMBRE)


RIDFLD (AREA-DATOS)
*1
|KEYLENGTH (VALOR-DATOS) GENERIC|
END-EXEC.
se

pone

hay

que

hacer

primero

una

READ

con

UP-

=============
= UNLOCK
=
=============

FUNCION: Libera el control exclusivo


------con opcion UPDATE.
FORMATO:

creado

por

una

READ

EXEC CICS UNLOCK DATASET (NOMBRE)


END-EXEC.

CONDICIONES QUE SE PUEDEN ACTIVAR :


=================================

DSIDER

: Dataset
fichero

identification error. Se manda leer desde un


no identificado en las tablas del CICS.

INVREQ

: Se ha hecho un REWRITE sin una previa READ con


UPDATE. Se puede poner como una HANDLE-CONDITION,
con un mandato a una rutina de error.
Tambien se activa cuando se hacen dos READ con
UPDATE sin una REWRITE en medio.

ILLOGIC

: Ejemplo: Se hace una lectura, da not open, y sin


abrir se intenta volver a leer. Viene de un error anterior.

NOTFND

: Registro

no

encontrado.

DUPREC

: Intento escribir en
clave ya existe.

ENDFILE

: Fin

LENGERR

: Hay discordancia entre la longitud dada


y la longitud del registro que se va

DUPKEY

: Definimos un indice alternativo para acceder a


un fichero. Avisa de que hay clave duplicada.

IOERR

: Error

NOSPACE

: No

NOTOPEN

: Se va a leer
esta cerrado.

de

fichero

de

hay

E/S

un

durante

en

espacio

fichero

un

indexado

la

BROWSE.

en LENGHT
a leer.

disco.

para

por

aadir

primera

registros.

vez

ese

fichero

***********************************
* ACCESO SECUENCIAL A REGISTROS *
***********************************

=====================
= BROWSE = STARBR =
=====================

FUNCION: Posicionarse

en

un

registro

determinado

de

un

fi-

-------

chero.

FORMATO:
-------

*1 Por

EXEC CICS STARBR DATASET (NOMBRE)


RIDFLD (AREA-DATOS)
|KEYLENGTH (VALOR-DATOS) GENERIC|
|GTEQ / EQUAL|
*1
|RBA / RRN|
END-EXEC.

defecto

asume

GTEQ.

10

====================
= READNEXT
=
====================

FUNCION: Leer hacia adelante despues


------registro con BROWSE.
FORMATO:
-------

posicionarse

en

un

EXEC CICS READNEXT DATASET (NOMBRE)


INTO (AREA-DATOS)
|LENGTH (AREA-DATOS)|
RIDFLD (AREA-DATOS)
END-EXEC.

*1 Nombre del
los datos.

campo

de

*2 Longitud del campo


del registro.
*3 Variable

de

de

la

que

working

quiero

salida. Tiene

la

donde

quiero

leer. Asume

clave

que

ha

la

*1
*2
*3

almacenar

longitud

leido.

===================
= READPREV
=
===================

FUNCION: Leer o
------- nos en
FORMATO:
-------

*1 Nombre del
los datos.

recuperar hacia atras despues


un registro con BROWSE.

de

posicionar-

EXEC CICS READPREV DATASET (NOMBRE)


INTO (AREA-DATOS)
|LENGTH (AREA-DATOS)|
RIDFLD (AREA-DATOS)
END-EXEC.
campo

de

*2 Longitud del campo


del registro.

la

que

Working

quiero

donde

quiero

leer. Asume

la

*1
*2
*3

almacenar

longitud

*3 Variable

de

salida. Tiene

la

clave

que

ha

leido.

11

=============
= ENDBR
=
=============

FUNCION: Finalizar
------tero.
FORMATO:
-------

una

BROWSE

en

un

fichero. Quita

el

pun-

EXEC CICS ENDBR DATASET ('NAME')


END-EXEC.

**********************
* GESTION DE DATOS *
**********************

Hay veces en que


intermedio, como :

hay

que

guardar

datos

en

un

estado

- Mensajes a un terminal que esta ocupado.


- Datos creados por una tarea y que van a
utilizados por otra tarea.

El CICS/VS
datos :

proporciona

1.- Gestion
2.- Gestion

de
de

dos

caminos

para

tratar

ser

estos

datos transitorios (TD).


memoria temporal (TS).

1.- GESTION DE DATOS TRANSITORIOS


*********************************

Los datos transitorios son una facilidad generalizada de


colas que permite que los datos se dirijan (o se adquieran) a (o desde) un destino simbolico predefinido.
Habra varias colas de datos, una para cada destino
ferente. No se mezclaran clases diferentes de datos.
Cada

ITEM

de

datos

solo

puede

ser

recuperado

una

di-

vez.

12

Hay

dos

formas

de

datos

transitorios :

1.- Datos transitorios intraparticion.- Colas de datos


creadas y leidas por tareas de la particion CICS/VS
2.- Datos
tos :

transitorios

- Creadas
- Creadas

extraparticion.- Son

colas

fuera del CICS, y procesadas dentro


dentro del CICS, y procesadas fuera

de

da-

del
del

CICS
CICS

1.1.- DATOS TRANSITORIOS INTRAPARTICION


***************************************

Se almacenan en disco (DAM) y las colas se llaman destinos intraparticion. Cada destino debe estar identificado
por un codigo de cuatro caracteres que estara contenido
en la tabla de control de destinos. Los registros son de
longitud variable.
Un destino intraparticion se puede usar
tareas al mismo tiempo. Mas tarde empezara
cuperar los datos de la cola.

por
una

una o mas
tarea a re-

1.2.- DATOS TRANSITORIOS EXTRAPARTICION


***************************************

Son conjuntos de datos secuenciales, en


sitivo secuencial. Los datos son registros
longitud

cualquier disposecuenciales de

|FIJA
| Y |BLOQUEADOS
|
|VARIABLE|
|DESBLOQUEADOS|

2.- GESTION DE MEMORIA TEMPORAL


*******************************

Es una facilidad de "Cuaderno de Notas", para almacenar


y precuperar datos. Los datos pueden ser almacenados por
una transaccion, y recuperados por otras, utilizando un nombre unico, asignado por la tarea de origen.
Los datos almacenados por
recuperar mas de una vez.

la

memoria

temporal, se

pueden

13

La memoria temporal no se
recuperados los datos; debemos
bera la cola completa.

libera automaticamente una vez


liberarla nosotros, y se li-

Es posible almacenar varios ITEMS bajo un nombre simbolico creando una cola de memoria temporal. Estos datos se
pueden recuperar:
- Secuencialmente.
- Directamente.- Especificando el
del ITEM dentro

numero
de la

de entrada
cola.

***********************************
* GESTION DE DATOS TRANSITORIOS *
***********************************

=================================
= ESCRIBIR DATOS TRANSITORIOS =
=================================

FUNCION: Escribe
------FORMATO:
-------

en

una

cola

de

datos

EXEC CICS WRITEQ

TD

*1 Nombre simbolico de destino


definido en la DCT.

de

los

*2 Area del
datos.

que

se

*3 Longitud

programa

de

los

desde

datos

la

que

se

transitorios.

QUEUE (NOMBRE)
FROM (AREA-DATOS)
|LENGTH (VALOR-DATOS)|
END-EXEC.

van

datos

van

tal

*1
*2
*3

como

obtener

esta

los

escribir.

14

=============================
= LEER DATOS TRANSITORIOS =
=============================

FUNCION: Lee
------FORMATO:
-------

en

una

cola

de

datos

EXEC CICS READQ

TD

*1 Nombre simbolico de origen


definido en la DCT.

de

transitorios.

QUEUE (NOMBRE)
INTO (AREA-DATOS)
|LENGTH (VALOR-DATOS)|
END-EXEC.
los

datos

tal

como

*1
*2
*3

esta

*2 Area del
datos.
*3 Longitud

programa

de

los

desde

datos

la

que

que

se

se

van

van

obtener

los

escribir.

===============================
= BORRAR DATOS TRANSITORIOS =
===============================

FUNCION: Solo se utiliza en las colas intraparticion, y bor------ra todos los datos asociados con un destino. Como consecuencia de este mandato, la memoria se
libera aunque los datos no se hayan leido.
FORMATO:
-------

EXEC CICS DELETEQ

TD

QUEUE (NOMBRE)
END-EXEC.

CONDICIONES QUE SE PUEDEN ACTIVAR :


=================================

QZERO

: Cola

vacia

en

LENGERR

: La
po

longitud de
de entrada.

los

NOSPACE

: No

hay

para

NOTOPEN

: Un

destina

QBUSI

: Se intenta una READQ TD


cribiendo en esa cola.

espacio
de

la

TD

READQ

TD.

datos

es

aadir

esta

mayor

mas

que

el

cam-

registros.

cerrado.
mientras

otra

esta

es-

15

QIDERR

: No hay entrada
referenciada.

en

INVREQ

: La longitud de los datos es cero o excede


longitud del chwh intervalo de control.

*********************************
* GESTION DE MEMORIA TEMPORAL *
*********************************

===============================
= ESCRIBIR MEMORIA TEMPORAL =

la

DCT

para

una

cola

de

TD

la

===============================

FUNCION: Escribe
------FORMATO:
-------

en

una

cola

EXEC CICS WRITEQ

de

TS

memoria

QUEUE (NOMBRE)
FROM (AREA-DATOS)
LENGTH (VALOR-DATOS)
|ITEM (AREA-DATOS)|REWRITE||
|MAIN / AUXILIARY|
END-EXEC.

*1 Nombre simbolico de destino


definido en la DCT.

de

los

*2 Area del
datos.

que

se

*3 Longitud

programa

de

los

desde

datos

la

que

temporal.

se

van

datos

van

tal

como

obtener

*1
*2
*3
*4
*5

esta

los

escribir.

*4 ITEM.- En el area de datos se pondra el numero de


gistro que ha sido escrito. Empieza por uno, y
incrementa de uno en uno.

rese

REWRITE.- Si queremos actualizar un registro, usamos esta


opcion, especificando en ITEM el numero de registro
que queremos actualizar.
*5 MAIN.-Memoria

principal.

AUXILIARY.- DASD.

16

===========================
= LEER MEMORIA TEMPORAL =
===========================

FUNCION: Lee
-------

en

FORMATO:
-------

una

cola

de

memoria

EXEC CICS READQ

TS

*1 Nombre simbolico de origen


definido en la DCT.

de

*2 Area del
datos.
*3 Longitud
*4 ITEM.- En

programa

de
el

los

desde

datos

area

de

la

que
datos

temporal.

QUEUE (NOMBRE)
INTO (AREA-DATOS)
LENGTH (VALOR-DATOS)
|ITEM (AREA-DATOS) / NEXT|
END-EXEC.
los

que

se
se

se

van

datos

van

pondre

tal

como

obtener

*1
*2
*3
*4

esta

los

escribir.
el

numero

de

re-

gistros

que

se

va

leer.

NEXT.- Se va a recuperar el siguiente


la cola, dentro de la tares.

registro logico

de

=============================
= BORRAR MEMORIA TEMPORAL =
=============================

FUNCION: Libeta la cola de memoria temporal, y


------datos asociados a ella se borraran.
FORMATO:
-------

EXEC CICS DELETEQ

TS

todos

los

QUEUE (NOMBRE)
END-EXEC.

CONDICIONES QUE SE PUEDEN ACTIVAR :


=================================

ITEMERR

: El
TS

ITEM
esta

utilizado
fuera de

LENGERR

: La
po

longitud de
de entrada.

los

NOSPACE

: No

hay

para

espacio

en la READQ
los limites.
datos

es

aadir

TS

mayor

mas

una

que

WRITEQ

el

cam-

registros.

17

IOERR

: Irrecuperable

QIDERR

: No

INVREQ

: La longitud de los datos


longitud del intervalo de

esite

una

error

de

entrada/salida

cola

TS

con

ese

para

TS.

nombre.

es cero
control.

excede

la

*********************************
* AMPLIACION DE COMANDOS CICS *
*********************************

=======================
= COMANDO SYNCPOINT =
=======================

FUNCION: Punto de sincronismo. Todas las actualizaciones hechas


------desde el comienzo de la tarea hasta la ejecucion
del SYNCPOINT no se pierden si despues de el o-

curre :
-Terminacion anormal
-Caida del CICS.
FORMATO:
-------

de

la

tarea.

EXEC SYNCPOINT
END-EXEC.

===================
= COMANDO START =
===================

FUNCION: Arranca desde una


-------terminal pasando
FORMATO:
-------

tarea una
los datos

transaccion contra
necesarios si lo

otro
desea

EXEC CICS START TRANSID (TRANSACCION)


|FROM (AREA-DATOS)|
|LENGTH (VALOR-DATOS)|
TERMID (ID-TERMINAL)
END-EXEC.

18

===================
= COMANDO ABEND =
===================

FUNCION: Sirve para terminar anormalmente una tarea. La me------moria asociada a esta tarea es liberada, y opcionalmente un DUMP con el codigo indicado en
ABCODE es obtenido de la tarea.
FORMATO:
-------

EXEC CICS ABEND |ABCODE (CODIGO-DE-ABEND)|


END-EXEC.

=====================
= COMANDO ADDRESS =
=====================

FUNCION: Sirve
------FORMATO:
-------

para

tener

acceso

las

determinadas

EXEC CICS ADDRESS |CSA (PTR-CSA)|


|CWA (PTR-CWA)|
|TWA (PTR-TWA)|
|TCTUA (PTR-TCTUA)|
END-EXEC.

====================

areas.

= COMANDO ASSIGN =
====================

FUNCION: Sirve
------FORMATO:
-------

para

asignar

areas

de

datos.

EXEC CICS ASSIGN TWALENG (AREA-DATOS-1)


CWALENG (AREA-DATOS-2)
OPID (AREA-DATOS-3) .....ID-OPERADOR
END-EXEC.

19

*****************************************************
* SOPORTE BASICO DE TRANSFORMACION DE DATOS (BMS) *
*****************************************************

COMPONENTES DE LAS OPERACIONES DEL BMS


**************************************

MAPAS FISICOS
=============

Contienen

informacion

sobre :

- Posiciones

de

los

campos.

- Atributos.
- Caracteristicas
vos.
- Datos

de

dependientes

cabecera

de

los

disposi-

iniciales.

MAPAS DE DESCRIPCION SIMBOLICA


==============================

Describen las areas de entrada/salida


tas por los programas de aplicacion.

MACROS DE DEFINICION DE MAPAS FISICOS


*************************************

MACRO DE DEFINICION DE CONJUNTO DE MAPAS

tal

como

son

vis-

========================================

Nombre-Conjunto-De-Mapas DFHMSD
TYPE = MAP / FINAL
|,MODE = IN / OUT / INOUT|
|,TERM = TIPO-DE-TERMINAL|
|,LANG = COBOL / ASM / PL1|
|,CTLR = (|PRINT| |,FREEKB| |,ALARM| |,FRSET|)|
|,DATA = FIELD / BLOCK|

20

MACRO DE DEFINICION DE MAPAS


============================

Nombre-De-Mapa

DFHMDI
|SIZE = (LINEA,COLUMNA)
|,LINE = NUMERO / NEXT / SAME|
|,COLUMN = NUMERO / NEXT / SAME|
|,JUSTIFY = (|LEFT / RIGHT| |,FIRST / LAST|)|
|,TIOAPFX = YES /NO|
|,DATA = FIELD / BLOCK|

MACRO DE DEFINICION DE CAMPOS


=============================

|NOMBRE-DE-CAMPO| DFHMDF
|,POS = NUMERO / (LINEA,COLUMNA)|
|ATTRB = (|ASKIP / PROT / UNPROT| |,NUM|
|,BTR / NORM / DRK| |,DET| |,IC| |,FSET|)|
|,LENGTH = NUMERO|
|,JUSTIFY = (|LEFT / RIGHT| |,BLANK / ZERO|)|
|,INITIAL = 'CUALQUIER INFORMACION USUARIO'|
|,GPRNAME = NOMBRE-GRUPO|
|,OCCURS = NUMERO|
|,PICIN = 'VALOR'|
|,PICOUT = 'VALOR'|

FIN DE DEFINICION DE CONJUNTO DE MAPAS


======================================

DFHMSD

TYPE = FINAL

DESCRIPCIONES DE MAPAS SIMBOLICOS (DSECTS)


******************************************

Nombre-Conjunto-De-Mapas

DFHMSD
TYPE = DSECT
|,BASE = NOMBRE|
|,TIOAPFX = YES / NO|
|,STORAGE = AUTO|

Los nombres de los


tienen el sufijo "I", y

campos en las DSECTC


en las de salida el

de entrada
sufijo "O".

21

==================
= RECEIVE MAP
=
==================

FUNCION: Recibe
-------

un

mapa.

FORMATO: EXEC CICS RECEIVE MAP (NOMBRE)


------|MAPSET (NOMBRE)|
|FROM (AREA-DATOS)| |LENGTH (VALOR)|
|TERMINAL |ASIS||
END-EXEC.
*1 - Nombre

del

mapa.

*2 - Nombre

del

conjunto

*3 - Especifica que los


programa, asi como
*4 - Los

datos

se

de

mapas.

datos proceden
su longitud.

provienen

*1
*2
*3
*4

de

un

de

otra

area

del

terminal.

=============
= SEND MAP =
=============

FUNCION: Envia
------FORMATO:
-------

un

mapa.

EXEC CICS SEND MAP (NOMBRE)


|MAPSET (NOMBRE)|
|TERMINAL |WAIT||
|FROM (AREA-DATOS)| |LENGTH (VALOR)|
|DATAONLY / MAPONLY|
END-EXEC.

*1 - Nombre

del

mapa.

*2 - Nombre

del

conjunto

*3 - Los

datos

se

envian

de
a

mapas.
un

terminal.

*1
*2
*3
*4
*5

*4 - Area definida en la aplicacion


transformar los datos, asi como
*5 - DATAONLY.- Solo
grama.
- MAPONLY.- Solo
to del mapa.

se

se

van

van

desde la que
su longitud.

escribir

escribir

los

los

datos

datos

se van

del

por

pro-

defec-

22

CONDICIONES QUE SE PUEDEN ACTIVAR :


=================================

MAPFAIL

: Los datos
formato.

INVMPSZ

: El mapa
area de

tienen

longitud

cero, o

entrada

especificado es demasiado ancho


representacion de la pantalla.

sin

para

el

23

=========
C.I.C.S
=========

* TRANSACCION.
-----------

Es uno o varios programas que se van a ejecutar como resultado


de una peticion. Puede tener asociados varios programas, en principio, el programa esta asociado a una unica transaccion y de esta
se puede arrancar otra transaccion.

* MONITOR DB/DC.
-------------

Monitor de teleproceso con base de datos, encargado de comunicarnos con el Host y acceder a los datos atraves de funciones. El
cics permite dar de alta nuevos terminales sin modificar el programa que envia el mensaje.

* MULTIPROGRAMACION.
-----------------

La multiprogramacion reparte el tiempo de CPU entre varios


programas, pero en cada instante hay un solo programa en la CPU.
Multitasking : (tareas)
Multihreading : Puede haber varios seores ejecutando el mismo
programa a la vez.

* MODULARIDAD Y TABLAS.
--------------------

Para el ordenador el cics es un unico Job, es el solo. El


cics ejecuta programas de usuario, tiene tablas y es una coleccion
de programas.

24

* MODULOS DE GESTION.
------------------

KCP
SCP
TCP
FCP
TDP
PCP

:
:
:
:
:
:

mira como avanza cada tarea,...


antes de meter un programa en memoria, mirara se cabe.
mensajes.
read y write se pueden sustituir en cics.
programas que circulan de un programa a otro.
mira si el programa esta en memoria cargado o no.

Para todo esto utilizan las tablas de control.

* PROGRAMACION CON COMANDOS.


-------------------------

EXEC CICS
funcion argumento
END-EXEC
-

valor-de-datos : variable cobol o una constante.


area-de-datos : variable cobol.
apuntador : direccion a la que hay que ir a buscar la variable.
nombre : literal, nombre de variable.
etiqueta : nombre etiqueta en cobol.

Cuando hacemos una peticion a cics, nos dara una respuesta,


como el sqlcode en DB2, pero hay dos opciones:
- El equivalente al sqlcode, EIBRCODE.
- Mediante la funcion HANDLE CONDITION.

* HANDLE CONDITION.
----------------

EXEC CICS HANDLE CONDITON


condicion(etiqueta)
condicion(etiqueta)
END-EXEC.
Establece a que etiqueta se va a saltar en caso de tener un
error determinado.
Los errores en vez de darlos con numeros los
En la HANDLE CONDITION se le dice "para todo
encuentras con un 'map file' te vas a 'esta
sucesivamente". No es muy recomendable porque
tructura JAKCSON.

da con literales.
el programa si te
etiqueta', y asi
parte toda la es-

25

Si se pone la HANDLE CONDITION, no se puede usar el EIBRCODE.


Se pueden poner varias HANDLE CONDITION en el mismo programa.
Cuando queremos anular una condicion de la HANDLE CONDITION ponemos la condicion pero sin etiqueta.

* COMO SE ARRANCA UNA TRANSACCION.


-------------------------------

Llega un identificador de transaccion tecleado en un terminal.


El TCP (programa de control de terminales) y usando la tabla TCT
reconoce los datos de entrada del terminal. SCP (programa de
control de memoria) autoriza el almacenamiento de estos datos en
en la TIOA (terminal input output area). Una vez autorizado el
almacenamiento, el TCP coloca los datos ahi y coloca un puntero
en la zona de la TCT que le corresponde a ese terminal. Si no hay
tarea asociada a ese terminal, el TCP pasa control al KCP (programa de control de tareas), quien reconoce los datos de TIOA. El SCP
autoriza el almacenamiento de esa tarea en el TCA y el KCP prepara
los datos para esta tarea. El KCP atraves de PCT (tabla de control
de programas) busca el programa asociado con esa transaccion. Si
el PPT dice que no esta pasa control a PCP (programa de control de
programas) que obtiene el programa de su libreria LOAD y lo coloca
en memoria y entonces el KCP pasa control al programa de aplicacion.

* FUNCION TERMINAL CONTROL.


------------------------

EXEC CICS SEND


FROM(area-datos)
LENGTH(valor-datos)

{WAIT}
END-EXEC.
Su funcion es la de envio de datos al terminal.
EXEC CICS
RETURN
END-EXEC.
Una de las
funciones es
terminar la transaccion y devolver
control al cics. Para su uso basico no necesita ningun parametro.
Despues del RETURN siempre tiene que ir un GOBACK.

26

EXEC CICS RECEIVE


INTO(area-datos)
LENGTH(valor-datos)
END-EXEC.
Recepciona datos desde un terminal.
EXEC CICS HANDLE AID
opcion (etiqueta)
opcion (etiqueta)
END-EXEC.
Hace lo mismo que la HANDLE CONDITION pero en vez de manejar
condiciones de error, son
teclas que nosotros damos desde el
terminal. Podemos evitar el quedarnos en un bucle. Para ver la
tecla que nos han pulsado podemos utilizar tambien la funcion
EIBAID. Se suele hacer por medio de una copy .

* FUNCION FILE CONTROL.


--------------------

El cics va a controlar los ficheros, no tendremos que abrirlos


ni cerrarlos, para eso utilizamos las funciones cics.
Los VSAM son de 3 tipos:
- KSDS : (KEY SECUENCIED DATA SET)
- ESDS : (ENTRY SECUENCIED DATA SET)
- RRDS : (RELATIVE REGISTER DATA SET)
VSAM, conjunto de programas que componen lo que se denomina
metodo de acceso que nos proporcionan unas ciertas facilidades
para acceder a los datos. Es a los ficheros lo que DB2 a las
tablas. Maneja tres tipos de ficheros:
- KSDS , son los ficheros ordenados por clave. Hay una clave
principal por la que se ordenan los ficheros
fisicamente, reservando parte del espacio libre por
necesidades de reorganizacion.

- ESDS, ficheros secuenciales ordenados


por el orden de
llegada, parecidos a los secuenciales pero con la
posibilidad de definir claves secuendarias.
- RRDS, funcionan conociendo la posicion relativa del
registro dentro del fichero, acceso directo.

27

EXEC CICS
READ DATASET(nombre)
INTO(area-datos)
RIDFLD(area-datos)
{KEYLENGTH(valor-datos)}
{UPDATE}
{GTEQ|EQUAL}
{LENGTH(valor-datos)}
END-EXEC.

*1
*2
*3
*4
*5
*6

Lectura de un conjunto de datos de acceso directo.


*1

nombre del fichero en CICS definido en la FCT.

*2

donde queremos que nos deje los datos.

*3

contiene la clave que queremos leer. Hay que mover a este


campo la clave antes de leer.

*5

el registro que vamos a leer sa va a quedar pillado para


nosotros, se queda en exclusiva hasta que lo escriba.

EXEC CICS REWRITE


DATASET(nombre)
FROM(area-datos)
END-EXEC.

*2

Se usa para actualizar un registro existente en un conjunto de


datos.
*2

especifica el area de datos desde el que se desea actualizar


el registro.
Las operaciones a seguir son:
- Lanzar un comando READ con opcion UPDATE.
- Realizar los datos necesarios en el area de datos.
- Ensayar un comando REWRITE.
- Si el comando REWRITE falla, sa debera ejecutar un comando
UNLOCK, para liberar el registro bloqueado.
EXEC CICS WRITE
DATASET(nombre)
FROM(area-datos)
RIDFLD(area-datos)

{MASSINSERT}
END-EXEC.
Sirve para aadir un nuevo registro en un conjunto de datos.

28

NORMATIVA PARA EL EMPLEO DE MAPAS EN


TRANSACCIONES CICS
=======================================

Con el fin de
mitir informacion
los programadores
rectamente.

optimizar el uso de la red y no transmisuperflua, es necesario aplicar por todos


los parametros "MAPONLY" y "DATAONLY" cor-

En la recepcion de mapas desde el terminal (RECEIVE MAP),


solo se reciben aquellos datos que han sido modificados.

se

En el
envia

envio (SEND MAP) si no se usan dichos parametros


al terminal el mapa fisico y los datos.

al

Con el parametro "MAPONLY"


terminal el mapa fisico.

en

Con el parametro "DATAONLY" en


al terminal los campos que tiene
cripcion simbolica.

la

send, solamente

se

la send, solamente
valor en el area

envia

se envia
de des-

Por lo tanto, excepto la primera vez en que puede ser


necesario enviar todo, se hace obligatorio el empleo de estos
parametros.
Se definiran los campos en los mapas con "MDT OFF" es
decir no poner el parametro "FSET". La opcion DATAONLY se
encargara de mantener la condicion de modificados de los
campos en los sucesivos reenvios
Si un campo tiene en su atributo el MDT en ON, sera
recibido en la primera operacion de entrada. Al desaparecer
este atributo habra campos que, aunque se visualicen en la
pantalla, no seran recibidos por el programa de aplicacion
y por ello este debera tener especial cuidado en tratar esta ausencia de informacion de entrada, se asume en este caso
los ultimos valores actualizados sobre la copia del mapa.

ma

Toda
con

esta normativa es
el lenguaje CSP.

asumida

standart

Se incluye a continuacion algunas


uso los parametros mencionados.

cuando

se

especificaciones

29

progra-

sobre el

DESCRIPCION DE UNA OPERACION DE SALIDA


======================================

Una

operacion

de

salida, en

general

implica:

1.- El BMS recoge del Area de Descripcion


programa los datos a enviar al terminal.

Simbolica

del

2.- Construye, utilizando la informacion del Mapa Fisico y


la informacion proporcionada en el mandato Send Map, el mensaje respecto a un terminal.

el

3.- Envia por medio del programa


mensaje al terminal concreto.

de

Control

de

Una

por

medio

del

operacion

SEND

de

salida

se

pide

Terminales

mandato:

MAP(nombre)
FROM(area-dato)
DATAONLY | MAPONLY
LENGTH(valor-dato)
MAPSET(nombre)
FMHPARM solo LUs
REQID(nombre)
LCD(nombre) solo LUs
CURSOR(valor-dato)
SET(ref-ptr) | TERMINAL | PAGING
WAIT
ACCUM
ERASE | ERASEAUP
PRINT
FREEKB
ALARM
FRSET
L40 | L64 | L80 | HONEOM,
NLEOM
LAST solo LUs

Condiciones:
IGREQCD, IGREQID, INVLDC, INVMPSZ,
INVREQ, OVERFLOW, RETPAGE, TSIOERR, WRBRK

30

PARAMETROS DE CONTROL DEL TERMINAL


==================================

Estos parametros producen que el BMS origine en la operacion de salida una corriente de datos con informacion para
el control del terminal.

FREEKB
FRSET

ERASE/ERASEAUP
PRINT

ALARM
NLEOM

CURSOR
L40 L64 L80

INFORMACION DE LA SITUACION DE LOS DATOS A ENVIAR


=================================================

La opcion por defecto es el area de


ca del programa. Podemos especificar otra
FROM, LENGTH.

descripcion simboliarea con la opcion

COMO REALIZAR LA DESCRIPCION SIMBOLICA DE LOS DATOS


===================================================

Disponemos de tres opciones:


MAPONLY

DATAONLY

NINGUN PARAMETRO

FORMA DE REALIZAR LA DESCRIPCION SIMBOLICA DE LOS DATOS


=======================================================

Ha de tenerse en cuenta como


de los datos con la informacion
co.

realiza el BMS la fusion


existente en el mapa fisi-

De igual forma se tendra en cuenta los elementos involucrados en la construccion de los mensajes por el BMS.

31

La

informacion
Datos

del

Datos

en

que

el

BMS

podra

utilizar

estara

en:

programa
el

mapa

fisico

------------------------------| DATOS
|
| INFORMACION |
| EN EL
|
--------|
EN
|
| PROGRAMA
|===>| BMS |<===| MAPA FISICO |
|
|
|---|---|
|
|
|-------------|
|
|---------------|
|
|
V
----------------------------------|
CORRIENTE DE SALIDA
|
-----------------------------------

de

A partir de estos datos, el BMS debe


salida, controlada con los parametros
MAPONLY

DATAONLY

crear

una

corriente

SIN OPCIONES

Con la opcion MAPONLY, el BMS no hace caso del area de


transformacion y envia al terminal la informacion existente
en el mapa fisico.

----------------|
|
| INFORMACION |
--------|
EN
|
| BMS |<====| MAPA FISICO |
|-------|
|---------------|
|
|
|
V
------------------------------|
CORRIENTE DE SALIDA
|
|-----------------------------|
Con la opcion DATAONLY, especificamos al bms que no
utilizar la informacion existente en el mapa fisico.
La corriente de salida se construye con la
existente en el area de descripcion simbolica.

debe

informacion

32

|---------------|
|
|
|
DATOS
|
|--------|
|
EN EL
|=======>| BMS
|
|
PROGRAMA
|
|--------|
|---------------|
|
|
|
V
|-----------------------------|
|
CORRIENTE DE SALIDA
|
|-----------------------------|

El

BMS

utiliza

esta

filosofia:

|---------|-----------|-----------|------------|------------|
| CAMPOA |
X'00'
|
X'00'
| NO X'00' | NO X'00' |
|---------|-----------|-----------|------------|------------|
| CAMPOO |
X'00'
| NO X'00' |
X'00'
| NO X'00' |
|---------|-----------|-----------|------------|------------|
| NO ENVIA | ENVIA
|
ENVIA
| ENVIA
|
| NADA
| CAMPOO
|
CAMPOA
| CAMPOA Y |

|
|
|
| CAMPOO
|
|-----------|-----------|------------|------------|

La
teres
EN

opcion DATAONLY, sirve para limitar el


que el CICS transmitira al terminal.
OPCION

DATAONLY

X'00'

SIGNIFICA

numero de

CARACTER

Un ejemplo tipico de la opcion DATAONLY es


mensajes de error en procesos de validacion.
En

una

operacion

de

entrada

DE
el

carac-

NO-ENVIO
envio

de

tenemos:

|------------------------|
|
|
|-------------|
|
RECEIVE MAP.....
|<<=====| TERMINAL
|
|
|
|-------------|
|------------------------|
|
|
| VALIDACION DE ENTRADA |
|
|
|------------------------|
|
|
|-------------|
|
SI ERROR, ENVIO
|=====>>| TERMINAL
|
|
DE MENSAJE
|
|-------------|
|------------------------|

33

En estas operaciones de envio de mensaje de error, podemos


utilizar la opcion DATAONLY para enviar solamente un atributo
que destaque el campo erroneo, por ejemplo poniendolo mas
brillante y aprovechar la informacion existente en el buffer
del terminal.
Si no se especifica ninguna opcion, el BMS realiza la fusion entre la informacion actual en el area de transformacion y la informacion existente en el mapa fisico.

|-----------------|
|------------------|
|
|
|
|
| DATOS
|
|-------|
|
INFORMACION
|
| EN EL
|===>>| BMS |<<==|
EN
|
| PROGRAMA
|
|-------|
|
MAPA FISICO
|
|-----------------|
|
|------------------|
|
|
V
|--------------------------------|
|
CORRIENTE DE SALIDA
|
|--------------------------------|

ra

Para realizar esta fusion, el bms considera


campos variables existentes en el area de

los datos padescripcion

simbolica

segun

esta

filosofia:

|----------|----------|-----------|-----------|-----------|
| CampoA
|
X'00' |
X'00'
| NO X'00' | NO X'00' |
|----------|----------|-----------|-----------|-----------|
| CampoO
|
X'00' | NO X'00' |
X'00'
| NO X'00' |
|----------|----------|-----------|-----------|-----------|
| ATRIBUTO | ATRIBUTO | ATRIBUTO | ATRIBUTO |
| Y DATO
| DEL MAPA | DEL AREA. | Y DATO
|
| DEL
| FISICO.
| DATO DEL | DEL
|
| MAPA
| DATO DEL | MAPA
| AREA
|
| FISICO
| AREA.
| FISICO
|
|
|----------|-----------|-----------|-----------|

Esta forma de actuar, implica que el programa puede modificar dinamicamente los atributos definidos para un campo segun las circunstancias, colocando simplemente el atributo deseado en el area de descripcion simbolica.

34

Por otra parte, si se desea enviar una informacion al


terminal, habra que limpiar previamente con ceros binarios el
area de descripcion simbolica de tal forma que el formato
deseado para estos datos no se modifique.
Una

operacion

de

salida

basica

en

bms

supone

estos pasos:

LIMPIAR EL AREA DE DESCRIPCION SIMBOLICA A X'00'


MODIFICAR DINAMICAMENTE ATRIBUTOS (COPIAR DFHBMSCA)
MOVER DATOS A CAMPOS DE SALIDA
REALIZAR LA PETICION DE SALIDA AL BMS

LIMPIEZA DEL AREA DE DESCRIPCION SIMBOLICA


==========================================

Cada

de

lenguaje

El objetivo
descripcion

de

programacion

es poner a
simbolica.

ceros

NOTA.- Para una informacion


nual, Programacion Avanzada de

tiene

una

tecnica

diferente.

binarios, X'00', toda

mas detallada
CICS/VS.

dirigirse

el area

al

ma-

35

****************************************************************
***
***

**** CAMBIOS EN PROGRAMAS CICS PARA CONVERTIR A COBOL II


****
***
***
****************************************************************

**********************************************************************
* Obtencion de la Fecha del Sistema
*
*--------------------------------------------------------------------*
* En los programas Cics no esta permitida la instruccion:
*
*
ACCEPT xxxxxx FROM DATE
*
*
*
* La Fecha del Sistema se podra obtener mediante las instrucciones: *
*
EXEC CICS ASKTIME ABSTIME | (ver formato en fotocopias de
*
*
EXEC CICS FORMATTIME
| normas de conversion a Cobol II) *
**********************************************************************

***********************************************************************
* Instruccion
ADDRESS
*
*---------------------------------------------------------------------*
* - Quitar de la LINKAGE-SECTION la lista de BLL.
*
*
*
* - Definir en la WORKING-STORAGE SECTION:
*
*
01 APUNTADOR.
*
*
01 RAPUNTADOR REDEFINES APUNTADOR
*
*
*
* - Codificar en la PROCEDURE DIVISION:
*
*
EXEC CICS
ADDRESS identificador1(APUNTADOR)
END-EXEC. *
*
SET ADDRESS OF identificador2 TO APUNTADOR.
*
*
MOVE RAPUNTADOR TO identificador3.
*
*
*
*
DONDE:
*
*
. identificador1 = estructura que direccionaba la BLL
*
*
(TCTUA, CWA ...)
*
*
. identificador2 = nombre del registro (nivel 01)
*
*
. identificador3 = campo en el que se guarda la direccion
*
*
*
***********************************************************************

36

***********************************************************************
* Instruccion
GETMAIN
*
*---------------------------------------------------------------------*
* - Quitar de la LINKAGE-SECTION la lista de BLL.
*
*
*
* - Definir en la WORKING-STORAGE SECTION:
*
*
01 APUNTADOR.
*
*
01 RAPUNTADOR REDEFINES APUNTADOR
*
*
*
* - Codificar en la PROCEDURE DIVISION:
*
*
EXEC CICS
GETMAIN SET (APUNTADOR) LENGTH (longitud)
*
*
INITIMG (identificador1)
END-EXEC. *
*
SET ADDRESS OF identificador2 TO APUNTADOR.
*

*
MOVE RAPUNTADOR TO identificador3.
*
*
*
*
DONDE:
*
*
. identificador1 = valor al que se inicializa el area
*
*
. identificador2 = nombre del registro (nivel 01)
*
*
. identificador3 = campo en el que se guarda la direccion
*
*
*
***********************************************************************


Potrebbero piacerti anche