Mainframe Application Design

Anuncio
CICS
Desarrollo de Aplicaciones
CICS
• Customer Information Control System
• Producto de I.B.M. utilizado para el manejo de
aplicaciones ON LINE
• Plataforma en el Mainframe por la cual programas
Cobol son capaces de realizar procesos
transaccionales en una terminal
Esquema de proceso Batch
Esquema de Proceso On Line
CICS/VTAM
TERMINAL
CICS/VTAM
Definición de mapas y uso

Concepto de terminal 3270
– Despliegue de datos en formato texto
TECLEAR NOMBRE Y NO. POLIZA
Constantes


–
Variables
Todos los campos (constantes o variables)
contienen el BYTE DE ATRIBUTO
BMS
• Basic Mapping Support
• Simplifica la programación
– Para la comunicación con terminales
– En la presentación de información en éstas
• Si quisiéramos enviar un mensaje a la terminal con el texto
“HOLA AMIGOS”
• Y que se presente en el renglón 12 y columna 1
• Deberá haber 880 caracteres en blanco antes del punto
deseado
BMS
R -12
C -01
HOLA AMIGOS
Blancos (880)

HOLA AMIGOS
Tendremos que armar un Data Stream:
BMS

Una alternativa
– Utilizar caracteres de control
CARACTERES DE
CONTROL
HOLA AMIGOS
La segunda solución es la más viable
 El programador tendría que colocar éstos caracteres de
control
 Solución real: BMS

BMS
• Actúa como interfaz entre el programa aplicativo y el
controlador de comunicaciones con terminales
• Permite se escriban los programas de aplicación sin
importar las características de la red corporativa
• Genera dos tipos de Mapas
– Físicos
– Simbólicos
Mapa físico
• Conjunto de postulados fuente
• Describen el formato de despliegue de información
• Incluye:
– Longitud y localización del campo
– Atributo de campo (protegido, brillante, etc.)
– Constantes y campos de entrada/salida
– Características de la terminal
Mapa Físico
ÞBANCO SANTANDER
POLIZA
MAPA
... ... ...
... ... ...
... ... ...
... ... ...
*....................
NOMBRE *..............................
Mapa Simbólico
• Etiquetas o nombres que el programador asigna a los
campos
• Constante o variables que se despliegan en la terminal
• Se incluye en la Working-Storage Section
• Comúnmente llamado Copybook Cobol
• Se genera al momento de ensamblar las macros y siempre
y cuando no se tengan errores
• El programador tiene acceso a los campos:
– Longitud del campo
– Byte de atributo
Mapa Simbólico
Þ


DSECT
1

2
1
2
A cada campo de la terminal, BMS le asigna un prefijo,
como se muestra en la figura
BMS

Los mapas físicos se definen en CICS :
– Codificados con macros de Ensamblador

Los mapas simbólicos deberán estar en la biblioteca
de COPYS de la aplicación
Creación de mapas
Los físicos y simbólicos se generan independientes al
programa
Ejemplo:
1. Se genera el mapa físico
MAP
Codificación
de las
Macros
BIBLIOTECA
MAPAS
2. Se genera el mapa simbólico
DSECT
ENSAMBLE
Y LINK
BIBLIOTECA
COPYS
Mapset
INICIO DEL MAPSET
DFHMSD.....
MAPA 1
MAPA 2
MAPA 3
MAPA 4
………………
--- --- --- --- --- --FIN DEL MAPSET
DFHMDI .....
DFHMDF.....
DFHMDF.....
DFHMDF.....
DFHMDI .....
DFHMDF.....
DFHMDF.....
DFHMDF.....
DFHMDI .....
DFHMDF.....
DFHMDF.....
DFHMDF.....
DFHMDI .....
DFHMDF.....
DFHMDF.....
DFHMDF.....
DFHMSD
Macro DFHMSD
Codificación – Principales parámetros
NOMBRE DFHMSD TYPE =
MODE =
LANG =
TERM =
DSECT
MAP
FINAL
Creación de Mapset SIMBOLICO
Compila mapa
Fin de descripción de Mapset
IN
OUT
INOUT
Uso solo display de entrada
Uso solo display de salida
Uso de entrada y salida
ASM
COBOL
PL1
Tipo
El programa que usará el mapa está escrito en:
Assembler
Cobol
PL1
Emulación a terminal 3270
Macro DFHMDI
Codificación – Principales parámetros
NOMBRE DFHMDI SIZE = (línea, columna),
(1 a 7 caracteres)
LINE = nnn,
Especifica líneas y columnas del
mapa
Define la posición inicial del mapa en la
pantalla (de 1 a 240)
COLUMN = nnn,
Define la posición de izquierda a
derecha en Pantalla de acuerdo
al parámetro JUSTIFY (de 1 a 240)
LEFT
JUSTIFY = RIGTH
Alinea el mapa a la izquierda o
derecha de la pantalla. Default=LEFT.
DATA =
(Ver lámina anterior)
FIELD
Macro DFHMDI
Codificación
–
–
SIZE. Indica el tamaño de la pantalla dentro del
Mapset
La ubicación del mapa depende del parámetro
JUSTIFY


LEFT. ubicará la pantalla n posiciones después del inicio de
la pantalla y hacia la izquierda
RIGTH ubicará la pantalla n posiciones antes del final de la
pantalla y hacia la derecha.
Macro DFHMDF
Codificación – Principales parámetros
NOMBRE DFHMDF POS=(línea, columna)
(1 a 7 caracteres
Campo opcional)
Posición relativa con respecto al mapa
no a la pantalla, del byte de atributo.
ASKIP, NUM, BRT,
ATTRB= ( PROT, NORM, FSET, IC)
UNPROT, DRK,
Define características
del campo
INITIAL = ‘constantes’
Constante, título del campo
LENGTH = 1 to 256
Longitud del campo
PICIN = ´valor’
Genera picture para Cobol (*)
PICOUT= ‘valor’
(*)
Macro DFHMDF
• El nombre de campo se usa de acuerdo al manejo de
variables y constantes
• Requerido para definir variables
• Para constantes puede o no utilizarse
• Los campos se deben definir en orden de arriba abajo
y de izquierda a derecha
• Algunos valores del parámetro ATTRIB
• ASKIP. Provoca que el cursor salte automáticamente al
siguiente campo
• PROT. Define un campo protegido, no modificable en pantalla
• UNPROT. Define un campo disponible para entrada de datos
Macro DFHMDF

Algunos valores del parámetro ATTRIB
–
–
–
–
–
–
NUM. Define un campo numérico
BRT. Campo visualizable en intensidad brillante
NORM. Campo con brillantez normal
DRK. Campo no desplegable (invisible) para efectos de
seguridad
IC. Coloca al inicio el cursor en la posición de éste
campo
FSET. Campo modificable por el operador
Byte de atributo
• Este byte siempre precede al campo.
• Atributos que puede tener:
– Protegido. El operador no puede teclear sobre él
– Brillante. Despliegue del campo con mayor luminosidad
– Desprotegido. El operador puede modificar o dar
entrada a datos
– Normal. Despliegue del campo con brillantez normal
– No desplegable. Los caracteres en el campo no son
visibles, para datos confidenciales
Comandos de CICS
• Formatos de comandos y separadores de código de
aplicación
– Cobol
EXEC CICS función opción (argumento)
opción (argumento)
END-EXEC.
Formato comando receive
• Utilizado para recibir información de un mapa y desde
la terminal.
– Principales parámetros
EXEC CICS
END-EXEC.
RECEIVE MAP(„nombre mapa‟)
MAPSET(„nombre mapset‟)
INTO(I/O área)
SET (pointer)
Formato comando Send
•
Utilizado para enviar un mapa a la terminal
– Principales parámetros
EXEC CICS
SEND MAP(‘nombre mapa’)
MAPSET(‘nombre mapset’)
DATAONLY
Solo los datos son
MAPONLY
ALARM
CURSOR
ERASE
FREEKB
ERASEUP
END-EXEC.
enviados
Solo el mapa físico es
enviado
Emite sonido la terminal
Respeta última posición
cursor
Borra pantalla antes de
enviar
Libera el teclado
Borra campos no
protegidos
Cobol/CICS
Incluir mapa simbólico en programa Cobol
– Ejemplo:
IDENTIFICATION DIVISION.
PROGRAM-ID.
EJEMPLO.
... ... ...
ENVIRONMENT DIVISION.
DATA DIVISION.
... ... ...
WORKING-STORAGE SECTION.
… … …
COPY MAPA1.
PROCEDURE DIVISION.
… … … … … ..
EXEC CICS
END EXEC.
RECEIVE MAP(MAPA1)
MAPSET(MSET1)
MAPA1
……
……
……
Biblioteca de
copys de
aplicación
–
En el ejemplo anterior el contenido del módulo carga
MAPA1 es movido al área I/O del programa MAPA1
–
Esto al momento de ejecución, con la sentencia RECEIVE
–
Codificación completa en la página siguiente
Codificación completa
IDENTIFICATION
DIVISION.
PROGRAM-ID.
EJEMPLO.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
COPY MAPA1
PROCEDURE DIVISION.
EXEC CICS
HANDLE CONDITION
MAPFAIL (NO-HAY-MAPA)
END-EXEC
EXEC CICS
RECEIVE MAP(MAPA1)
MAPSET (MSET1)
INTO (MAPA1I)
END-EXEC.
IF POLIZAI IS NOT NUMERIC
MOVE ‘POLIZA ERRONEA’ TO MESSGO
ELSE
MOVE ‘POLIZA CORRECTA’ TO MESSG0.
EXEC CICS SEND MAP(MAPA1)
MAPSET(MSET1)
FROM (MAPA10)
END-EXEC.
EXEC CICS RETURN
END-EXEC.
NO-HAY-MAPA.
MOVE ‘ ‘ TO TRANA
MOVE ‘PRUEBA’ TO TRANO
EXEC CICS SEND MAP(MAPA1)
MAPSET(MSET1)
FROM(MAPA1O)
END-EXEC.
EXEC CICS RETURN
END-EXEC.
Handle Condition

Especificación de condiciones de excepción

Se presentan al momento de ejecución de una transacción

Ejemplo de utilización en la siguiente página
Handle Condition
IDENTIFICATION
DIVISION.
…………
ENVIRONMENT
DIVISION.
………………
DATA
DIVISION.
WORKING-STORAGE
SECTION.
………………
PROCEDURE
DIVISION.
... ... ... ...
EXEC CICS
HANDLE CONDITION
NOTFND (CAMINO-B)
DUPKEY (CAMINO-C)
END-EXEC.
... ... ... ... ... ...
... ... ... ... ... ...
EXEC CICS
READ DATASET
( ‘FILETEST’)
RIDFLD (LLAVE)
END-EXEC.
EXEC CICS
WRITE DATASET
(‘FILETEST’)
RIDFLD (LLAVE)
END-EXEC.
... ... ... ... ... ...
... ... ... ... ... ...
FIN-DE-TRANSACCIÓN.
... ... ... ... ... ...
CAMINO-B
SECTION.
... ... ...
... ... ...
... ... ...
CAMINO-C
SECTION.
... ... ...
... ... ...
... ... ...
Ejemplo de receive y Send
IDENTIFICATION DIVISION.
... ... ...
... ... ...
WORKING-STORAGE SECTION.
77
LONG-MENSAJE PIC S9(4)
COMP VALUE 15.
01 IO-TERMINAL.
02 TRANSAC
PIC X(4).
02 FILLER
PIC X.
02 MENSAJE
PIC X(11).
... ... ...
PROCEDURE DIVISION.
EXEC CICS
HANDLE CONDITION
LENGERR (050-LONG-ERROR)
END EXEC.
...
...
EXEC CICS
RECEIVE
INTO (IO-TERMINAL)
LENGTH (LONG-MENSAJE)
END EXEC.
... ...
MOVE ‘HOLA’ TO TRANSAC.
EXEC CICS
SEND
FROM (IO-TERMINAL)
LENGTH (LONG-MENSAJE)
END EXEC.
050-LONG-ERROR.
... ... ... ...
Transacción
• Transacción
– Un programa Cobol se asocia a un recurso en CICS
llamado TRANSACCION
– Nombre del programa de 8 caracteres
– Nombre de transacción de 4 caracteres
– Ejemplo:
• Nombre de programa ZM2IJG31
• Nombre de transacción TEST
– CICS debe tener registrados estos nombres junto
con sus características
Tarea
• Tarea
– Unidad de trabajo en CICS
– Un programa aplicativo corriendo bajo CICS
TRANSACCION
TRANSACCION
TRANSACCION
TAREA 1
TAREA 2
TAREA 3
APLICACION
Programas
•CICS proporciona
–Comandos requeridos para la comunicación con las
terminales
–Control en la concurrencia de programas en
ejecución y usuarios
–Capacidad de acceso a datos de diversas
estructuras (DB2, VSAM, IMS, DL/1, etc.)
Precompilador de CICS
• Compilador Cobol no entiende comandos de CICS
• En la preparación para la ejecución de programas
– Se ejecuta un paso previo de pre compilación
– Revisión de sintaxis de los comandos de CICS
Precompilador CICS
COMANDO ANTES DE
PASAR POR EL TRADUCTOR
EXEC CICS
HANDLE CONDITION
MAPFAIL (500-ENVIA-MAPA)
END EXEC.
*
*
EXEC CICS
*
END EXEC.
MOVE
‘
COMANDO DESPUES
DE PASAR POR EL
TRADUCTOR
HANDLE CONDITION
MAPFAIL (500-ENVIA-MAPA)
‘
TO DFHEIVO CALL ´DFHEIT´ USING
DFHEIVO GO TO 500-ENVIA-MAPA
DEPENDING ON DFHEIGDI
Preparación de programas
PROGRAMA
FUENTE
LISTADO
DEL
TRADUCTOR
PRECOMPILADOR
(TRADUCTOR
COMANDOS)
PROGRAMA
FUENTE
TRADUCIDO
LISTADO DEL
COMPILADOR
COMPILADOR
COBOL
MODULO
OBJETO
LINKAGE
EDITOR
MODULO
DE
CARGA
LISTADO
LINKAGE
EDITOR
Comandos básicos de CICS
 Transferencia de control
– Cuando en cualquier parte de un programa se
requiere pasar el control de ejecución a otro
– En forma temporal o definitiva
– Temporal. Cuando un programa interrumpe su ejecución
para que otro se ejecute. Al terminar regresa a la última
instrucción en secuencia del programa llamador
– Definitiva. Cuando termina la ejecución del programa
llamado, no regresa al programa llamador.
Comandos básicos de CICS

Transferencia temporal
PRGTEST
Inicia proceso
IDENTIFICATION DIVISION.
... ...
... ...
PROCEDURE DIVISION.
... ...
... ...
EXEC CICS
LINK PROGRAM(NEXTPRG)
END-EXEC.
MOVE ... ...
... ...
... ...
EXEC CICS RETURN END-EXEC.
(Retorna control al CICS)
NEXTPRG
IDENTIFICATION DIVISION.
... ...
... ...
PROCEDURE DIVISION.
... ...
... ...
Cede control ... ...
temporal
... ...
... ...
... ...
... ...
EXEC CICS RETURN END-EXEC.
Comandos básicos de CICS

Transferencia Definitiva
PROGA
Inicia proceso
PROGB
IDENTIFICATION DIVISION.
... ...
... ...
IDENTIFICATION DIVISION.
... ...
... ...
PROCEDURE DIVISION.
Cede control definitivo... ...
... ...
EXEC CICS
XCTL PROGRAM(PROGB)
END-EXEC.
PROCEDURE DIVISION.
... ...
... ...
... ...
... ...
... ...
MOVE ... ...
... ...
... ...
EXEC CICS RETURN END-EXEC.
... ...
... ...
EXEC CICS RETURN END-EXEC.
(Retorna control al CICS)
Comandos básicos de CICS
 Transferencia de control
– Si no existe el programa llamado en las tablas de
CICS, tendremos un Abend
– Es posible evitar éste Abend mediante el uso de la
sentencia Handle Condition
– Dentro del programa aplicativo:
EXEC CICS
HANDLE CONDITION
(PGMIDERR(500-PROG-NO-ENCONTRADO)
END-EXEC.
... ...
... ...
500-PROGRAMA-NO-ENCONTRADO.
... ...
Área de comunicación
Ejemplo:
– Se requiere un programa PROGA cuya función será
sumar 2 números y dejar el resultado en un campo
– Que pueda ser llamado por cualquier otro programa
– Se utiliza un área de comunicación llamada
COMMAREA
– Este bloque de datos especifica el área compartida
por los programas
– LENGTH especifica el número de bytes a transmitir
Área de comunicación
Ejemplo:
PROGRAMA LLAMADOR
·
·
WORKING-STORAGE SECTION.
01 CAMPOS.
02 NUM-A PIC 9(5).
02 NUM-B PIC 9(5).
02 RESUL PIC 9(6).
·
·
·
·
PROCEDURE DIVISION.
·
·
MOVE 6 TO NUM-A
MOVE 127 TO NUM-B
EXEC CICS LINK PROGRAM (PROGA)
COMMAREA (CAMPOS)
LENGTH (16)
END EXEC.


MOVE RESUL TO.........
Ya afectado
PROGRAMA LLAMADO (PROGA)


WORKING-STORAGE SECTION.



LINKAGE SECTION.
01 DFHCOMMAREA.
02 A PIC 9 (5).
02 B PIC 9 (5).
02 C PIC 9 (6).
PROCEDURE DIVISION.
………
IF EIBCALEN > 0........OK
....
....
....
OK.
COMPUTE C = A + B




EXEC CICS RETURN END-EXEC
Comandos básicos de CICS
• Comando RETURN
– Regresa el control del proceso a CICS o al programa
llamador
– Una variante: El postulado TRANSID, define la próxima
transacción a ejecutar
– Ejemplo:
EXEC CICS
END-EXEC.
RETURN
TRANSID(„TRAN‟)
– Al terminar este programa, el control del proceso pasa al
CICS
– Siempre que esto no llame a otro programa
– Puede utilizar el postulado COMMAREA para pasar datos a
otro programa
EIB
• Exec Interface Block
• Bloque de información con datos útiles para el
programador
• Es generado por cada tarea iniciada
• Principales campos
•
•
•
•
•
•
•
•
EIBDATE. Fecha del día
EIBTIME. Hora de inicio de la tarea
EIBTASKN. Número de tarea
EIBTRNID. Identificación de la transacción
EIBTRMID. Número de terminal
EIBAID. Identifica última tecla pulsada
EIBCPOSN. Ultima posición del cursor en la pantalla
EIBCALEN. Longitud área de comunicación (COMMAREA)
Operación terminales
• Los caracteres tecleados se transmiten al CPU por pulsar
las teclas
– Enter
– Clear
– Teclas función PF1 a PF24
– Program Attention PA1 Y PA2
– Clear
• Se genera un Attention Identifier Byte (AIDBYTE) e indica
cual tecla se pulsó
Operación terminales
• MDT (Modified Data Tag), característica que tienen los
datos que da entrada o modifica el operador y viajan al
CPU.
• Input/Output Data Stream. Grupo de caracteres que son
enviados o recibidos de la terminal.
– Van acompañados de caracteres de control.
Archivos y facilidades
• Tipos de archivos
–
DB2
–
VSAM
–
BDAM
–
SAM
Archivos y facilidades
• Archivos propios de CICS
–
TRANSIENT DATA (TD)
–
TEMPORARY STORAGE (TS)
Transient Data (TD)
•TRANSIENT DATA QUEUES deben ser leídas
secuencialmente
• Son depósitos de información para proceso futuro
• TDQ pueden ser definidas e instaladas con RDO
mientras CICS esta corriendo
Transient Data (TD)
• Son de dos tipos:
–
EXTRAPARTITION
–
INTRAPARTITION
• Extrapartition. Procesadas fuera de la partición o
región del CICS
–
Cada destino es un archivo físico
–
Definido como Input File u Output File en la DCT
• Intrapartition. Procesadas dentro de la partición o
región del CICS
Transient Data (TD)
• Para escribir en TDQ se utiliza el comando:
EXEC CICS
WRITEQ TD
QUEUE(nombre)
FROM(data-area)
LENGTH(valor-dato)
END EXEC.
Indica escribir en TRANSIENT DATA
Identifica el nombre de la cola
área de datos donde se encuentra el
registro a grabar
Campo binario de 2 bytes que especifica
la longitud del registro a grabar
Comando delete (TD)
• Utilizado para borrar colas Intrapartición
• Libera la memoria asociada a ésta
• Formato:
EXEC CICS DELETE TD
QUEUE (nombre-queue)
END-EXEC.
Temporary Storage (TS)
•
•
•
•
Medio de almacenamiento de datos
Para utilización posterior
Similar a Transient Data
Utilizado comúnmente para procesos de Data Transfer
entre programas
– Las tareas pueden dejar información en
TEMPORARY STORAGE
– TS puede ser consultado por la misma tarea o por
otras distintas
– La información de TS se escribe en forma de
registros de longitud variable
– El almacenamiento puede ser hecho en memoria
o en dispositivo auxiliar (DISCO)
Temporary Storage (TS)
• A cada cola TS se le asigna un nombre de 8
caracteres, como identificador
• Este nombre es asignado por el programa cuando el
registro es escrito
• Varias tareas pueden estar ejecutando el mismo
programa
– Se puede causar un conflicto pues todas las tareas tratarían
de escribir el mismo registro en la TS
– La identificación del registro debe manejarse en forma
dinámica por cada tarea
– Se asocia el identificador de TS con el número de terminal
donde la tarea se encuentra activa
Temporary Storage (TS)
• Para escribir en TSQ se utiliza el comando:
EXEC CICS
WRITEQ TS
QUEUE(nombre)
FROM(data-area)
LENGTH(valor-dato)
ITEM(número)
REWRITE
MAIN/AUXILIARY
memoria
Indica escribir en TEMPORARY STORAGE
Identifica el nombre de la cola
área de datos del registro a grabar
Campo binario de 2 bytes que especifica
la longitud del registro a grabar
Campo binario de 2 bytes que contiene
el número de registro que va a ser
agregado
Indica una actualización
Especifica si es grabado en
principal o auxiliar, default AUXILIAR
END EXEC.
Temporary Storage (TS)
• Para leer en TSQ se utiliza el comando:
EXEC CICS
READQ TS
QUEUE(nombre)
IN TO(data-area)
LENGTH(valor-dato)
ITEM(número)/NEXT
END EXEC.
Lectura de TEMPORARY STORAGE
Identifica el nombre de la cola
área donde dejará el registro leído
Campo binario de 2 bytes que especifica
la longitud del registro
ITEM indica acceso directo a ese registro
NEXT indica recuperación secuencial
una vez que se ha iniciado lectura de un ítem
Temporary Storage (TS)
• Para borrar una TSQ se utiliza el comando:
EXEC CICS
END EXEC.
DELETEQ TS
Borra TEMPORARY STORAGE
QUEUE(nombre)
Identifica el nombre de la cola
Transacciones propias de CICS
CEDA, CEMT, CECI, CEBR, CEDF, CESN, CESF
Todas las transacciones de CICS inician con CE o con C
Las transacciones de usuario no pueden iniciar con C
Depuración de Aplicaciones
• EXECUTION DIAGNOSTIC FACILITY(EDF)
– Intercepta la ejecución de los comandos de CICS en
los programas de aplicación
– Permite que veamos que pasa dentro del programa
CICS
– Cada comando se despliega antes y después de su
ejecución
– Nos permite interactuar con el programa de aplicación
e inclusive indagar resultados de la ejecución
• Invocamos EDF desde alguna terminal, mediante la
instrucción CEDF
• Seguido del nombre de la transacción que queremos
depurar o indagar
Menú Acceso CICS
BIENVENIDOS AL TOR1 ALTAMIRA CICS TS V220 DESARROLLO 11:38:09
******\
******
\
********\
********\
**\
**
\\\\**
**\
\
**\
**
\
\\
**\
**
\
**\
**
\
**\
**
\
**\
**
\
**\
**
\
********\
********
\
******\
******
\\
\\\\\\
******\
******\
******\
******
\
**\
**
\\\
**\
**
\
**\
**
\
**\
**
\
**\
**
\
**\
**
\
******\
******
\
******\
******
\
\\\\\\
******\
******
\
********\
********\
**\
**
\\\\**
**\
\
**\
**
\
\\
**\
**
\
**\
**
\
**\
**
\
**\
**
\
**\
**
\
********\
********
\
******\
******
\\
\\\\\\
Sign on to CICS
******\
******
\(R)
********\
********\
**\
**
\\\\**
**\
\
**\
**
\
\\
*******\
*******
\
*******\
*******
\
\\\\**
**\
\
**\
**
\
**\
**
\
********\
********
\
******\
******
\\
\\\\\\
APPLID CICSDTA1
BIENVENIDOS AL TOR1 ALTAMIRA CICS TS V220 DESARROLLO
Type your userid and password, then press ENTER:
Userid . . . .
Password . . .
Language . . .
New Password . . .
DFHCE3520 Please type your userid.
F3=Exit
Groupid . . .
Acceso a EDF
CEDF
THIS TERMINAL: EDF MODE ON
Inmediatamente después de que se despliega el
mensaje anterior, se pulsa la tecla CLEAR y se digita
la transacción a depurar
EDF
• Intercepta la ejecución del programa
• Al inicio del programa, muestra el bloque EIB
• Al inicio de la ejecución de cada comando CICS, no de
la ejecución de las instrucciones Cobol
• EDF intercepta además la ejecución de las
instrucciones de SQL, todas aquellas que contienen
EXEC SQL
• Al terminar la ejecución de los comandos mencionados
a excepción de ABEND, XCTL y RETURN
• Al terminar el programa ya sea de forma normal o por
abnormal task termination
Estructura De Pantalla
• Todas las pantallas de EDF tienen el mismo formato
general, pero cambia el contenido de cada una de
ellas, dependiendo del punto donde el programa ha
sido interrumpido
• A continuación se muestra el formato para el caso de
que el EDF ha interceptado un comando CICS SEND
MAP
Estructura De Pantalla
TRANSACTION: HA00 PROGRAM: QC1CMSA TASK: 0016683 APPLID: CICSDM21 DISPLAY: 00
STATUS: COMMAND EXECUTION COMPLETE
EXEC CICS SEND MAP
1
MAP ('QCRMPFK')
FROM ('.........B......................................................'...)
LENGTH (206)
MAPSET ('QCRMLAE')
2
TERMINAL
ACCUM
OFFSET:X'001E16'
RESPONSE: NORMAL
LINE:00828
ENTER: CONTINUE
PF1 : UNDEFINED
PF4 : SUPPRESS DISPLAYS
PF7 : SCROLL BACK
PF10: PREVIOUS DISPLAY
PF2 :
PF5 :
PF8 :
PF11:
EIBFN=X'1804‘
EIBRESP=0
SWITCH HEX/CHAR
WORKING STORAGE
SCROLL FORWARD
EIB DISPLAY
3
PF3 :
PF6 :
PF9 :
PF12:
END EDF SESSION
USER DISPLAY
STOP CONDITIONS
ABEND USER TASK
4
Estructura De Pantalla
Los círculos muestran:
1.
2.
3.
4.
El encabezado. Contiene el identificador de la transacción que se
está ejecutando, el nombre del programa que se está ejecutando,
el número de tarea asignado por CICS la transacción, el número de
pantalla que se está visualizando y el status de la ejecución del
comando
El cuerpo de la pantalla. Al inicio de la transacción muestra el
contenido de la COMMAREA y algunos de los campos contenidos en
el bloque EIB, en el caso de la pantalla mostrada anteriormente,
muestra el comando a ejecutar (SEND), sus parámetros y valores
actuales, así como las direcciones de memoria donde se encuentran
Línea de mensaje. Despliega la dirección en donde se encuentra la
instrucción actualmente en ejecución, el número de línea y el último
valor del campo EIBFN, el resultado y código de respuesta de la
ejecución del comando
Menú de opciones. Muestra las diferentes teclas de control u de
función aplicables al evento
Estructura De Pantalla
Dependiendo del punto de intercepción en el programa, la pantalla de
EDF varía de contenido, Al inicio de la transacción y programa se
muestra:
TRANSACTION: HA00 PROGRAM: QC1CENT
STATUS: PROGRAM INITIATION
+
EIBTIME
EIBDATE
EIBTRNID
EIBTASKN
EIBTRMID
=
=
=
=
=
143245
0103211
'HA00'
16350
'X707'
EIBCPOSN
EIBCALEN
EIBAID
EIBFN
EIBRCODE
EIBDS
EIBREQID
=
=
=
=
=
=
=
4
0
X'7D'
X'0000'
X'000000000000'
'........'
'........'
ENTER: CONTINUE
PF1 : UNDEFINED
PF4 : SUPPRESS DISPLAYS
PF7 : SCROLL BACK
PF10: PREVIOUS DISPLAY
PF2 :
PF5 :
PF8 :
PF11:
TASK: 0016350 APPLID: CICSDM21 DISPLAY:
SWITCH HEX/CHAR
WORKING STORAGE
SCROLL FORWARD
EIB DISPLAY
00
AT X'002000EA'
AT X'002000EB'
AT X'002000ED'
PF3 :
PF6 :
PF9 :
PF12:
END EDF SESSION
USER DISPLAY
STOP CONDITIONS
UNDEFINED
Estructura De Pantalla
• Se muestra la COMMAREA y el contenido de los principales
campos del bloque EIB
• En la figura anterior vemos el inicio de una transacción HA00,
la cual ejecuta el programa QC1CENT y a la cual CICS le ha
asignado la tarea 16350
Estructura De Pantalla
TRANSACTION: HA00 PROGRAM: QC1CENT
DISPLAY ON CONDITION:-
TASK: 0016683 APPLID: CICSDM21 DISPLAY:
COMMAND:
EXEC CICS
OFFSET:
LINE NUMBER:
CICS EXCEPTIONAL CONDITION:
ANY CICS CONDITION
TRANSACTION ABEND
NORMAL TASK TERMINATION
ABNORMAL TASK TERMINATION
DLI ERROR STATUS:
ANY DLI ERROR STATUS
ENTER: CURRENT DISPLAY
PF1 : UNDEFINED
PF4 : SUPPRESS DISPLAYS
PF7 : UNDEFINED
PF10: UNDEFINED
00
X'......'
........
ERROR
NO
YES
YES
YES
..
PF2 :
PF5 :
PF8 :
PF11:
UNDEFINED
WORKING STORAGE
UNDEFINED
UNDEFINED
PF3 :
PF6 :
PF9 :
PF12:
UNDEFINED
USER DISPLAY
UNDEFINED
REMEMBER DISPLAY
En éste panel, definimos si queremos que se detenga en algún comando
de CICS en específico, en una dirección de ejecución del programa
(OFFSET), en alguna línea del programa en específico o al presentarse
alguna condición de excepción
Working--Storage
Working
Para verificar los resultados de la ejecución de un programa, podemos cambiar hacia el
panel que visualiza el contenido de la WORKING-STORAGE del programa mediante la
tecla PF5 Ejemplo:
TRANSACTION: HA00 PROGRAM: QC1CENT TASK: 0016683 APPLID: CICSDM21 DISPLAY:
ADDRESS: 002000EA
002000E0
000000
7D00 00000000
..........'.....
002000F0
000006
00000000 00000000 00000000 00000000
................
00200100
000016
00000040 40404040 40404000 00000000
...
.....
00200110
000026
00000000 00000000 00000000 00000000
................
00200120
000036
00000000 00000000 00000000 00000000
................
00200130
000046
00000000 00000000 00000000 00000000
................
00200140
000056
1BC00008 00000000 00000000 00000000
.{..............
00200150
000066
00000000 00000000 00000000 00000000
................
00200160
000076
00000000 00000000 00000000 00000000
................
00200170
000086
00000000 00000000 00000000 00000000
................
00200180
000096
00000000 00000000 00000000 00000000
................
00200190
0000A6
00000000 00000000 00000000 00000000
................
002001A0
0000B6
00000000 00000000 00000000 00000000
................
002001B0
0000C6
00000000 00000000 00000000 00000000
................
002001C0
0000D6
00000000 00000000 00000000 00000000
................
002001D0
0000E6
00000000 00000000 00000000 00000000
................
ENTER: CURRENT DISPLAY
PF1 : UNDEFINED
PF4 : EIB DISPLAY
PF7 : SCROLL BACK HALF
PF10: SCROLL BACK FULL
PF2 :
PF5 :
PF8 :
PF11:
BROWSE
INVOKE
SCROLL
SCROLL
TEMP STORAGE
CECI
FORWARD HALF
FORWARD FULL
PF3 :
PF6 :
PF9 :
PF12:
UNDEFINED
USER DISPLAY
UNDEFINED
REMEMBER DISPLAY
00
Working--Storage
Working
 En
la sección “ADDRESS” colocamos la dirección (en hexadecimal) de
la posición de memoria que deseamos visualizar
 Por ejemplo, si queremos visualizar la sección de memoria donde se
encuentra el valor del campo EIBAID, tomamos el número de la
derecha (diapositiva 68 señalado con rojo) y lo colocamos en la
sección “ADDRESS”, a continuación pulsamos Enter
 El resultado se ve en la figura anterior
 En otro caso, si queremos desplegar el contenido del bloque EIB,
pulsamos la tecla PF4
 En la página siguiente se muestra el resultado de ésta acción
Ver EIB
TRANSACTION: HA00 PROGRAM: QC1CENT
STATUS: EXEC INTERFACE BLOCK
+
EIBTIME
EIBDATE
EIBTRNID
EIBTASKN
EIBTRMID
=
=
=
=
=
143719
0103211
'HA00'
16683
'X707'
EIBCPOSN
EIBCALEN
EIBAID
EIBFN
EIBRCODE
EIBDS
EIBREQID
=
=
=
=
=
=
=
4
0
X'7D'
X'0000'
X'000000000000'
'........'
'........'
ENTER: CURRENT DISPLAY
PF1 : UNDEFINED
PF4 : EIB DISPLAY
PF7 : SCROLL BACK
PF10: UNDEFINED
PF2 :
PF5 :
PF8 :
PF11:
TASK: 0016683 APPLID: CICSDM21 DISPLAY:
SWITCH HEX/CHAR
WORKING STORAGE
SCROLL FORWARD
UNDEFINED
00
AT X'002000EA'
AT X'002000EB'
AT X'002000ED'
PF3 :
PF6 :
PF9 :
PF12:
UNDEFINED
USER DISPLAY
UNDEFINED
REMEMBER DISPLAY
Avance en el programa
Al pulsar la tecla Enter avanzamos hacia el siguiente comando de CICS,
en este caso, veremos el inicio de la ejecución del comando:
TRANSACTION: HA00 PROGRAM: QC1CENT TASK: 0016683 APPLID: CICSDM21 DISPLAY:
STATUS: ABOUT TO EXECUTE COMMAND
EXEC CICS HANDLE ABEND
LABEL
OFFSET:X'001A16'
LINE:01334
ENTER: CONTINUE
PF1 : UNDEFINED
PF4 : SUPPRESS DISPLAYS
PF7 : SCROLL BACK
PF10: PREVIOUS DISPLAY
PF2 :
PF5 :
PF8 :
PF11:
EIBFN=X'0E0E'
SWITCH HEX/CHAR
WORKING STORAGE
SCROLL FORWARD
EIB DISPLAY
PF3 :
PF6 :
PF9 :
PF12:
UNDEFINED
USER DISPLAY
STOP CONDITIONS
ABEND USER TASK
00
Avance en el programa
Un Enter más y veremos la ejecución del comando:
TRANSACTION: HA00 PROGRAM: QC1CENT TASK: 0016683 APPLID: CICSDM21 DISPLAY:
STATUS: COMMAND EXECUTION COMPLETE
EXEC CICS HANDLE ABEND
LABEL
OFFSET:X'001A16'
RESPONSE: NORMAL
LINE:01334
ENTER: CONTINUE
PF1 : UNDEFINED
PF4 : SUPPRESS DISPLAYS
PF7 : SCROLL BACK
PF10: PREVIOUS DISPLAY
PF2 :
PF5 :
PF8 :
PF11:
00
EIBFN=X'0E0E'
EIBRESP=0
SWITCH HEX/CHAR
WORKING STORAGE
SCROLL FORWARD
EIB DISPLAY
PF3 :
PF6 :
PF9 :
PF12:
END EDF SESSION
USER DISPLAY
STOP CONDITIONS
ABEND USER TASK
Sucesivamente seguiremos los comandos de CICS dentro del programa
Otras condiciones
Es posible que detengamos la ejecución del programa hasta el siguiente
comando LINK, para tal efecto configuramos la petición, en el panel PF9 “STOP
CONDITIONS” y pulsamos la tecla PF4 para suprimir el despliegue de cualquier
otro comando de CICS. EDF se detendrá en el siguiente comando LINK:
TRANSACTION: HA00 PROGRAM: QC1CENT TASK: 0016683 APPLID: CICSDM21 DISPLAY: 00
STATUS: ABOUT TO EXECUTE COMMAND
EXEC CICS LINK PROGRAM
PROGRAM ('QC2CCAE ')
COMMAREA ('......b..B...B.8.B.Q.B...AZ..A1..B..............
..
'...)
LENGTH (1607)
OFFSET:X'009CA8'
LINE:05525
ENTER: CONTINUE
PF1 : UNDEFINED
PF4 : SUPPRESS DISPLAYS
PF7 : SCROLL BACK
PF10: PREVIOUS DISPLAY
PF2 :
PF5 :
PF8 :
PF11:
EIBFN=X'0E02'
SWITCH HEX/CHAR
WORKING STORAGE
SCROLL FORWARD
EIB DISPLAY
PF3 :
PF6 :
PF9 :
PF12:
UNDEFINED
USER DISPLAY
STOP CONDITIONS
ABEND USER TASK
Otras condiciones
Al pulsar la tecla Enter, se iniciará la ejecución del siguiente programa
definido en el comando LINK (QC2CCAE), como se muestra en la siguiente
figura:
TRANSACTION: HA00 PROGRAM: QC2CCAE TASK: 0016683 APPLID: CICSDM21 DISPLAY: 00
STATUS: PROGRAM INITIATION
COMMAREA
= '......b..B...B.8.B.Q.B...AZ..A1..B..............
EIBTIME
= 144548
EIBDATE
= 0103211
EIBTRNID
= 'HA00'
EIBTASKN
= 16683
EIBTRMID
= 'X707'
+
EIBCPOSN
EIBCALEN
EIBAID
EIBFN
EIBRCODE
EIBDS
EIBREQID
=
=
=
=
=
=
=
4
1607
X'7D'
X'0E02' LINK
X'000000000000'
'........'
'........'
ENTER: CONTINUE
PF1 : UNDEFINED
PF4 : SUPPRESS DISPLAYS
PF7 : SCROLL BACK
PF10: PREVIOUS DISPLAY
PF2 :
PF5 :
PF8 :
PF11:
SWITCH HEX/CHAR
WORKING STORAGE
SCROLL FORWARD
EIB DISPLAY
'...
AT X'002000EA'
AT X'002000EB'
AT X'002000ED'
PF3 :
PF6 :
PF9 :
PF12:
END EDF SESSION
USER DISPLAY
STOP CONDITIONS
UNDEFINED
Otras condiciones
Si tomamos atención en la figura anterior, veremos que en el renglón de la COMMAREA, a la
derecha solo se visualizan una serie de puntos. Esto indica que los datos no se pueden
visualizar en formato carácter. Sin embargo al pulsar la tecla PF2, aparecerán estos valores en
hexadecimal.
TRANSACTION: HA00 PROGRAM: QC2CCAE TASK: 0016683 APPLID: CICSDM21 DISPLAY: 00
STATUS: PROGRAM INITIATION
COMMAREA
= X'003268565141820C1BC275581BC275F81BC2'...
AT X'1BC1E2D8'
EIBTIME
= X'0144548F'
AT X'002000D0'
EIBDATE
= X'0103211F'
AT X'002000D4'
EIBTRNID
= X'C8C1F0F0'
AT X'002000D8'
EIBTASKN
= X'0016683C'
AT X'002000DC'
EIBTRMID
= X'E7F7F0F7'
AT X'002000E0'
+
EIBCPOSN
EIBCALEN
EIBAID
EIBFN
EIBRCODE
EIBDS
EIBREQID
=
=
=
=
=
=
=
X'0004'
X'0647'
X'7D'
X'0E02' LINK
X'000000000000'
X'0000000000000000'
X'0000000000000000'
ENTER: CONTINUE
PF1 : UNDEFINED
PF4 : SUPPRESS DISPLAYS
PF7 : SCROLL BACK
PF10: PREVIOUS DISPLAY
PF2 :
PF5 :
PF8 :
PF11:
SWITCH HEX/CHAR
WORKING STORAGE
SCROLL FORWARD
EIB DISPLAY
AT
AT
AT
AT
AT
AT
AT
PF3 :
PF6 :
PF9 :
PF12:
X'002000E6'
X'002000E8'
X'002000EA'
X'002000EB'
X'002000ED'
X'002000F3'
X'002000FB'
END EDF SESSION
USER DISPLAY
STOP CONDITIONS
UNDEFINED
Otras condiciones
Esto es particularmente útil cuando queremos visualizar el contenido de la COMMAREA al termino de
un programa e inicio del siguiente.
En la figura siguiente observamos otro ejemplo del inicio de un programa Cobol CICS.
TRANSACTION: HA00 PROGRAM: HA2C0010 TASK: 0016683 APPLID: CICSDM21 DISPLAY: -02
STATUS: PROGRAM INITIATION
COMMAREA
= 'SX707NIDEEX28 ...........009.......000000000000000000'...
EIBTIME
= 144548
EIBDATE
= 0103211
EIBTRNID
= 'HA00'
EIBTASKN
= 16683
EIBTRMID
= 'X707'
+
EIBCPOSN
EIBCALEN
EIBAID
EIBFN
EIBRCODE
EIBDS
EIBREQID
=
=
=
=
=
=
=
4
3883
X'7D'
X'0E02' LINK
X'000000000000'
'........'
'........'
ENTER: CURRENT DISPLAY
PF1 : UNDEFINED
PF4 : SUPPRESS DISPLAYS
PF7 : SCROLL BACK
PF10: PREVIOUS DISPLAY
PF2 :
PF5 :
PF8 :
PF11:
UNDEFINED
WORKING STORAGE
SCROLL FORWARD
NEXT DISPLAY
AT X'002000EA'
AT X'002000EB'
AT X'002000ED'
PF3 :
PF6 :
PF9 :
PF12:
UNDEFINED
USER DISPLAY
STOP CONDITIONS
UNDEFINED
Ejecución de SQL
EDF también atrapa las ejecuciones de los postulados de SQL:
TRANSACTION: HA00 PROGRAM: HA2C0010 TASK: 0016683 APPLID: CICSDM21 DISPLAY: 00
STATUS: ABOUT TO EXECUTE COMMAND
CALL TO RESOURCE MANAGER DSNCSQL
EXEC SQL SELECT
DBRM=QC2CSQ3, STMT=02347, SECT=00004
IVAR 001: TYPE=CHAR,
LEN=00010,
IND=000
AT X'1BC31F87'
DATA=X'5C5C5C5C5C5C5C5C5C5C'
LINE:UNKNOWN
ENTER: CONTINUE
PF1 : UNDEFINED
PF4 : SUPPRESS DISPLAYS
PF7 : SCROLL BACK
PF10: PREVIOUS DISPLAY
PF2 :
PF5 :
PF8 :
PF11:
EIBFN=X'020A'
UNDEFINED
WORKING STORAGE
SCROLL FORWARD
EIB DISPLAY
PF3 :
PF6 :
PF9 :
PF12:
UNDEFINED
USER DISPLAY
STOP CONDITIONS
ABEND USER TASK
Ejecución de SQL
En la figura anterior se muestra el inicio de la ejecución de un postulado SQL, en la
figura siguiente, se muestra el resultado de su ejecución
TRANSACTION: HA00 PROGRAM: QC2CCAE TASK: 0016683 APPLID: CICSDM21 DISPLAY: 00
STATUS: COMMAND EXECUTION COMPLETE
CALL TO RESOURCE MANAGER DSNCSQL
EXEC SQL SELECT
P.AUTH=MBVD
, S.AUTH=
PLAN=BVDHAPO, DBRM=QC2CSQ3, STMT=02347, SECT=00004
SQL COMMUNICATION AREA:
SQLCABC
= 136
AT X'1BC31480'
SQLCODE
= 000
AT X'1BC31484'
SQLERRML
= 000
AT X'1BC31488'
SQLERRMC
= ''
AT X'1BC3148A'
SQLERRP
= 'DSN'
AT X'1BC314D0'
SQLERRD(1-6) = 000, 000, 00000, -1, 00000, 000
AT X'1BC314D8'
SQLWARN(0-A) = '_ _ _ _ _ _ _ _ _ _ _'
AT X'1BC314F0'
SQLSTATE
= 00000
AT X'1BC314FB'
OVAR 001: TYPE=CHAR,
LEN=00001,
IND=000
AT X'1BC3151F'
DATA=X'C1'
LINE:UNKNOWN
EIBFN=X'020A'
ENTER: CONTINUE
PF1 : UNDEFINED
PF4 : SUPPRESS DISPLAYS
PF7 : SCROLL BACK
PF10: PREVIOUS DISPLAY
PF2 :
PF5 :
PF8 :
PF11:
UNDEFINED
WORKING STORAGE
SCROLL FORWARD
EIB DISPLAY
PF3 :
PF6 :
PF9 :
PF12:
END EDF SESSION
USER DISPLAY
STOP CONDITIONS
ABEND USER TASK
Comando Send
Si EDF detiene la ejecución en el comando de CICS SEND:
TRANSACTION: HA00 PROGRAM: QC1CMSA TASK: 0016683 APPLID: CICSDM21 DISPLAY:
STATUS: ABOUT TO EXECUTE COMMAND
EXEC CICS SEND MAP
MAP ('HAM000E')
FROM ('..............M11')
LENGTH (17)
MAPSET ('HAM000E')
CURSOR (-1)
TERMINAL
ACCUM
OFFSET:X'0020D4'
LINE:00884
ENTER: CONTINUE
PF1 : UNDEFINED
PF4 : SUPPRESS DISPLAYS
PF7 : SCROLL BACK
PF10: PREVIOUS DISPLAY
PF2 :
PF5 :
PF8 :
PF11:
EIBFN=X'1804'
SWITCH HEX/CHAR
WORKING STORAGE
SCROLL FORWARD
EIB DISPLAY
PF3 :
PF6 :
PF9 :
PF12:
UNDEFINED
USER DISPLAY
STOP CONDITIONS
ABEND USER TASK
00
Comando Send
Continuamos la ejecución del commando SEND:
TRANSACTION: HA00 PROGRAM: QC1CMSA TASK: 0016683 APPLID: CICSDM21 DISPLAY:
STATUS: COMMAND EXECUTION COMPLETE
EXEC CICS SEND MAP
MAP ('HAM000E')
FROM ('..............M11')
LENGTH (17)
MAPSET ('HAM000E')
CURSOR (-1)
TERMINAL
ACCUM
OFFSET:X'0020D4'
RESPONSE: NORMAL
LINE:00884
ENTER: CONTINUE
PF1 : UNDEFINED
PF4 : SUPPRESS DISPLAYS
PF7 : SCROLL BACK
PF10: PREVIOUS DISPLAY
PF2 :
PF5 :
PF8 :
PF11:
EIBFN=X'1804'
EIBRESP=0
SWITCH HEX/CHAR
WORKING STORAGE
SCROLL FORWARD
EIB DISPLAY
PF3 :
PF6 :
PF9 :
PF12:
END EDF SESSION
USER DISPLAY
STOP CONDITIONS
ABEND USER TASK
00
Comando Send
Podemos visualizar el mapa enviado, si pulsamos la tecla PF6 (USER
DISPLAY), como se muestra a continuación
0074 X707
0172 IDEEX28
CONTABILIDAD GENERAL
MENU CONTABILIDAD GENERAL
DM21 30/07/03
HA00 14:45:42
En un segundo envío de pantalla, visualizaremos la figura de la página
siguiente:
TRANSACTION: HA00 PROGRAM: QC1CMSA TASK: 0016683 APPLID: CICSDM21 DISPLAY: 00
STATUS: COMMAND EXECUTION COMPLETE
EXEC CICS SEND MAP
MAP ('QCRMPFK')
FROM ('.........B......................................................'...)
LENGTH (206)
MAPSET ('QCRMLAE')
TERMINAL
ACCUM
OFFSET:X'001E16'
RESPONSE: NORMAL
LINE:00828
ENTER: CONTINUE
PF1 : UNDEFINED
PF4 : SUPPRESS DISPLAYS
PF7 : SCROLL BACK
PF10: PREVIOUS DISPLAY
PF2 :
PF5 :
PF8 :
PF11:
EIBFN=X'1804'
EIBRESP=0
SWITCH HEX/CHAR
WORKING STORAGE
SCROLL FORWARD
EIB DISPLAY
PF3 :
PF6 :
PF9 :
PF12:
END EDF SESSION
USER DISPLAY
STOP CONDITIONS
ABEND USER TASK
Comando Send
Si pulsamos nuevamente la tecla PF6 (USER DISPLAY) ahora visualizaremos:
0074 X707
0172 IDEEX28
CONTABILIDAD GENERAL
MENU CONTABILIDAD GENERAL
DM21 30/07/03
HA00 14:45:42
1 - ENTRADA DE ASIENTOS
11 - ASIENTOS CONTABLES
2 - CONSULTA DE APUNTES
22 - POR CUENTA
25 - POR ASIENTO
26 - PARTIDAS PENDIENTES
3 - CONSULTA DE INFORMACION CONTABLE
31 - CONSULTA MAYOR MENSUAL
32 - CONSULTA MAYOR DIARIO
33 - CENTROS DEPENDIENTES
4 - ACCESO A TXNS CONTABILIDAD CENTRAL
40 - TRANSACCIONES CONT. CENTRAL
OPCION:
11
Para terminar la ejecución de EDF, pulsamos la tecla PF3 y regresa al modo
normal de ejecución del CICS
FIN DE MODULO
Derechos de autor
• Este producto has sido elaborado por
• Jorge Godínez Rodríguez.
• Derechos reservados
– Prohibida su reproducción parcial o total
87
Descargar