Manual Del Usuario CICS
Manual Del Usuario CICS
Manual Del Usuario CICS
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 ......................
2
3
CICS/VS.
Tabla
Tabla
Tabla
Tabla
Tabla
CONTROL
DE
de
de
de
de
de
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.
II
INDICE
GESTION
DE
DATOS.
GESTION
DE
DATOS
11
12
12
12
TRANSITORIOS.
GESTION
DE
MEMORIA
TEMPORAL.
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).
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.
CAMBIOS
EN
PROGRAMAS
CICS
PARA
CONVERTIR
COBOL
30
30
30
33
34
II.
*********************
*
*
* 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
|
|_____________________|
|_____________________|
- 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).
- 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
co-
- Tabla
de
- Tabla
de
- Tabla
de
************************************
* CONTROL DE PROGRAMAS DEL CICS *
************************************
============
= RETURN =
============
FUNCION: Dar
------FORMATO:
-------
control al
descarga.
CICS. El
programa
se
termina
se
*1
*2
*3
*2 Nombre
de
*3 Longitud
dato
de
la
definido
en
la
Working.
commarea.
===========
= LINK
=
===========
programa
FORMATO:
-------
principal.
PROGRAM ('NAME')
|COMMAREA(DATA-AREA)|
|LENGTH (DATA-VALUE)|
END-EXEC.
*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:
-------
PROGRAM ('NAME')
|COMMAREA(DATA-AREA)|
|LENGTH (DATA-VALUE)|
END-EXEC.
*1
PRMIDERR
: Se ha especificado
esta en la PPT, o
************************************
* CONTROL DE TERMINALES DEL CICS *
************************************
==================
= SEND
=
==================
FUNCION: Envia
------FORMATO:
-------
datos
otro
terminal.
*1
*2
|WAIT|
END-EXEC.
*3
del
mensaje
que
se
envia.
completado
antes
de
per-
===================
= RECEIVE
=
===================
FUNCION: Recibe
-------
datos
desde
otro
terminal.
FORMATO:
-------
del
*1
*2
cogera el mensaje;
en memoria.
mensaje.
=============
= WAIT
=
=============
**********************************
* CONTROL DE FICHEROS DEL CICS *
**********************************
==========
= READ =
==========
FUNCION: Leer
-------
un
FORMATO:
-------
*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
por
omite
ficheros
clave
asume
indexados.
generica.
busca
igual.
==============
= WRITE
=
==============
FUNCION: Escribir
------FORMATO:
-------
un
registro
en
un
fichero.
*1 Numero, longitud
del
registro
que
se
quiere
escribir.
*1
================
= UPDATE
=
================
============
= DELETE =
============
FUNCION: Borrar
------FORMATO:
-------
*1 Si no
DATE.
un
registro
en
un
fichero.
pone
hay
que
hacer
primero
una
READ
con
UP-
=============
= UNLOCK
=
=============
creado
por
una
READ
DSIDER
: Dataset
fichero
INVREQ
ILLOGIC
NOTFND
: Registro
no
encontrado.
DUPREC
: Intento escribir en
clave ya existe.
ENDFILE
: Fin
LENGERR
DUPKEY
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
defecto
asume
GTEQ.
10
====================
= READNEXT
=
====================
posicionarse
en
un
*1 Nombre del
los datos.
campo
de
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.
de
posicionar-
de
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-
**********************
* GESTION DE DATOS *
**********************
hay
que
guardar
datos
en
un
estado
El CICS/VS
datos :
proporciona
1.- Gestion
2.- Gestion
de
de
dos
caminos
para
tratar
ser
estos
ITEM
de
datos
solo
puede
ser
recuperado
una
di-
vez.
12
Hay
dos
formas
de
datos
transitorios :
transitorios
- Creadas
- Creadas
extraparticion.- Son
colas
de
da-
del
del
CICS
CICS
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-
cualquier disposecuenciales de
|FIJA
| Y |BLOQUEADOS
|
|VARIABLE|
|DESBLOQUEADOS|
la
memoria
temporal, se
pueden
13
La memoria temporal no se
recuperados los datos; debemos
bera la cola completa.
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
TD
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
TD
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:
-------
TD
QUEUE (NOMBRE)
END-EXEC.
QZERO
: Cola
vacia
en
LENGERR
: La
po
longitud de
de entrada.
los
NOSPACE
: No
hay
para
NOTOPEN
: Un
destina
QBUSI
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
*********************************
* GESTION DE MEMORIA TEMPORAL *
*********************************
===============================
= ESCRIBIR MEMORIA TEMPORAL =
la
DCT
para
una
cola
de
TD
la
===============================
FUNCION: Escribe
------FORMATO:
-------
en
una
cola
de
TS
memoria
QUEUE (NOMBRE)
FROM (AREA-DATOS)
LENGTH (VALOR-DATOS)
|ITEM (AREA-DATOS)|REWRITE||
|MAIN / AUXILIARY|
END-EXEC.
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.
rese
principal.
AUXILIARY.- DASD.
16
===========================
= LEER MEMORIA TEMPORAL =
===========================
FUNCION: Lee
-------
en
FORMATO:
-------
una
cola
de
memoria
TS
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.
registro logico
de
=============================
= BORRAR MEMORIA TEMPORAL =
=============================
TS
todos
los
QUEUE (NOMBRE)
END-EXEC.
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
esite
una
error
de
entrada/salida
cola
TS
con
ese
para
TS.
nombre.
es cero
control.
excede
la
*********************************
* AMPLIACION DE COMANDOS CICS *
*********************************
=======================
= COMANDO SYNCPOINT =
=======================
curre :
-Terminacion anormal
-Caida del CICS.
FORMATO:
-------
de
la
tarea.
EXEC SYNCPOINT
END-EXEC.
===================
= COMANDO START =
===================
tarea una
los datos
transaccion contra
necesarios si lo
otro
desea
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:
-------
=====================
= COMANDO ADDRESS =
=====================
FUNCION: Sirve
------FORMATO:
-------
para
tener
acceso
las
determinadas
====================
areas.
= COMANDO ASSIGN =
====================
FUNCION: Sirve
------FORMATO:
-------
para
asignar
areas
de
datos.
19
*****************************************************
* SOPORTE BASICO DE TRANSFORMACION DE DATOS (BMS) *
*****************************************************
MAPAS FISICOS
=============
Contienen
informacion
sobre :
- Posiciones
de
los
campos.
- Atributos.
- Caracteristicas
vos.
- Datos
de
dependientes
cabecera
de
los
disposi-
iniciales.
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
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|
|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'|
DFHMSD
TYPE = FINAL
Nombre-Conjunto-De-Mapas
DFHMSD
TYPE = DSECT
|,BASE = NOMBRE|
|,TIOAPFX = YES / NO|
|,STORAGE = AUTO|
de entrada
sufijo "O".
21
==================
= RECEIVE MAP
=
==================
FUNCION: Recibe
-------
un
mapa.
del
mapa.
*2 - Nombre
del
conjunto
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.
*1 - Nombre
del
mapa.
*2 - Nombre
del
conjunto
*3 - Los
datos
se
envian
de
a
mapas.
un
terminal.
*1
*2
*3
*4
*5
se
se
van
van
desde la que
su longitud.
escribir
escribir
los
los
datos
datos
se van
del
por
pro-
defec-
22
MAPFAIL
: Los datos
formato.
INVMPSZ
: El mapa
area de
tienen
longitud
cero, o
entrada
sin
para
el
23
=========
C.I.C.S
=========
* 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.
-----------------
* MODULARIDAD Y TABLAS.
--------------------
24
* MODULOS DE GESTION.
------------------
KCP
SCP
TCP
FCP
TDP
PCP
:
:
:
:
:
:
EXEC CICS
funcion argumento
END-EXEC
-
* HANDLE CONDITION.
----------------
da con literales.
el programa si te
etiqueta', y asi
parte toda la es-
25
{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
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
*2
*3
*5
*2
{MASSINSERT}
END-EXEC.
Sirve para aadir un nuevo registro en un conjunto de datos.
28
Con el fin de
mitir informacion
los programadores
rectamente.
se
En el
envia
al
en
la
send, solamente
se
la send, solamente
valor en el area
envia
se envia
de des-
ma
Toda
con
esta normativa es
el lenguaje CSP.
asumida
standart
cuando
se
especificaciones
29
progra-
sobre el
Una
operacion
de
salida, en
general
implica:
Simbolica
del
el
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
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
DATAONLY
NINGUN PARAMETRO
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
DATAONLY
crear
una
corriente
SIN OPCIONES
----------------|
|
| 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
DATAONLY
X'00'
SIGNIFICA
numero de
CARACTER
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
|-----------------|
|------------------|
|
|
|
|
| DATOS
|
|-------|
|
INFORMACION
|
| EN EL
|===>>| BMS |<<==|
EN
|
| PROGRAMA
|
|-------|
|
MAPA FISICO
|
|-----------------|
|
|------------------|
|
|
V
|--------------------------------|
|
CORRIENTE DE SALIDA
|
|--------------------------------|
ra
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
operacion
de
salida
basica
en
bms
supone
estos pasos:
Cada
de
lenguaje
El objetivo
descripcion
de
programacion
es poner a
simbolica.
ceros
tiene
una
tecnica
diferente.
mas detallada
CICS/VS.
dirigirse
el area
al
ma-
35
****************************************************************
***
***
**********************************************************************
* 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
*
*
*
***********************************************************************