You are on page 1of 149

Cuiso de Ioinacin de Aiquilecluia AIlaniia

paia desaiioIIadoies




























Dicienlie 1997

Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 2
Temario

1. Introduccin
1.1 Concepto de Arquitectura

2. Commarea con Arquitectura
2.1 Concepto de Commarea
2.2 Informacin de Entrada
2.2.1 Datos Generales
2.2.2 Datos del Mensaje
2.3 Informacin de Entrada/Salida
2.3.1 Autorizaciones
2.3.2 Datos de Conversacin
2.4 Informacin de Salida
2.4.1 Datos de siguiente transaccin
2.4.2 Datos del mensaje de salida
2.4.3 Datos para gestin de paginacin
2.4.4 Datos de analtica y estadsticas
2.4.5 Datos de error inesperado

3. Parametrizacion de la Arquitectura
3.1 Requisitos del CICS
3.2 Parmetros del Menu de Arquitectura
3.2.1 Parametrizacin de la aplicacin
3.2.2 Aplicaciones
3.2.3 Formatos
3.2.4 Transacciones
3.2.5 Teclas (Ayuda de transaccin)
3.2.6 Errores y Avisos

4. Desarrollo del ejemplo Dilogo Conversacional.
4.1 Conceptos para el desarrollo de ejemplo
4.2 Transaccion FO Programa FO2CMNU Menu de Formacin
4.2.1 Parametrizacion de la Transaccin
4.2.2 Anlisis del Mapa BMS
4.2.3 Anlisis de la CMA
4.2.4 Anlisis del programa fuente, estandares y
comentarios

4.3 Transaccin FOTL Programa FO2CTLI Listado de la
Aplicacion Formacin.
4.3.1 Parametrizacin de la Transaccin
4.3.2 Estado Inicio / Continuacin
4.3.3 Anlisis de la Paginacin
4.3.4 Anlisis del programa fuente, estandares y
comentarios

4.4 Transaccin FOTM Programa FO2CTMA Mantenimiento de la
Aplicacin
4.4.1 Parametrizacin de la Transaccin
4.4.2 Anlisis del Mapa BMS
4.4.3 Estado confirmacin
4.4.4 Anlisis del programa fuentes, estandares y
comentarios




5. Desarrollo del ejemplo Transaccional
5.1 Conceptos para el desarrollo del ejemplo
5.2 Transaccin FOTC Programa FO2CCTR
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 3
5.2.1 Parametrizacin de la Transaccin
5.2.2 Anlisis del fuente
5.2.3 Gestin de Journal y Totales

6. Cambio de sesin
6.1 Cambio de sesin
6.2 Cambio de sesin de la Arquitectura

7. Preguntas y Respuestas

8. Ejercicios
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 4
1. Introduccin al concepto de Arquitectura


1.1 Concepto


La arquitectura de aplicaciones es un sistema netamente on-line,
cuya misin es bsicamente centralizar la actividad del teleproceso
de la entidad,cubriendo funciones tales como :

- Simplificar diseos y desarrollo de otras aplicaciones online.

- Independizar a las aplicaciones del tipo de terminal con el
que se esta interactuando. Tratamiento de mensajes especficos
(formatos) de cada tipo de terminal.

- Gestionar los preformatos de pantallas y documento con destino
terminal no inteligente o con software no actualizado.

- Mantener un log del sistema y gestionar el tratamiento de
errores producidos en los programas de aplicacin.

- Centralizar la gestin de la informacin de :
. Journal contable de Divisas
. Tecleos del sistema
. Totales de Oficina
. Fechas contables actual y prxima
. Entornos de trabajo parametrizados de la entidad

- Posibilitar el desarrollo de la conversacin

- Tratamiento y control de telediscos

- Gestin de la autorizacin de operaciones

- Informacin en pantalla o documento en distintos idiomas

Adicionalmente a estas funcionalidades cubiertas por la
Arquitectura central, existen una serie de utilidades batch cuya
misin es facilitar el desarrollo de las aplicaciones.


Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 5
2. COMMAREA DE LA ARQUITECTURA (CAA)

2.1 Concepto

El rea de comunicacin con la Arquitectura (CAA) es utilizada para el
dilogo entre los programas de aplicacin y la Arquitectura.
Mediante esta commarea, la Arquitectura informa a las aplicaciones de los
parmetros del sistema necesarios para el desarrollo de sus procesos on-
line.
Los programas de aplicacin, por su parte, utilizan la commarea para
realizar peticiones de salida de mensajes (tanto a pantalla como a
documento), e informan del resultado de los procesos realizados.

El contenido de la CAA se divide en informacin de entrada, de salida y
de entrada/salida de la aplicacin.

La informacin de entrada a la aplicacin consta de los siguientes
segmentos:

DATOS GENERALES: Es el conjunto de informacin general del sistema
que la Arquitectura proporciona como entrada al programa de
aplicacin.

DATOS DEL MENSAJE: Contenido y conjunto de caractersticas del
mensaje de entrada a la aplicacin.

La informacin de entrada/salida consta de:

AUTORIZACIONES: Informacin sobre el proceso de autorizaciones.

DATOS DE CONVERSACION: Utilizados para el desarrollo de una
conversacin. En la entrada contienen la informacin de la
transaccin en curso, y en la salida debern contener la
informacin de la siguiente transaccin.

La informacin de salida de la aplicacin consta de los siguientes
segmentos:

DATOS DE SIGUIENTE TRANSACCION: Donde la aplicacin indica cul es
la siguiente transaccin que debe entrar en la conversacin.

DATOS DEL MENSAJE: Informacin y contenido de los distintos mensajes
de salida.

DATOS PARA GESTION DE PAGINACION: Informacin para la gestin de
paginacin (slo para transacciones de listado).

DATOS PARA ANALITICA Y ESTADISTICAS: Informacin sobre las
caractersticas del proceso, que servirn como entrada para alguna
aplicacion de contabilidad analtica o para actualizacin de las
estadsticas gestionadas por la misma Arquitectura.

DATOS ERROR INESPERADO: Informacin sobre un posible error CICS o
DB2 inesperado.

A continuacin se explicar con detalle el contenido de cada campo
de la CAA.

Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 6
2.2 INFORMACION DE ENTRADA.

2.2.1 DATOS GENERALES

Los programas de aplicacin podrn utilizar los campos de este segmento
para recoger cualquier informacin general del sistema y en ningn caso
podrn modificar su contenido.

Los campos de que consta son:

-ENTIDAD: Cdigo de la entidad contable y del terminal que realiza
la operacin.

-CENTRO-CONT: Cdigo de oficina contable del terminal que realiza la
operacin.

-NETNAME-CONT: El Netname es un cdigo nico para una red, mientras
que el cdigo de terminal puede, para un mismo terminal fsico, ser
diferente para cada CICS en el que trabaje (MRO).

-TERMINAL-CONT: Cdigo del terminal contable que realiza la
operacin.

-FECHA-CONT: Fecha contable asociada a la operacin en formato
AAAAMMDD.

-FECHA-CONT2: Fecha contable asociada a la operacin en formato
AAAA-MM-DD.

-FECHA-CONTED: Fecha contable asociada a la operacin en el formato
DD/MM/AAAA.

-FECHA-OPER: Fecha de operacin. Ser la fecha de operacin del
proceso, a menos que el terminal tenga asociada una fecha de
operacin distinta, en cuyo caso ser sta la que figure. El
formato es AAAAMMDD.

-FECHA-OPER2: Fecha de operacin en formato AAAA-MM-DD.

-FECHA-OPERED: Fecha de operacin en formato DD/MM/AAAA.

-FECHA-TRANS: Fecha de transmisin. Es la fecha natural en que se
realiza el proceso, en formato AAAAMMDD.

-FECHA-TRANS2: Fecha de transmisin en formato AAAA-MM-DD.

-FECHA-TRANSED: Fecha de transmisin en formato DD/MM/AAAA.

-HORA-TRANS: Hora de transmisin. Es la hora en que se realiza el
proceso en formato HHMMSS.

-HORA-TRANSED: Hora de transmisin anterior en formato HH:MM:SS.

-NETNAME: Cdigo del terminal en red fsico que realiza la
operacin.

-TERMINAL: Cdigo del terminal que realiza la operacin. Coincide
con el EIBTRMID de CICS.

-USERID: Usuario identificado en CICS.

Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 7
-SESION: Indicador de sesin de maana ('M') o tarde ('T').

-TIPO-TERM: Tipo de terminal que realiza la operacin. Los tipos de
terminal vlidos son:

'11': tipo 4700
'12': tipo 5935
'13': tipo PS/2 Estndar
'14': tipo PS/2 Tajo
'15': tipo PS/2 ICO
'16': tipo VIDEOTEX
'17': tipo PS/2 BCT
'18': tipo PS/2 CEC
'19': tipo PS/2 FFS (Foundation)
'20': pantalla 3270
'28': PS/2 en emulacin (tipo 3270)
'29': 4700 en emulacin (tipo 3270)
'51': impresoras
y otros numerosos (a partir del tipo '40' para la aplicacin de
Centro Autorizador (CECA, SEMP, 4B, ATMs y TPVs).

-CICS: Identificador de la sesin CICS (SYSID).

-CODTRAN: Cdigo de transaccin que se ejecuta segn la
Arquitectura. No tiene por qu coincidir con la EIBTRNID de CICS,
pues en una misma tarea CICS, la Arquitectura puede ejecutar dos
programas asociados a distintas transacciones: para el CICS se
estara ejecutando siempre la misma transaccin, y sin embargo para
la Arquitectura se estara ejecutando en cada momento la
transaccin asociada a cada uno de los programas (dos distintas).

-TIPO-PROCESO: Tipo de proceso que se est ejecutando. Puede ser:

'O': on-line
'A': autorizacin
'T': teledisco
'F': off-line

-ESTADO-APLIC: Estado en que se encuentra la aplicacin a que
pertenece la transaccin para la Entidad del terminal. Puede ser:

'A': Activa
'D': Desactiva
'C': En cambio de sesin
'R': En recuperacin (no utilizado en la actualidad).


-IDIOMA-TERM: Cdigo del idioma de trabajo del terminal. Toda la
informacin de salida de pantallas y documentos se gestiona a
travs de idioma asignado a cada terminal.

Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 8
2.2.2 DATOS DEL MENSAJE.
Contiene toda la informacin necesaria sobre el mensaje de entrada en los
campos:

-TECLA: Cdigo de la tecla pulsada. Este cdigo es:

'00': Intro
'01',...,'10','11','12': PF1,...,PF10,PF11,PF12
'11',...,'20','21','22': ShftF1,....,ShftF10
'21',...,'30': CtrlF1,....,CtrlF10
'99': Borra (CLEAR) o cualquier otra tecla que no sea una de las
anteriores

Existen varias teclas con significado estndar para la Arquitectura
y todas las aplicaciones que la utilicen:

* PF1: Tecla de ayuda en conversaciones. Si la transaccin que se
est ejecutando en la conversacin tiene ayuda asociada, al
pulsar PF1 se mostrar la ayuda por pantalla.

* Borra: Ir a la pantalla anterior en una conversacin.

* PF9: Ir al men inicial en conversaciones.

* PF11 o Shft-PF1: Suspender la conversacin en curso.

* PF12 o Shft-PF2: Autorizacin en una conversacin.


-CAJERO: Cdigo de cajero pulsado, que ser:

'A': si se ha pulsado la tecla de cajero A en un terminal 4700 o
en 5935, o bien Intro o PF8 en otro tipo de terminal.

'B': si se ha pulsado la tecla de cajero B en un terminal 4700 o
en 5935, o bien PF5 en otro tipo de terminal.

-MOD-TAG: Indicador de si se han modificado datos en la pantalla
('S') o se ha pulsado una tecla de funcin sin modificar datos
('N'). Este concepto es, por tanto, relevante para procesos
conversacionales.

-PTR-COPYIN: Direccin de memoria donde se encuentra el mensaje de
entrada en formato BMS. Este rea se utiliza tanto como pantalla de
entrada como de salida, es decir, los programas de aplicacin
encontrarn en este rea la informacin de la pantalla de entrada,
y debern modificar los campos pertinentes para construir la nueva
pantalla de salida.



Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 9
2.3 INFORMACION DE ENTRADA/SALIDA

2.3.1 AUTORIZACIONES

En este segmento se recoge la informacin sobre el proceso de
autorizaciones. Los programas de aplicacin reconocen en este segmento
las operaciones que ya han sido autorizadas por el terminalista para no
volver a producir una solicitud de autorizacin por el mismo motivo (Ver
documento II.7.Funcionamiento de las Autorizaciones). Asimismo, en este
segmento se recogen los campos que debe informar un programa de
aplicacin cuando necesita una autorizacin.

Este bloque consta en primer lugar de 10 ocurrencias (una por cada uno de
los "motivos" por los que se necesita autorizar). Estos campos vendrn
sin informar la primera vez que se realice la operacin, y tendrn que
ser informados con los valores correspondientes de cdigo de error y
situacin cuando se pida la autorizacin. Cuando el terminalista realice
la autorizacin, estos campos llegarn al programa de aplicacin con los
valores que se informaron cuando se pidi dicha autorizacin. Estos
campos son:

-CODERR-AUT: Cdigo de error identificativo del motivo de la
autorizacin.

-SITUACION-AUT: Situacin por la que se est autorizando la
operacin.

Los siguientes campos de este segmento deben ser informados por el
programa de aplicacin cuando se produce la necesidad de autorizar una
operacin (Ver documento II.7.Funcionamiento de las Autorizaciones):

-IND-AUTO: Indicador de pendiente de autorizacin:

'S': operacin pendiente de autorizar
'N', ' ': operacin no pendiente de autorizar

-IMPORTE-AUTO: Importe total de la operacin pendiente de
autorizacin.

-REFER-AUTO: Referencia de la operacin segn la aplicacin.


Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 10
2.3.2 DATOS CONVERSACION ENTRADA/SALIDA.

Informacin utilizada en los programas conversacionales. Sirve para
controlar el flujo de la conversacin. Consta de los campos:

-ESTADO: Indicador del estado en que se encuentra la transaccin en
curso. Puede tomar los siguientes valores:

'I': Estado INICIO. Indica que se entra a ejecutar la
transaccin por primera vez, estando en el terminal una
pantalla distinta a la correspondiente a dicha transaccin.
En consecuencia, la nica informacin de entrada al programa
vlida en estado inicio es la de la commarea entre los
programas aplicacin (no hay pantalla de entrada a "leer").

'C': Estado CONTINUACION. Indica que se entra a ejecutar la
transaccin estando en el terminal la pantalla propia de
dicha transaccin, por lo tanto son vlidos los datos de
entrada tecleados desde el terminal como entrada a la
transaccin. Dichos datos entran en formato BMS en la
direccin de memoria indicada en el campo PTR-COPYIN.

'X': Estado CONFIRMACION. Estado especial dentro de una
continuacin para permitir la confirmacin de una operacin
en curso. Se puede considerar un caso especial del estado
continuacin, donde se espera, en primer lugar que no se
modifique ningn dato de la pantalla, y en segundo lugar que
se pulse una tecla determinada que signifique la
confirmacin de la operacin.

-CASO: Indicador utilizado cuando un programa de aplicacin espera
diferentes tipos de entrada dependiendo de los diferentes programas
o estados que puedan cederle el control.

Por ejemplo, un programa que consulte una cuenta de un cliente,
puede que deba consultar la cuenta por su cdigo si le ha cedido el
control un programa de consulta de cuenta por pantalla, o por el
cdigo de cliente si le ha cedido el control un programa de la
aplicacin de clientes.

-DATOS: Campo que pueden utilizar los programas de aplicacin para
pasar datos entre ellos. Es una commarea entre programas de
aplicacin de 30 caracteres de longitud. Si la commarea entre
programas de aplicacin es mayor de 30 caracteres, o no se desea
utilizar este campo, se pueden guardar dichos datos en la direccin
de memoria indicada en el campo PTRDATA.

-LONDATA: Este campo es gestionado por la Arquitectura. No se debe
modificar.

-PTRDATA: Direccin de memoria que contiene la commarea entre
programas de aplicacin.
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 11
2.4 INFORMACION DE SALIDA

2.4.1 DATOS DE SIGUIENTE TRANSACCION


Este es el primero de los segmentos de salida de la commarea CAA, que
debe ser rellenado por los programas de aplicacin. En ste se encuentra
la informacin sobre la siguiente transaccin que debe ejecutarse. Consta
de los campos:

-CODTRAN-SIG: Cdigo de la siguiente transaccin que se debe
ejecutar. Cuando se rellena a espacios querr decir que no debe
entrar ninguna transaccin a continuacin (este es el caso de un
programa transaccional, o de la salida de una conversacin).

Existen varios valores que no son cdigos de transaccin y que la
Arquitectura interpreta de manera especial:

- 'SAME': Cuando debe entrar a continuacin la transaccin que
mand la pantalla que se encuentra en el terminal.

Ser necesario informar este valor cuando se produce un error en
un programa conversacional en estado inicio: por estar en estado
inicio, la pantalla que se encuentra en el terminal es la que
envi la ltima transaccin, que no se corresponde con la de la
transaccin en curso, y al darse un error, no debera aparecer
la nueva pantalla, sino la que figura en el terminal enviando el
mensaje de error correspondiente, por lo que la siguiente
transaccin que se debe ejecutar es la que mand la pantalla al
terminal.

- 'ULTI': Cuando debe entrar a continuacin la ltima
transaccin que se aadi en la cadena (ver campo CADENA).

- 'MENU': Cuando debe entrar a continuacin la primera
transaccin de la cadena, que en general ser el men principal
(ver campo CADENA).

-AUTOMATICA: Indica (S/N) si la siguiente transaccin debe
ejecutarse automticamente (valor 'S') sin esperar que el
terminalista introduzca datos por pantalla o no (valor 'N' o ' ').
Lo habitual en una conversacin es que este indicador se encuentre
con valor 'N' (o ' '), para permitir que se puedan introducir datos
por pantalla como entrada de la siguiente transaccin. El valor 'S'
de este indicador es utilizado por la Arquitectura para realizar el
"switch de transaccin" para terminales PS con GAT (terminal
Ronda).

-ACCION: Indica si la Arquitectura debe ceder el control
directamente a otro programa de aplicacin sin enviar ningn tipo
de mensaje de salida al terminal (accin programa: 'PRG'), o si
debe enviar algn mensaje de salida al terminal (accin terminal:
'TER').

-CADENA: La Arquitectura mantiene una relacin de las transacciones
sucesivas que van tomando control en una conversacin, empezando
por la que inicia la conversacin (que normalmente ser el men
principal), y que constituyen la cadena de transacciones.

Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 12
De esta manera, en cualquier punto de la conversacin, el
terminalista puede realizar la peticin de volver a la transaccin
inmediatamente anterior (con la tecla Borra en nuestro caso), o bien
de volver a la transaccin inicial que realiz (con la tecla PF9 en
nuestro caso).





Grfico que indica la manera de construir la cadena:


ACCION='PRG'; CODTRAN-SIG='MENU'
+------------------------------------------------+


ACCION='PRG' ACCION='PRG' ACCION='PRG' ACCION='PRG'
CODTRAN-SIG= CODTRAN-SIG= CODTRAN-SIG= CODTRAN-SIG=
'ULTI' \|/ 'ULTI' 'ULTI' 'ULTI'
<--------------+<--------------+<--------------+<--------------+
MENU TRN2 TRN3 TRN4
--------->+-------------->+-------------->+-------------->+----+
CADENA='I' CADENA='A' CADENA='A'
ACCION='PRG' ACCION='PRG' ACCION='PRG'
CODTRAN-SIG= CODTRAN-SIG= CODTRAN-SIG=
'TRN2' 'TRN3' 'TRN4'


Los programas de aplicacin deben controlar la construccin de la
cadena haciendo peticiones a la Arquitectura, bien de iniciarla,
bien de aadirse a ella, o bien de volver a alguno de los pasos
anteriores.

El momento en que un programa de aplicacin debe realizar alguna
peticin de modificar la cadena es cuando va a ceder control a otra
transaccin distinta a ella (es decir, cuando CODTRAN-SIG lo informa
con un cdigo de transaccin distinto al suyo y distinto de 'ULTI' o
'MENU', y ACCION con el valor 'PRG'). Este es el momento de realizar
la peticin de aadirse a s mismo en la cadena. Esta peticin se
realiza informando el campo CADENA con el valor 'A' (de Aadir).

Si el programa que quiere aadirse en cadena es el que inicia la
conversacin (por ejemplo, el men), la cadena todava no se ha
comenzado a construir, y se debe pedir a la Arquitectura que inicie
la cadena, informando el campo CADENA con el valor 'I' (de Iniciar).
Con este valor en el campo CADENA, la Arquitectura entiende que se
va a iniciar una nueva cadena (por lo que borrar la antigua si
existiera), y pondr a la transaccin que realiza esta peticin como
primera de la cadena.

Si el terminalista realiza la peticin de volver a la transaccin
inmediatamente anterior, el programa de aplicacin no tendra ms
que indicar a la Arquitectura que la siguiente transaccin a
ejecutarse es la ltima en cadena informando el valor 'ULTI' en el
campo CODTRAN-SIG, y la Arquitectura cedera el control a la ltima
transaccin almacenada en la cadena.

Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 13
Asimismo, si el terminalista realiza la peticin de volver a la
transaccin inicial de la cadena, el programa de aplicacin debera
informar el campo CODTRAN-SIG con el valor 'MENU', con lo que la
Arquitectura cedera el control a la primera transaccin almacenada
en la cadena.

-CASO-CAD: En la cadena de transacciones, la Arquitectura guarda,
junto al cdigo de transaccin, dos campos asociados a cada miembro
de la cadena: el CASO-CAD y el DATOS-CAD, que son el caso y los
datos que se le pasarn a la transaccin cuando se vuelva a ella
por retroceder en la cadena (y que le llegarn en los campos CASO Y
DATOS respectivamente).

Se deben informar (si es necesario) cuando se realiza una peticin
de aadirse o de iniciar la cadena (es decir, cuando se informa el
campo CADENA).

-DATOS-CAD: Datos propios de entrada al retroceder en cadena.

Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 14
2.4.2 DATOS DEL MENSAJE DE SALIDA.

En este segmento, los programas de aplicacin proporcionan a la
Arquitectura toda la informacin sobre las distintas salidas al terminal.
Solamente se tendrn en cuenta cuando la accin sea terminal
(ACCION='TER').

Consta de los campos:

-COD-ERROR: Cdigo del error producido. (Ver III.6.Mantenimiento de
errores y avisos).

-COD-AVISO1: Cdigo del primer aviso. Hay posibilidad de mandar
hasta dos avisos al terminal, que saldrn en la lnea 3 de la
pantalla. Si se mandan dos, se trunca su contenido a 40 caracteres,
saliendo el primero de ellos a partir de la columna 1, y el segundo
a partir de la columna 41.

-COD-AVISO2: Cdigo del segundo aviso.

-VAR1-ERROR: Variable primera del mensaje de error. Se puede
informar con una variable vlida como literal de error multi-
idioma. Esto es vlido para todos los campos variables de los
errores y avisos.

-VAR2-ERROR: Variable segunda del mensaje de error.

-VAR1-AVISO1: Variable primera del primer aviso.

-VAR2-AVISO1: Variable segunda del primer aviso.

-VAR1-AVISO2: Variable primera del segundo aviso.

-VAR2-AVISO2: Variable segunda del segundo aviso.

-IMPORTE-DISP: Importe que debe proporcionar el dispensador.

-DIARIO-LOCAL: Campo a actualizar en el diario electrnico local.

-TIPO-SALIDA: Indicativo de la pantalla a enviar al terminal. Sus
valores pueden ser:

-'E': la misma pantalla de entrada
-'S': una pantalla distinta de la de entrada
-'P': debe entrar la paginacin de Arquitectura. Este valor se
utiliza en los programas de listado.
-' ': Ninguna pantalla de salida.

Solamente es necesario informar este campo cuando el programa de
aplicacin se trate de un listado, en cuyo caso dicho programa
debe poner este campo con valor 'P' (paginacin). En otro caso,
la Arquitectura gestiona este valor con sus valores por defecto
(Valor 'S' en Estado Inicio y valor 'E' en estado Continuacin o
Confirmacin).

-COPY-OUT: Nombre del formato de salida cuando el campo anterior
TIPO-SALIDA tenga valor 'S' y exista formato de salida. Lo informa
la Arquitectura, por lo que el programa de aplicacin no debe
modificarlo.
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 15

-PANEL-OUT: Nombre del panel de salida cuando el campo anterior
TIPO-SALIDA tenga valor 'S' y exista panel de salida. Lo informa la
Arquitectura, por lo que el programa de aplicacin no debe
informarlo.

-DESTINOS: (Ver documento II.5.Salidas no estndar).

Las transacciones pueden tener dos tipos de salidas: la salida
estndar, y la salida no estndar.

La salida estndar siempre va dirigida a pantalla y est constituida
por el contenido de la direccin de memoria indicada en el campo
PTR-COPYIN (es decir, el contenido de la pantalla estndar de salida
en formato BMS) y por los mensajes de error / aviso.

La salida no estndar est constituida por cualquier otro tipo de
salida, y puede estar dirigida a pantalla o a documento. Los
programas de aplicacin deben pasar el contenido de estas salidas no
estndares en una serie de colas TS que pueden ser:

- Colas TS '+PFnXXXX', donde n es 1, 2, 3, 4 5 (se pueden
utilizar cinco colas TS de tipo +PF para las cinco salidas no
estndares) y XXXX es el cdigo del terminal (campo TERMINAL).
Se utilizan estas colas cuando la salida est en modo
"preformato", es decir, no tiene ningn formato asociado dado
de alta en las tablas de la Arquitectura, y su contenido es
justamente el mensaje que debe enviarse.

- Colas TS '+DCnXXXX', donde n es 1, 2, 3, 4 5 (se pueden
utilizar hasta cinco colas TS de tipo +DC para las cinco
salidas no estndares) y XXXX es el cdigo del terminal (campo
TERMINAL). Se utilizan cuando la salida tiene un formato
asociado en las tablas de la Arquitectura. Su contenido est
constituido en primer lugar, por el nombre del formato de
salida asociado al mensaje de salida no estndar y despus el
contenido del mensaje en forma BMS.

La Arquitectura permite hasta cinco salidas diferentes no
estndares. Cada una de ellas va indicada en una de las cinco
ocurrencias de este grupo, que contiene los campos:

-DESTINO: Prefijo del TS que contiene la salida (+PF1,+DC1,...).

-IND-PANDOC: Indicador de si la salida va a pantalla ('P') o a
documento ('D').

-NUM-DOCUM: Nmero de documento si la salida es a documento y
ste tiene uno asociado. Puede tomar los valores:

* '1': DIN A-4 Impresin normal.
* '2': DIN A-4 Impresin comprimida.
* '3': Cuartilla
* '5','6','7','8': Libretas
* '9': DIN A-4 en Impresora LASER.
* 'C': Cheque
* 'B': Banda
* 'I': Importe
* 'J': Diario magntico
* 'R': Documento preimpreso

Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 16
-PRILIN-DOCUM: Posicin de la primera lnea que se debe escribir
en el documento (si la salida es a documento).

-IMPRESO: Cdigo del impreso a introducir en la impresora
financiera.

-IDIOMA: Cdigo del idioma en el que se van a imprimir los datos
de la salida no estndar.

Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 17
2.4.3 DATOS PARA GESTION DE PAGINACION.

Este segmento es utilizado por los programas de listado para permitir la
gestin de paginacin por la Arquitectura. Los campos de este segmento
deben ser rellenados cuando el programa de listado informe el campo TIPO-
SALIDA con valor 'P'. (Ver documento II.4.Funcionamiento de la
paginacin). Los campos son:

-CONTENID: Contenido genrico del listado, que puede indicar el tipo
de seleccin por el que se ha accedido al programa de listado.

-SELEC-PERMIT: Contiene 10 ocurrencias de 1 carcter de longitud que
contienen los caracteres permitidos para seleccionar las lneas del
listado.

-IND-VARSEL: Indicador de si se permite marcar como seleccionadas
mas de una lnea ('S') o solamente una ('N') con los caracteres
indicados en las ocurrencias de SELEC-PERMIT.

-MARGEN-FIJO: Margen que se debe fijar a la izquierda del listado
cuando se hace "scroll" a derecha e izquierda.

-FKEY: Grupo de 8 ocurrencias, donde se indica al programa de
gestin de listados hasta 8 teclas vlidas que se pueden teclear,
aparte de las propias del listado (PF4: izquierda, PF5: derecha,
PF7: arriba, PF8: abajo). El programa de gestin de paginacin de
la Arquitectura devolver el control al programa de aplicacin de
listado cuando se haya pulsado una de estas teclas, y las
selecciones efectuadas sean vlidas. Cada una de las ocurrencias
consta de:

* FKEY-NUM: Cdigo de tecla permitido.

* FKEY-LIT: Literal asociado a la tecla que debe aparecer por
pantalla.

* FKEY-SEL: Se le indica al programa de gestin de listados si
con la tecla pulsada debe haber una seleccin ('S'), no se
permite ninguna seleccin ('N') o es indiferente que se haya
seleccionado alguna lnea del listado o no (' ').

-IND-AVPAG: Indicador (valores S/N) para el programa de gestin de
listados, que indica si se desea que se devuelva control al
programa de aplicacin cuando se teclee la tecla PF8 (Scroll abajo)
y no existan mas lneas en la cola TS del listado para mostrar por
pantalla.

En caso de haber informado el programa de listado el valor 'S' y
llegar a fin de datos con la tecla PF8, el programa de gestin de
paginacin de la Arquitectura le devolver control al programa de
listado en estado "continuacin". En ese caso el programa de listado
deber llenar la cola TS del listado con un grupo mas de lneas.
Este proceso se continuar hasta que el programa de listado no tenga
mas lneas que recuperar, en cuyo caso informar este indicador con
el valor 'N'.

Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 18
-IND-MOD-DATO: Indicador (valores S/N) para el programa de gestin
de listados, con el que un programa de aplicacin puede pedirle que
refresque el contenido de la cola TS que contiene las lneas de
listado cada vez que tome el control dicho programa de gestin de
listados.

En realidad solamente tiene sentido cuando las lneas de listado
estn desprotegidas, para permitir teclear su contenido desde el
terminal, y en ese caso se debe actualizar la informacin de dichas
lneas de listado en la cola TS cada vez que se cambien por
pantalla.

-LNEA-PANT: Este campo lo utiliza exclusivamente el programa de
gestin de listados, y los programas de aplicacin no deben
modificarlo.

-COLUM-PANT: Este campo lo utiliza exclusivamente el programa de
gestin de listados, y los programas de aplicacin no deben
modificarlo.

-NUM-LIN-CAB: Nmero de lneas fijas para la cabecera del listado.
Si no se informa este campo, se considerar siempre al menos 1
lnea por defecto. Las lneas de cabecera permanecern brillantes y
protegidas, y no se movern de la pantalla al realizar scroll
arriba y abajo.

-IND-SCROLL-LAT: Indicador de scroll lateral (valores S/N). Indica a
la Arquitectura si debe gestionar el scroll lateral a pesar de que
las lneas escritas en la cola TS del listado tengan su anchura
mayor que la de una pantalla. Si no se informa, se toma el valor
'S' por defecto (es decir, la paginacin de la Arquitectura
gestionar el scroll lateral siempre que la anchura de la cola TS
sea mayor que la que puede aparecer en una pantalla).

-NUM-ITEM-SELEC: Nmero de item seleccionado (en el caso de
seleccin nica). En el caso seleccin mltiple, el primer
seleccionado.

-IDTABLA: Nombre de la tabla para el listado dinmico de tablas.
Tambin puede contener los 10 primeros caracteres del item
seleccionado en un listado dinmico de tablas (ver II.15.Listado
dinmico de tablas).

Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 19
2.4.4 DATOS PARA ANALITICA Y ESTADISTICAS.

En este segmento los programas de aplicacin proporcionan a la
Arquitectura informacin para ser explotada por alguna aplicacin de
contabilidad analtica y para recoger estadsticas gestionadas por la
propia Arquitectura. Consta de los campos:

-ENTIDAD-ANA: Entidad destino para analtica.

-CENTRO-ANA: Centro destino para analtica.

-PRODUCTO-ANA: Clave del producto asociado para analtica.

-CLIENTE-ANA: Cliente para analtica.

-IMPORTE-ANA: Importe para analtica.

-SUBPROD-ANA: Subproducto para analtica.

-FINALID-ANA: Finalidad para analtica.

-GARANTIA-ANA: Garanta para analtica.

-SUB-CLASIF: Subclasificacin de la transaccin para analtica.

-TIOPER: Tipo de operacin realizada. Puede tomar los valores:

'A': Alta
'B': Baja
'M': Modificacin
'C': Consulta
'E': Edicin
'P': Peticin al batch
'O': Operacin de entrada / salida
' ': Ninguna de las anteriores

-CONTABLE: Indicador de si la operacin realizada es contable ('S')
o no ('N'). (Ver documento II.6.Actualizacin de Journal y
Totales).

-DATOS-APLIC: Datos de libre uso para la aplicacin.

Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 20
2.4.5 DATOS DE ERROR INESPERADO.

Informacin sobre un posible error CICS o DB2 inesperado. Contiene dos
grupos de campos, que se deben informar bien cuando se produzca un error
DB2, bien cuando se produzca un error CICS.

Cuando el error sea de tipo DB2, los campos a informar son:

-OBJETO-ERROR: Objeto DB2 (Tabla, ndice.) donde se produjo el
error.

-SQLCODE: Sqlcode devuelto por el DB2. Es el contenido del campo
SQLCODE del grupo SQLCA.

-SQLERRM: Sqlerrm devuelto por el DB2. Es el contenido del campo
SQLERRM del grupo SQLCA.

Cuando el error sea de tipo CICS, los campos a informar son:

-EIBFN: Ultima funcin CICS. Es el contenido de la variable EIBFN
del grupo DFHEIBLK.

-EIBRSRCE: Ultimo recurso CICS. Es el contenido de la variable
EIBRSRCE del grupo DFHEIBLK.

-EIBRCODE: Cdigo de respuesta de CICS. Es el contenido de la
variable EIBRCODE del grupo DFHEIBLK.

-EIBRESP1: Condicin producida por la funcin CICS que produjo el
error. Es el contenido de la variable EIBRESP del grupo DFHEIBLK.

-EIBRESP2: Informacin adicional a EIBRESP1. Es el contenido de la
variable EIBRESP2 del grupo DFHEIBLK.


Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 21
3. Parametrizacin de la Arquitectura
3.1 Requisitos del CICS

Se deben definir en CICS los siguientes elementos:

- Mapa BMS (si es un conversacional).
- Transaccin remota en TOR.
- Transaccin local en AOR asociada siempre al programa QC1CENT.
- Entrada en la RCT (Resource Control Table)
para definir la relacin entre transaccin y el plan DB2.
- Programa.


Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 22
3.2 Parmetros del Menu de Arquitectura

3.2.1 Parametrizacin de la aplicacin.

A continuacin se relacionan los pasos necesarios para parametrizar una
aplicacin que se desea integrar en la Arquitectura.

Si se contempla una gestin multidivisa es imprescindible indicarlo a la
hora de su definicin puesto que existen nuevos tratamientos
diferenciados.

Las tablas de la Arquitectura que se deben actualizar para dar de alta
una nueva aplicacin son:

- QGDTAPL: Tabla de aplicaciones.

- QGDTCCT: Tabla de transacciones.

- QGDTFDF: Tabla de formatos de transacciones.

- QGDTPFK: Tabla de teclas de funcin admitidas para cada
transaccin.

- QGDTPFM: Tabla de preformatos de transacciones (implcitamente
tambin se actualizar la tabla QGDTPFL de lneas de
preformatos).

- QGDTERR: Tabla de cdigos de errores/avisos.

- QGDTDTA:Tabla de descripciones multi-idioma. Se actualizar
automticamente con cualquier cambio en las tablas anteriores
realizando las altas y modificaciones a travs de las
conversaciones de mantenimiento de la Arquitectura.

Opcionalmente, ser necesario informar tambin las siguientes tablas:

- QGDTRTO: Tabla de referencia de totales.

- QGDTHLP: Tabla de ayudas on-line.

- QGDTHLC: Tabla de ayudas activas.

- QGDTTDD: Tabla de distribucin de telediscos.

- QGDTTLI: Tabla de literales de error multi-idioma.

Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 23


Los pasos a dar son los siguientes, por este orden:

1.- Dar de alta la aplicacin en la tabla de aplicaciones. Cambiar
la descripcin para cada idioma de la instalacin.

2.- Dar de alta los preformatos en la tabla de preformatos (si
existen). Cambiar las descripciones de los literales para cada
idioma de la instalacin.

3.- Dar de alta los formatos en la tabla de formatos (si existen).
No se permite dar de alta un formato sin su correspondiente
preformato en el caso de que exista. Para el caso de
transacciones conversacionales, previamente se debera haber
creado el mapa BMS que se asociara a la transaccion y haberlo
compilado.

4.- Dar de alta las ayudas de campos para aquellos que se desee.

5.- Dar de alta las pantallas de ayuda on-line para la transaccin,
si esta fuera conversacional y se deseara utilizar una ayuda.
Cambiar las descripciones de los literales para cada idioma de
la instalacin.

6.- Dar de alta las transacciones en la tabla de transacciones. No
se permite dar de alta una transaccin sin su correspondiente
formato de entrada (si lo tiene) dado de alta en la tabla de
formatos, ni su correspondiente cdigo de ayuda (si tuviera
ayuda on-line asociada). Cambiar las descripciones de los
literales para cada idioma de la instalacin.

7.- Definir las teclas de funcin asociadas a cada transaccin, si
se desea un control de las mismas por parte de la Arquitectura.
Cambiar las descripciones de los literales para cada idioma de
la instalacin.

8.- Dar de alta los cdigos de error/aviso manejados en los
programas de aplicacin en la tabla de errores/avisos. Cambiar
las descripciones de los literales para cada idioma de la
instalacin.

9.- Si la aplicacin necesita que la Arquitectura actualice totales
contables, se deben dar de alta los tipos de totales que utiliza
la aplicacin en la tabla de referencia de totales. Cambiar las
descripciones de los literales para cada idioma de la
instalacin.

10.- Dar de alta los cdigos de literales de error/aviso en los
diferentes idiomas de la instalacin.

Si adems la aplicacin utiliza la utilidad del teledisco, se deber:

11.- Dar de alta en la tabla de distribucin de telediscos los
procesos batch que utilizan teledisco, con el teledisco
asociado.

Por otra parte, en todos los planes DB2 de las aplicaciones, deben
figurar los siguientes DBRM's:

- QC2CSQ1
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 24
- QC2CSQ2
- QC2CFTO
- QC2CATL (Si se utilizan literales de error/aviso multi-idioma)
- QC2CHLP (En conversaciones que utilicen la ayuda de
transaccin)
- QC2CHLC (En conversaciones que utilicen la ayuda activa) (*)
- QC2CREA (En conversaciones, para suspender una conversacin)
- QC2CAUT (En conversaciones, cuando se pide autorizacin por
Arquitectura Extendida)
- QC2CAUS (En conversaciones, cuando se pide autorizacin por
Arquitectura Estndar)
- QC2CSQ3 (Si alguna transaccin del plan es de tipo Estndar)
- QG2CTLD (Si se utiliza el teledisco)
- QC2CLIS (Si utiliza listados dinmicos de tablas)
- QC2CIMP (Si se requiere la utilidad de impresin desde 3270)


(*) Las tablas DB2 donde se encuentren los valores del campo al que se le
ha asignado ayuda activa, deben tener hecho GRANT TO PUBLIC para SELECT.
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 25

3.2.2 Parametrizacion de las Aplicaciones

Las aplicaciones nuevas debern ser dadas de alta en la Arquitectura
ejecutando la transaccin QM, ingresando la opcion 1 (Aplicaciones).
Se debern ingresar los datos que solicite el mapa del Menu de
Mantenimiento de Aplicaciones

______________________________________________________________________

0001 OM27 ARQUITEC. PLATAFORMA TP01 16/05/96
0100 CICSUSER MANTENIMIENTO DE APLICACIONES QMAM 07:54:09

NEW COPY
Codigo Aplicacion .. = FO
Descripcion en 20 .. = FORMACION
Descripcion en 30 .. = FORMACION

ESTADO (A/D/C) ..... = A Activada
Cambio Sesion Autom. = N (S/N)
Multidivisa .........= S (S/N)

Aplicacion Altamira. = FO
Idioma ............ = E CASTELLANO
Origen aplic.(P/O) ..= P Plataforma

____________________STAMPS_______________________
Cambio de estado ... = 12/05/96 23:53 A1143
Pase a produccion .. = 01/07/90
Alta ............... = 12/05/96 A1143
Ultima modific. .... = 13/05/96 CICSUSER


F2 Modif. F3 Alta F4 Limpia F6 Baja CL Borra
_____________________________________________________________________



Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 26
3.2.3 Parametrizacion de los Formatos

Los formatos de las transacciones seran dadas de alta en la arquitectura
siguiendo los sgtes pasos

. Creacion del Mapa BMS asociado a la transaccin

Ejemplo de Mapa BMS :

______________________________________________________________________

TITLE 'MAPSET DE MANTTO. DE TRANSACCIONES'
PRINT NOGEN
* ****************************************************************
* * FOMATMA: MAPASET DE MANTTO. DE TRANSACCIONES 00002003
* * FOMACION USUARIOS ARQUITECTURA. 00002003
* ****************************************************************
* * *
* * DATE LAST UPDATED: 17MAY90 MAP GENERATION DATE: 18MAY90 *
* * TIME LAST UPDATED: 22:27:41 MAP GENERATION TIME: 12:25:24 *
* * *
* * *
* ****************************************************************
FORMTMA DFHMSD TYPE=MAP,LANG=COBOL,TIOAPFX=YES,MODE=INOUT, X
STORAGE=AUTO,CTRL=(FREEKB,FRSET),TERM=ALL
FORMTMA DFHMDI SIZE=(19,80),EXTATT=NO,LINE=4
*
DFHMDF POS=(01,03),LENGTH=19,ATTRB=(NORM,PROT), X
INITIAL='Transaccion ..... ='
*
TRANID DFHMDF POS=(01,23),LENGTH=4,ATTRB=(BRT,UNPROT,IC), X
JUSTIFY=(LEFT,BLANK)
DFHMDF POS=(01,28),LENGTH=1,ATTRB=(NORM,PROT,ASKIP), X
INITIAL=':'
*
DESCRIP DFHMDF POS=(01,30),LENGTH=35,ATTRB=(NORM,UNPROT), X
JUSTIFY=(LEFT,BLANK)
DFHMDF POS=(01,66),LENGTH=1,ATTRB=ASKIP
*
*
*
STAMULT DFHMDF POS=(19,55),LENGTH=8,ATTRB=(NORM,PROT), X
JUSTIFY=(LEFT,BLANK)
DFHMSD TYPE=FINAL
END
______________________________________________________________________



Se compilara el mapa BMS. Despus de la compilacin se obtendra como
resultado dos archivos, uno que ser el mapa compilado para el Cics
y el otro una Copy Cobol de un BMS :

Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 27

01 FORMTMA.
02 FILLER PIC X(12).
02 TRANIDL COMP PIC S9(4).
02 TRANIDF PICTURE X.
02 FILLER REDEFINES TRANIDF.
03 TRANIDA PICTURE X.
02 TRANIDI PIC X(4).
02 DESCRIPL COMP PIC S9(4).
02 DESCRIPF PICTURE X.
02 FILLER REDEFINES DESCRIPF.
03 DESCRIPA PICTURE X.
02 DESCRIPI PIC X(35).
02 NEWCOPYL COMP PIC S9(4).
02 NEWCOPYF PICTURE X.
02 FILLER REDEFINES NEWCOPYF.
03 NEWCOPYA PICTURE X.
02 NEWCOPYI PIC X(1).
02 IDIOMAL COMP PIC S9(4).
02 IDIOMAF PICTURE X.
02 FILLER REDEFINES IDIOMAF.
03 IDIOMAA PICTURE X.

el mapa generado por este BMS es el siguiente :


Transaccion ..... = : NEW COPY
Idioma........... =
Aplicacion ...... = ________ESTADO_________
Programa ........ = (A/D)
Plan DB2 ........ = __________ALTAMIRA___________
Formato/Mapa ent. = / Tipo Altamira.... = (N/E/M)
Codigo de ayuda.. = Entrada.......... =
Longitud Commarea =
Camb.Ses/Recuper. = / (S/N):(S/N) ______INFORM.ADICIONAL_____
Tipo (Trans/Conv) = (T/C) Transac. local .. =
Contable / Cajero = :(S/N):(A/B/ ) Documentos ...... =
Tipos operacion.. = (A-B-M-C-E-P-O) Diario Elec. .... = (S/N)
Inicio desde TERM = (S/N) APB 4700 ........ = (S/N)
Inicio por Arquit.= (S/N)_______________STAMPS__________________
PFs standard = (S/N) Cambio estado =
Actualizar tecleo = (S/N) Alta ........ =
Pintar fast-path = (S/N) Ult.mod. .... =
Pfs por Arquitec.= (S/N) Primer Uso .. =




Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 28


A continuacion se procedera a incluir este formato (FORMTMA) en la tabla
de formatos (QGDTFDF) por medio de la utilidad QM en el ambiente TSO
(Opcion 5), como se muestra a continuacin :



---------------------- UTILIDADES DE LA ARQUITECTURA -----------------
COMANDO ===> USUARIO - C5230
HORA - 23:44
FECHA - 96/05/16
UTILIDAD ===>5 <- 1 Descarga de tablas de desarrollo en secuenciales.
2 Comparacion de tablas de desarrollo/produccion.
3 Generacion copys COBOL desde la tabla de formatos.
4 Generacion copys PLI desde la tabla de formatos.
5 Generacion de formatos a partir de BMS ensamblado.
6 Generacion automatica de tablas APB del 4700.
7 Carga automatica de la tabla de literales 4700.
8 Listado informativo de transacciones.

CLASE ===> D Clase de salida asignada al proyecto: A - Z .

TABLA ===> Iniciales de la tabla (necesario para opcion 2 ).
Valores posibles tabla: CCT,PFM,FDF,ERR,HLP.

PARAMETRO ===> FORMTMA Clave deseada (Neces.para opcion 3,4,5,8 ).

LIBRERIA ===> MBVD.FOA.MAPCPY (Neces.para opcion 3,4,5 ).

Pulse PF3 para salir de las utilidades de arquitectura.

Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 29


Este formato se crea como provisional, y antes de ser usado deber ser
puesto como Definitivo.


0001 AL14 ARQUITEC. PLATAFORMA TP01 16/05/96
0100 CICSUSER MANTENIMIENTO DE FORMATOS QMFM 23:58:35

Formato ........... = FORMTMA : MATENIMIENTO FORMACION NEW COPY

Tipo (E/S/A) ...... = A Entrada/Salida
Delimit. automatico = S (S/N) ________ESTADO________
(P/D) = P Definitiva
Num. campos .............. = 45
Longitud copy ............ = 392
Relacion campos / Ver.PS/2 = No / No
Rutinas Verific./ V.Listos = No / No
Idioma ............. = E CASTELLANO
Formato modelo: FORMTMA
__________ SALIDA ________
Preformato de Pantalla ... = / / (STD / 4700 / 5935)
Preformato de Documento .. = / / (STD / Doc. / NLin)
Mapa para LOCAL .......... = / (PS/2 / 4700)
Conexion Preform. =
______ALTA_______ _____ULTIMA MODIF______ __P.USO_ ___ULT.USO___
QG4CCHK 13/05/96 CICSUSER 13/05/96 22:43 13/05/96 13/05/96 FOTM

F2 Modificar F3 Alta F4 Limpiar F5 Campos F6 Baja F7 Prefm BORRA Salir
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 30
La lista de campos de este formato es la sgte :
______________________________________________________________________
0001 AL14 ARQUITEC. PLATAFORMA TP01 17/05/96
0100 CICSUSER LISTADO DE CAMPOS QMCL 03:40:14

P SALTO FORMATO: FORMTMA MATENIMIENTO FORMACION L 1: 45


CAMPO____LITERAL__________DELIM_ATT__LNG__TIP_RUTINA__VRUT_LIT4700_AYU
01 TRANID TRANID 01 A 4 O N N
02 DESCRIP DESCRIP 02 A 35 O N N
03 NEWCOPY NEWCOPY 03 A 1 O N N
04 IDIOMA IDIOMA 04 A 1 O N N
05 DESIDIO DESIDIO 05 A 20 O N N
06 APLICAC APLICAC 06 A 2 O N N
07 DESCAPL DESCAPL 07 A 20 O N N
08 PGMID PGMID 08 A 8 O N N
09 ACTIVA ACTIVA 09 A 1 O N N
10 DESCACT DESCACT 0A A 11 O N N
11 PLAN PLAN 0B A 8 O N N
12 COPYIN COPYIN 0C A 8 O N N
13 PANELIN PANELIN 0D A 8 O N N
14 TIPALTM TIPALTM 0E A 1 O N N
15 CODHELP CODHELP 0F A 4 O N N
16 ENTRADA ENTRADA 10 A 8 O N N

F2 Mantt F3 Alta F4 AyAct F6 Relac F10 Mover F7 RePag F8 AvPag ClSalir
______________________________________________________________________

A partir de aqui se mantienen campos seleccionando F2, y con F4 y
seleccin de mantienen ayudas de campos.

Hasta aqui se ha logrado informar a la Arquitectura, el FORMATO y sus
campos. A continuacin de procedera a prefijar los campos de Copy Cobol
generada durante la compilacin para que pueda ser incluida en el
programa de aplicacin mediante una sentencia COPY, la copy ya prefijada
se detalla a continuacin.
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 31

01 FORMTMA.
02 FILLER PIC X(12).
02 TMA-TRANIDL COMP PIC S9(4).
02 TMA-TRANIDF PICTURE X.
02 FILLER REDEFINES TMA-TRANIDF.
03 TMA-TRANIDA PICTURE X.
02 TMA-TRANIDI PIC X(4).
02 TMA-DESCRIPL COMP PIC S9(4).
02 TMA-DESCRIPF PICTURE X.
02 FILLER REDEFINES TMA-DESCRIPF.
03 TMA-DESCRIPA PICTURE X.
02 TMA-DESCRIPI PIC X(35).
02 TMA-NEWCOPYL COMP PIC S9(4).
02 TMA-NEWCOPYF PICTURE X.
02 FILLER REDEFINES TMA-NEWCOPYF.
03 TMA-NEWCOPYA PICTURE X.
02 TMA-NEWCOPYI PIC X(1).
02 TMA-IDIOMAL COMP PIC S9(4).

Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 32
3.2.4 Parametrizacion de las Transacciones


Las transacciones se daran de alta en la Arquitectura mediante la
transaccin QM, Mantenimiento de Arquitectura, Opcin 2,


0001 OM28 ARQUITEC. PLATAFORMA TP01 19/05/96
0100 CICSUSER MANTENIMIENTO DE TRANSACCIONES QMTM 22:32:34

Transaccion ..... = FO : MENU DE FORMACION NEW COPY
Idioma .......... = E CASTELLANO
Aplicacion ...... = FO FORMACION ________ESTADO_________
Programa ........ = FO1CMNU (A/D) A Activada
Plan DB2 ........ = BNQMD __________ALTAMIRA___________
Formato/Mapa ent. = FORMMNU / FORMMNU Tipo Altamira.... = N (N/E/M)
Codigo de ayuda.. = Entrada.......... = MEN-HA
Longitud Commarea = 1000
Camb.Ses/Recuper. = N / N (S/N) : (S/N) ______INFORM.ADICIONAL_____
Tipo (Trans/Conv) = C (T/C) Transac. local .. = FO
Contable / Cajero = N : (S/N) (A/B/ ) Documentos ...... =
Tipos operacion.. = O (A-B-M-C-E-P-O) Diario Elec. .... = N (S/N)
Inicio desde TERM = S (S/N) APB 4700 ........ = N (S/N)
Inicio por Arquit.= N (S/N) _______________STAMPS__________________
PFs standard = S (S/N) Cambio estado = 13/05/96 03:05 CICSUSER
Actualizar tecleo = S (S/N) Alta ........ = 13/05/96 CICSUSER
Pintar fast-path = N (S/N) Ult.mod. .... = 13/05/96 21:18 CICSUSER
Pfs por Arquitec.= S (S/N) Primer Uso .. =
Tiene ayuda activa= N (S/N) Ultimo Uso .. =

F2 Modif F3 Alta F4 Limpia F5 Frmto. F6 Baja F8 Pfs.10 Altam.CL Borra



Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 33
3.2.4 Parametrizacion de las Teclas de Funcin.

Se accede a este men a traves del menu de mantenimiento de transacciones
presionando la tecla PF8, ejemplo :


0001 OM28 ARQUITEC. PLATAFORMA TP01 19/05/96
0100 CICSUSER LISTADO DE TECLAS DE FUNCION QMLF 23:05:49
QCA0001 FIN DE DATOS
P SALTO LISTADO DE PFS DE LA TRANSACCION PE11 L 1: 9
C 1: 90
_TECLA____LITERAL________ACTIVA___VIS.__PF.FIC__PROGRAMA_
INT INTRO S N PE2C0600
F1 LIMPIA S S PE2C0600
F2 MODIFI S S F7 PE2C0600
F3 ALTA S S F5 PE2C0600
F9 M.APLI S S PE2C0600
F13 SGTE S S F3 PE2C0600
F14 PARTIC S S F4 PE2C0600
F15 COMPLE S S F8 PE2C0600
CL INTRO S N F10 PE2C0600




F2 Mantto F3 Alta F4 Izqda. F5 Drcha. F7 Re.Pag F8 Av.Pag Cl Salir

Se dar de alta a las teclas de funcion asociadas a la transaccin
mediante el sgte menu :

0001 OM28 ARQUITEC. PLATAFORMA TP01 19/05/96
0100 CICSUSER MANTTO. DE TECLAS DE FUNCION QMMF 23:14:01

Transaccion .... = PE11 : MANTENIMIENTO DE DATOS BASICOS NEW COPY

PF......... = F2
Literal.... = MODIFI
Descripcion = MODIFI
Idioma .... = E CASTELLANO

Activa..... = S (S/N)
Visualizar. = S (S/N)
PF Ficticia = F7

Programa... = PE2C0600

_________________STAMPS________________
Alta ........ = 20/07/92 ACOEPD
Ult.mod. .... = 11/04/96 07:53 CICSUSER


F2 Modificar F3 Alta F4 Limpiar F6 Baja BORRA Salir

Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 34
3.2.5 Parametrizacin de los Errores y Avisos

Los errores y avisos se daran de alta en la Arquitectura mediante la
transaccin QM (Mantenimiento de Arquitectura) Opcin 5,

0001 OM28 ARQUITEC. PLATAFORMA TP01 19/05/96
0100 CICSUSER LISTADO DE ERRORES/AVISOS QMEL 23:34:54

P SALTO SELECCION ==> BG L 17:1243
C 1: 368
CODIGO____MENSAJE ASOCIADO_______________________________________________
BGA0016 CUENTAS HIJAS DE LA CLAVE CONSIDERADA, PERDERAN TAL CONDICION.
BGA0017 CONFIRME PF7 BAJA DE CONDICIONES DE LIQUIDACION VAR EN TABLA
BGA0018 BORRADA INFOR TABLA DE COND.TIPOS.INTERES. ACTUALIZADA LA
BGA0019 ACTUALIZACION CON DATOS MADRE. BORRADOS DATOS TABLA C.T.I DE
BGA0020 PF7 BORRA DATOS EN TABLA PARA LA CUENTA. ACTUALIZAN DATOS AD
BGA0021 MODIFICACION CORRECTA REALIZADA CON LOS DATOS DE LA CTA.
BGA0022 DESEA DAR DE ALTA MAS ESTANDARES ? (F7 = SI F8 = NO )
BGA0023 PULSE CUALQUIER TECLA DE FUNCION PARA CONTINUAR EL PROCESO...
BGA0024 DESEA DAR DE ALTA MAS MOVIMIENTOS ?(F7 = SI F8 = NO )
BGA0025 OK. OPERACION EFECTUADA.
BGA0026 NO SE HA INTRODUCIDO NINGUN DATO DISTINTO A LOS EXISTENTES
BGA0027 CARTA SIN DATOS DE CLIENTE
BGA0028 OK. INDICADOR DE '@@@@@@@@@@@@@@@@@@@@' HA SIDO MODIFICADO
BGA0029 OK. NUEVA CUENTA RECEPTORA/TRASPASO ES @@@@@@@@@@@@@@@@@@@@.

F2 Mantto F3 Alta F4 Izqda. F5 Drcha. F7 Re.Pag F8 Av.Pag Cl Salir

El mantenimiento se efectuar mediante el sigte men :

0001 OM28 ARQUITEC. PLATAFORMA TP01 19/05/96
0100 CICSUSER MANTENIMIENTO DE ERRORES/AVISOS QMEM 23:38:57


Codigo de Mensaje .. = BGA0018 AVISO / CUENTAS PERSONALES
Idioma ............. = E CASTELLANO

Variable 1 - Col/Lng = / Utilizar caracter @ en mensaje asociado
Variable 2 - Col/Lng = / para indicar parte variable.

__________________________MENSAJE ASOCIADO____________________________
BORRADA INFORMACION TABLA DE COND.TIPOS.INTERES. ACTUALIZADA TABLA
AUX.


________________________INFORMACION ADICIONAL_________________________



_______ALTA_______ _______ULTIMA MODIF______
CORITE1 23/04/91 CORITE1 08/10/93 16:59

F2 Modificar F3 Alta F4 Limpiar F6 Baja BORRA Salir

Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 35
4. Desarrollo del ejemplo dilogo Conversacional

4.1 Conceptos para el desarrollo del ejemplo.

Para el ejemplo del dilogo conversacional se han considerado tres
programas:

1. FO1CMNU Men de Formacin.
Este programa contendr varias opciones, la nica que estar
habilitada para el ejemplo es la opcin 2 (Mantenimiento de
Transacciones), el Menu solicitar el codigo de transaccion
para efectuar el mantenimiento, y el idioma asociado a ste.
Si se digitara una transaccin especfica se dar control al
programa FO2CTMA (Mantenimiento de Transacciones de Formacin),
en caso contrario se dar control al programa FO2CTLI (Listado
de transacciones), con el propsito de ubicar la transaccin y
seleccionarla.

Transaccin asociada : FO
Mapa asociado : FORMMNU
Copy de MapaBMS : FORMMNU

Descripcin de Programa :
Se ingresa al programa en estado continuacin (el inicio lo
efectua la Arquitectura).
Verifica que la tecla digitada haya sido la correcta,
luego evalua que la opcion tambin sea conforme, informa a
la CAA los datos para la sgte transaccin, FOTL si es
listado y FOTM si es mantenimiento.


2. FO2CTLI Listado de Transacciones Formacin.
Cuando del menu de formacin no se indique una transaccin
especfica, el programa FO1CMNU le dar control a este
programa.
El objetivo de este programa es visualizar las transacciones a
travs de un browse para facilitar la identificacin de estas
con el propsito de consultar, aadir, dar de baja, o insertar
transacciones en las tablas de Arquitectura.

Transaccin asociada : FOTL
Mapa asociado : QCRMGTS (Mapa de Arquitectura)

Descripcin del programa :
Este programa se divide en dos partes dependiendo del estado
en el que se encuentra.
Un primer estado de inicio, con el cual generar a partir de la
clave informada en la CMA (Area comn entre los programas de
aplicacin) un cola TS (Temporary Storage) de datos de nombre
+GTSXXXX (XXXX es el codigo de terminal) con los datos a listar
e informar el area CAA-PAGINAR de la commarea para que la sgte
vez sea el programa de gestin de TS el que tome el control.

En el sgte estado, (continuacin), el programa recibir
control cuando el programa de gestin de TS detecte que se ha
pulsado una tecla de salida, entendiendose como tal las
informadas por nuestro programa en CAA-PAGINACION, que sern
F2, para Mantenimiento y F3 para Alta). En stos dos casos,
informa la CAA para sgte transaccin: FOTM.


Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 36
3. FO2CTMA Mantenimiento de Formacin.
Este programa controla el alta, baja, modificacin y consulta
de transacciones.

Transaccin asociada : FOTM
Mapa asociado : FORMTMA

Descripcin del programa :
Este programa tiene tres estados : Inicio, Continuacin y
Confirmacin.
En el estado Inicio valida que la transaccin dada en el men
exista o no, segn sea consulta o alta el tipo de operacin
seleccionada. Para ello se accede a la tabla de transacciones
de formacin (FODTCTT), en caso de que exista y la operacin
sea alta enviar a la pantalla de entrada un mensaje de error.
Si existe y la operacin es modificacin, la pantalla se
completar y devolvera el control en estado continuacin.
En estado continuacin se recibe el mapa y se comprueba la
tecla que ha pulsado. Si la tecla ha sido INTRO se accede a
la tabla FODTCCT para comprobar que los datos existen. Si es
asi, se informa la pantalla con los datos ledos de la tabla;
en caso contrario, se mantienen los datos que hubiera en la
pantalla y se envia un mensaje de error.
Cuando se pulse la tecla F2 (Modificacin), se valida la
informacin de la pantalla. Si no se ha modificado ningn campo
se mantienen los datos de la pantalla y se envia un mensaje de
error, en caso contrario, se actualiza la tabla con las
modificaciones introducidas.
Si se presiona la tecla F3 (Alta), se comprueba que la
transaccin no exista, sobre los campos se hacen las sgtes
validaciones : transaccin y programa (1:2) y que la new copy
sea blanco. Si por el contrario, se produce algn error se
muestra el mismo panel con el mensaje de error correspondiente.
Cuando estando en estado continuacin se pulse F6 (Baja), se
valida que la transaccin exista, luego se procede a realizar
la baja una vez que se ha pedido confirmacin F7.


Se debe tomar en cuenta que los formatos asociados a las transacciones
deben ser informados a la Arquitectura siguiendo los pasos del punto
3.2.3.


Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 37
4.2 Transaccin FO programa FO1CMNU Men de Formacin.

4.2.1 Parametrizacin de la Transaccin.

Los parmetros definidos para la transaccion FO son los sgtes :

Aplicacin

0001 OM12 ARQUITEC. PLATAFORMA TP01 21/05/96
0100 CICSUSER MANTENIMIENTO DE TRANSACCIONES QMTM 09:18:16

Transaccion ..... = FO MENU DE FORMACION NEW COPY
Idioma .......... = E CASTELLANO
Aplicacion ...... = FO FORMACION ________ESTADO_________
Programa ........ = FO1CMNU (A/D) A Activada
Plan DB2 ........ = BVDAOPO ________ALTAMIRA___________
Formato/Mapa ent. = FORMMNU / FORMMNU Tipo Altamira.... = N /E/M)
Codigo de ayuda.. = Entrada.......... = MEN-HA
Longitud Commarea = 1000
Camb.Ses/Recuper. = N / N (S/N) : (S/N) _____INFORM.ADICIONAL_____
Tipo (Trans/Conv) = C (T/C) Transac. local .. = FO
Contable / Cajero = N : (S/N) : (A/B/ ) Documentos ...... =
Tipos operacion.. = C (A-B-M-C-E-P-O) Diario Elec. .... = N (S/N)
Inicio desde TERM = S (S/N) APB 4700 ........ = N (S/N)
Inicio por Arquit.= S S/N)
________________STAMPS__________________
PFs standard = S (S/N) Cambio estado = 13/05/96 03:05 CICSUSER
Actualizar tecleo = S (S/N) Alta ........ = 13/05/96 CICSUSER
Pintar fast-path = N (S/N) Ult.mod. .... = 20/05/96 08:55 CICSUSER
Pfs por Arquitec.= S (S/N) Primer Uso .. = 19/05/96
Tiene ayuda activa= S (S/N) Ultimo Uso .. = 21/05/96

F2 Modif F3 Alta F4 Limpia F5 Frmto F6 Baja F8 Pfs.10 Altam. CL Borra


Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 38
Formatos

0001 OM12 ARQUITEC. PLATAFORMA TP01 21/05/96
0100 CICSUSER MANTENIMIENTO DE FORMATOS QMFM 09:22:42

Formato ........ = FORMMNU : MENU DE FORMACION NEW COPY

Tipo (E/S/A) ...... = A Entrada/Salida
Delimit. automatico = S (S/N)
_______ESTADO________
(P/D) = D Definitiva
Num. campos .............. = 3
Longitud copy ............ = 33
Relacion campos / Ver.PS/2 = No / No
Rutinas Verific./ V.Listos = No / No
Idioma ............. = E CASTELLANO
Formato modelo: FORMMNU
__________ SALIDA ________
Preformato de Pantalla ... = / / (STD / 4700 / 5935)
Preformato de Documento .. = / / (STD / Doc. / NLin)
Mapa para LOCAL .......... = / (PS/2 / 4700)
Conexion Preform. =

______ALTA_______ ____ULTIMA MODIF______ __P.USO_ ___ULT.USO___
QG4CCHK 02/05/96 CICSUSER 20/05/96 09:00 03/05/96 21/05/96 FO

F2 Modificar F3 Alta F4 Limp F5 Campos F6 Baja F7 Preform BORRA Salir


Campos

0001 OM12 ARQUITEC. PLATAFORMA TP01 21/05/96
0100 CICSUSER LISTADO DE CAMPOS QMCL 09:23:39
QCA0001 FIN DE DATOS
P SALTO FORMATO: FORMMNU MENU DE FORMACION L 1: 3


CAMPO____LITERAL__________DELIM_ATT__LNG__TIP_RUTINA__VRUT_LIT4700_AYU
01 OPCION OPCION 01 A 2 O N N
02 CODIGO CODIGO 02 A 9 O N N
03 IDIOMA IDIOMA 03 A 1 O N N











F2 Mantto F3 Alta F4 AyAct F6 Rela 10 Mover F7 RePag F8 AvPag Cl Salir

Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 39
Teclas de Funcin

0001 OM12 ARQUITEC. PLATAFORMA TP01 21/05/96
0100 CICSUSER LISTADO DE TECLAS DE FUNCION QMLF 09:24:39
QCA0001 FIN DE DATOS
P SALTO LISTADO DE PFS DE LA TRANSACCION FO L 1: 3
C 1: 90
_TECLA____LITERAL________ACTIVA___VIS.__PF.FIC__PROGRAMA_
INT INTRO S S
F2 MODIF. S S
F3 ALTA S S













F2 Mantto F3 Alta F4 Izqda. F5 Drcha. F7 Re.Pag F8 Av.Pag Cl


Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 40
4.2.2 Anlisis del Mapa BMS

El mapa asociado a la transaccion FO Menu de Formacin de Arquitectura es
el FORMMNU el cual se detalla a continuacin :

______________________________________________________________________

PRINT NOGEN
* ****************************************************************
* * FORMMNU: MAPASET DE MENU DE FORMACION DE USUARIOS *
* * DE ARQUITECTURA. *
* ****************************************************************
* * *
* * MAPSET NAME: MMAMNUS MAP NAME: MMAMNUM *
* * *
* * *
* * DATE LAST UPDATED: 17MAY90 MAP GENERATION DATE: 18MAY90 *
* * TIME LAST UPDATED: 22:28:05 MAP GENERATION TIME: 12:16:28 *
* * *
* * *
* ****************************************************************
FORMMNU DFHMSD TYPE=MAP,LANG=COBOL,TIOAPFX=YES,MODE=INOUT, X
STORAGE=AUTO,CTRL=(FREEKB,FRSET),TERM=ALL
FORMMNU DFHMDI SIZE=(19,80),EXTATT=NO,LINE=4
*
DFHMDF POS=(01,12),LENGTH=6,ATTRB=(BRT,PROT), X
INITIAL='OPCION'
DFHMDF POS=(01,27),LENGTH=27,ATTRB=(BRT,PROT), X
INITIAL='_______ DESCRIPCION _______'
DFHMDF POS=(01,62),LENGTH=16,ATTRB=(BRT,PROT), X
INITIAL='CAMPO A INFORMAR'
*
DFHMDF POS=(02,14),LENGTH=1,ATTRB=(NORM,PROT), X
INITIAL='1'
DFHMDF POS=(02,27),LENGTH=12,ATTRB=(NORM,PROT), X
INITIAL='Aplicaciones'
DFHMDF POS=(02,68),LENGTH=4,ATTRB=(NORM,PROT), X
INITIAL='(01)'
*
DFHMDF POS=(03,14),LENGTH=1,ATTRB=(NORM,PROT), X
INITIAL='2'
DFHMDF POS=(03,27),LENGTH=13,ATTRB=(NORM,PROT), X
INITIAL='Transacciones'
DFHMDF POS=(03,68),LENGTH=4,ATTRB=(NORM,PROT), X
INITIAL='(01)'
*
DFHMDF POS=(04,14),LENGTH=1,ATTRB=(NORM,PROT), X
INITIAL='3'
DFHMDF POS=(04,27),LENGTH=8,ATTRB=(NORM,PROT), X
INITIAL='Formatos'
DFHMDF POS=(04,68),LENGTH=4,ATTRB=(NORM,PROT), X
INITIAL='(01)'


*
DFHMDF POS=(05,14),LENGTH=1,ATTRB=(NORM,PROT), X
INITIAL='4'
DFHMDF POS=(05,27),LENGTH=11,ATTRB=(NORM,PROT), X
INITIAL='Preformatos'
DFHMDF POS=(05,68),LENGTH=4,ATTRB=(NORM,PROT), X
INITIAL='(01)'
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 41
*
DFHMDF POS=(06,14),LENGTH=1,ATTRB=(NORM,PROT), X
INITIAL='5'
DFHMDF POS=(06,27),LENGTH=16,ATTRB=(NORM,PROT), X
INITIAL='Errores y Avisos'
DFHMDF POS=(06,68),LENGTH=4,ATTRB=(NORM,PROT), X
INITIAL='(01)'
*
DFHMDF POS=(07,14),LENGTH=1,ATTRB=(NORM,PROT), X
INITIAL='6'
DFHMDF POS=(07,27),LENGTH=17,ATTRB=(NORM,PROT), X
INITIAL='Totales contables'
DFHMDF POS=(07,68),LENGTH=4,ATTRB=(NORM,PROT), X
INITIAL='(01)'
* DFHMDF POS=(08,14),LENGTH=1,ATTRB=(NORM,PROT), X
INITIAL='7'
DFHMDF POS=(08,27),LENGTH=23,ATTRB=(NORM,PROT), X
INITIAL='Ayudas de Transacciones'
DFHMDF POS=(08,68),LENGTH=4,ATTRB=(NORM,PROT), X
INITIAL='(01)'
*
DFHMDF POS=(09,14),LENGTH=1,ATTRB=(NORM,PROT), X
INITIAL='8'
DFHMDF POS=(09,27),LENGTH=10,ATTRB=(NORM,PROT), X
INITIAL='Terminales'
DFHMDF POS=(09,68),LENGTH=4,ATTRB=(NORM,PROT), X
INITIAL='(01)'
*
DFHMDF POS=(10,14),LENGTH=1,ATTRB=(NORM,PROT), X
INITIAL='9'
DFHMDF POS=(10,27),LENGTH=27,ATTRB=(NORM,PROT), X
INITIAL='Control del Sistema '
*
DFHMDF POS=(11,13),LENGTH=2,ATTRB=(NORM,PROT), X
INITIAL='10'
DFHMDF POS=(11,27),LENGTH=27,ATTRB=(NORM,PROT), X
INITIAL='Distribucion Teledisco '
DFHMDF POS=(11,68),LENGTH=4,ATTRB=(NORM,PROT), X
INITIAL='(01)'
*
DFHMDF POS=(12,13),LENGTH=2,ATTRB=(NORM,PROT), X
INITIAL='11'
DFHMDF POS=(12,27),LENGTH=17,ATTRB=(NORM,PROT), X
INITIAL='Menu de Seguridad'


*
DFHMDF POS=(13,13),LENGTH=2,ATTRB=(NORM,PROT), X
INITIAL='12'
DFHMDF POS=(13,27),LENGTH=27,ATTRB=(NORM,PROT), X
INITIAL='Tabla de listados de tablas'
*
DFHMDF POS=(14,13),LENGTH=2,ATTRB=(NORM,PROT), X
INITIAL='13'
DFHMDF POS=(14,27),LENGTH=27,ATTRB=(NORM,PROT), X
INITIAL='Tabla de Cambio de Sesion '
*
DFHMDF POS=(15,13),LENGTH=2,ATTRB=(NORM,PROT), X
INITIAL='14'
DFHMDF POS=(15,27),LENGTH=14,ATTRB=(NORM,PROT), X
INITIAL='Otros Procesos'
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 42
*
DFHMDF POS=(17,27),LENGTH=09,ATTRB=(NORM,PROT), X
INITIAL='OPCION ='
*
OPCION DFHMDF POS=(17,37),LENGTH=2,ATTRB=(BRT,UNPROT,NUM,IC), X
JUSTIFY=(LEFT,BLANK)
DFHMDF POS=(17,40),LENGTH=1,ATTRB=ASKIP
*
DFHMDF POS=(18,24),LENGTH=12,ATTRB=(NORM,PROT), X
INITIAL='01 Codigo ='
*
CODIGO DFHMDF POS=(18,37),LENGTH=9,ATTRB=(NORM,UNPROT) X
JUSTIFY=(LEFT,BLANK)
DFHMDF POS=(18,47),LENGTH=1,ATTRB=ASKIP
DFHMDF POS=(18,50),LENGTH=28,ATTRB=(NORM,PROT), X
INITIAL='("*" indica que empiece por)'
*
DFHMDF POS=(19,24),LENGTH=12,ATTRB=(NORM,PROT), X
INITIAL='02 Idioma ='
*
IDIOMA DFHMDF POS=(19,37),LENGTH=1,ATTRB=(NORM,UNPROT) X
JUSTIFY=(LEFT,BLANK)
DFHMDF POS=(19,39),LENGTH=1,ATTRB=ASKIP
*
DFHMSD TYPE=FINAL
END
______________________________________________________________________

Despues de haber efectuado el proceso de dar de alta al formato FORMMNU
en Arquitectura segun lo indicado en la opcin 3.2.3, se tienen el
formato del punto 4.2.1 Formato y 4.2.1 Campos.

Durante la compilacin de este mapa se habr generado la sgte estructura,
la cual debe ser incluida dentro del programa de aplicacin con la
instruccin COPY, El nombre de archivo es FORMMNU.



Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 43

01 FOMMNUEI.
02 FILLER PIC X(12).
02 MNU-OPCIONL COMP PIC S9(4).
02 MNU-OPCIONF PICTURE X.
02 FILLER REDEFINES MNU-OPCIONF.
03 MNU-OPCIONA PICTURE X.
02 MNU-OPCIONI PIC X(2).
02 MNU-CODIGOL COMP PIC S9(4).
02 MNU-CODIGOF PICTURE X.
02 FILLER REDEFINES MNU-CODIGOF.
03 MNU-CODIGOA PICTURE X.
02 MNU-CODIGOI PIC X(9).
02 MNU-IDIOMAL COMP PIC S9(4).
02 MNU-IDIOMAF PICTURE X.
02 FILLER REDEFINES MNU-IDIOMAF.
03 MNU-IDIOMAA PICTURE X.
02 MNU-IDIOMAI PIC X(1).
01 FOMMNUEO REDEFINES FOMMNUEI.
02 FILLER PIC X(12).
02 FILLER PICTURE X(3).
02 MNU-OPCIONO PIC X(2).
02 FILLER PICTURE X(3).
02 MNU-CODIGOO PIC X(9).
02 FILLER PICTURE X(3).
02 MNU-IDIOMAO PIC X(1).



Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 44
4.2.3 Anlisis de la CMA

La CMA es el area que utiliza la aplicacin para el traslado de datos
entre sus programas el nombre del archivo de nuestra CMA es FOBCCMA.


****************************************************************
* NOMBRE DEL OBJETO FOECCMA
*
* DESCRIPCION: COMMAREA DE MANTENIMIENTO ARQUITECTURA
* ----------------FORMACION USUARIOS ARQUITECTURA---------
*
*
***********************************************************
01 FOECCMA.
**---------------------------------------**
**--- CAMPOS DE ENTRADA DESDE MENU ---**
**---------------------------------------**
05 CMA-CLAVE.
10 CMA-TRANSAC PIC X(04).
05 CMA-CAMPOS.
10 CMA-IDIOMA PIC X(1).
10 CMA-TIPO-OPER PIC X(01).
05 CMA-INDICADORES.
10 CMA-IND-ALTA PIC X(01).
88 CMA-88-IND-ALTA-SI VALUE 'S'.
**---------------------------------------**
**--- CAMPOS DE SALIDA DE LISTADO ---**
**--- OBTENIDOS DE ENTRADA DE MENU ---**
**--- PARA SABER SELECCION CUANDO ---**
**--- VUELVE DE MANTENIMIENTO ---**
**---------------------------------------**
05 CMA-MNU-CLAVE.
10 CMA-MNU-TRANSAC PIC X(04).
05 CMA-MNU-CAMPOS.
10 CMA-MNU-IDIOMA PIC X(1).

******************************************************************
*
* LONGITUD TOTAL DEL REGISTRO EN BYTES : 12
*
******************************************************************


Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 45

4.2.4 Anlisis del Programa fuente, estandares y comentarios

A continuacin se incluye el fuente del Menu de Formacin.

******************************************************************
* FO1CMNU: MENU MANTENIMIENTO TABLAS ARQUITECTURA.FORMACION
******************************************************************
* IDENTIFICATION DIVISION *
******************************************************************
*
IDENTIFICATION DIVISION.
PROGRAM-ID. FO1CMNU.
AUTHOR. BC-FORMACION.
DATE-WRITTEN. 20/05/96.
*
******************************************************************
* *
* FO1CMNU *
* ------- *
* *
* M E N U M O D E L O P A R A F O R M A C I O N *
* *
* EN ESTE CASO SOLO ESTA ACTIVADA LA OPCION 2 DE TRANSACCIONES*
* DE ESTA FORMA SE PROCEDERA A DAR CONTROL AL LISTADO EN PAN- *
* TALLA DE LA MISMA, SI LA CLAVE SELECCIONADA TIENE AL MENOS *
* UNA LETRA SEGUIDA DE '*' , O SE DARA CONTROL AL MANTENIMIEN-*
* TO SI LA CLAVE ESTA COMPLETA. *
* *
* DESCRIPCION DE LA LINKAGE : *
* *
* NOMBRE DESCRIPCION *
* -------- ------------- *
* *
* QGECCAA COMMAREA DE APLICACIONES *
* *
* FOECCMA DATOS PROPIOS DE LA APLICACION DE FORMACION. *
* *
* FOECMNU COPY DE PANTALLA BMS (FORMMNU) *
* *
******************************************************************
* L O G D E M O D I F I C A C I O N E S *
******************************************************************
* AUTOR FECHA DESCRIPCION *
* ------- ------- ---------------------------------------------- *
* ....... DDMMMAA ................. *
* @M001 *
* *
******************************************************************
******************************************************************
* ENVIRIONMENT DIVISION *
******************************************************************
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SPECIAL-NAMES.
DECIMAL-POINT IS COMMA.
*
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 46
******************************************************************
* DATA DIVISION *
******************************************************************
*
DATA DIVISION.
*
******************************************************************
* WORKING-STORAGE SECTION *
******************************************************************
*
WORKING-STORAGE SECTION.
*
********** IDENTIFICADOR DE INICIO DE WORKING STORAGE **********
*
01 LT-INICIO-WS.
05 LT-INICIO-W PIC X(40) VALUE
'*** INICIO WORKING STORAGE (FO1CMNU) ***'.
*
********** COPY PARA EL PROGRAMA DE ABEND ***********************
*
01 QGECABC-01.
COPY QGECABC.
*
********** COPYS A NIVEL 01 *************************************
******************************************************************
* *
* SWITCHES *
* *
* SW-TECLA *
* - '00' TECLA ENTER *
* - '03' TECLA F3 *
* *
* SW-OPCION *
* - '2 ' ACTIVADA *
* *
* - '1 ' '3 ' '4 ' '5 ' '6 ' '7 ' '8 ' '9 ' '10' '11' '12' '13'*
* '14 DESACTIVADA *
******************************************************************
*
01 SWITCHES.
05 SW-TECLA PIC X(2) VALUE ' '.
88 PF-ENTER VALUE '00'.
88 PF3 VALUE '03'.
05 SW-OPCION PIC X(2) VALUE ' '.
88 ACTIVADA VALUE '2 '.
88 DESACTIVADA VALUE '1 ' '3 ' '4 ' '5 ' '6 '
'7 ' '8 ' '9 ' '10' '11'
'12' '13' '14'.
*
************* OTRAS AREAS DE LA WORKING STORAGE ****************
* *
* W-OPCION OPCION DEL MENU, VALIDA SI ES UNA O DOS POSICIONES *
* W-CONTADOR CONTADOR DE ASTERISCOS *
* W-CODIGO RECEPCIONA EL CODIGO DEL MENU *
* W-IND TABULA LA LONGITUD DEL CAMPO DIGITADO *
* *
******************************************************************
*
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 47
01 W-VARIABLES.
*
05 W-OPCION.
10 W-OPCION1 PIC X(1).
10 W-OPCION2 PIC X(1).
05 W-CONTADOR PIC 9 VALUE ZEROS.
05 W-CODIGO.
10 W-CODIGO-OCCURS OCCURS 9 TIMES.
15 W-COD-BYTE PIC X VALUE SPACES.
05 W-IND PIC S9(9) COMP VALUE 0.
*
********** IDENTIFICADOR DE FINAL DE WORKING STORAGE ***********
*
01 LT-FINAL-WS.
05 LT-FINAL-W PIC X(40) VALUE
'*** FINAL WORKING STORAGE (FO1CMNU) ***'.
*
******************************************************************
* *
* LINKAGE SECTION *
* *
* *
* DESCRIPCION DE LA LINKAGE : *
* *
* NOMBRE DESCRIPCION *
* -------- ------------- *
* *
* QGECCAA COMMAREA DE APLICACIONES *
* *
* FOECCMA DATOS PROPIOS DE LA APLICACION DE FORMACION. *
* *
* FOECMNU COPY DE PANTALLA BMS (FORMMNU) *
* *
* *
******************************************************************
LINKAGE SECTION.
*
01 DFHCOMMAREA.
*
COPY QGECCAA.
*
COPY FOECCMA.
*
COPY FOECMNU.
*
******************************************************************
* PROCEDURE DIVISION *
******************************************************************
*
PROCEDURE DIVISION.
*
PERFORM 100000-INICIO-PROGRAMA
*
PERFORM 200000-PROCESO-PROGRAMA
*
PERFORM 300000-FIN-PROGRAMA.
*
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 48
******************************************************************
* *
* 100000-INICIO-PROGRAMA *
* *
* LOS PASOS A DAR EN ESTE PARRAFO SON LOS SIGUIENTES: *
* *
* 1.- DIRECCIONAR LOS DATOS DE LA PANTALLA MEDIANTE EL *
* PUNTERO QUE NOS GANA LA ARQUITECTURA *
* DIRECCIONAR COMMAREA DE MANTENIMIENTO *
* *
* 2.- MOVER SIEMPRE OPERACION NO CONTABLE Y OPERACION REALIZADA *
* NINGUNA *
* *
******************************************************************
*
100000-INICIO-PROGRAMA.
*
INITIALIZE QGECABC
*
EXEC CICS
IGNORE CONDITION ERROR
END-EXEC
IF EIBRESP NOT EQUAL DFHRESP(NORMAL)
MOVE 'ERROR CICS FO1CMNU' TO ABC-REFERENCIA
MOVE 'FO1CMNU' TO ABC-OBJETO-ERROR
PERFORM 999999-ABEND-CICS
END-IF
*
SET ADDRESS OF FORMMNUI TO CAA-PTR-COPYIN
SET ADDRESS OF FOECCMA TO CAA-PTRDATA
INITIALIZE FOECCMA
*
SET CAA-88-CONTABLE-NO TO TRUE
SET CAA-88-TIOPER-NADA TO TRUE.
******************************************************************
* *
* 200000-PROCESO-PROGRAMA *
* *
* LOS PASOS A DAR EN ESTE PARRAFO SON LOS SIGUIENTES: *
* *
* DECIDIR ENTRE LOS DOS ESTADOS POSIBLES *
* *
* - INICIO *
* - EN CUALQUIER OTRO CASO CONTINUACION *
* *
******************************************************************
*
200000-PROCESO-PROGRAMA.
*
EVALUATE TRUE
WHEN CAA-88-ESTADO-INICIO
PERFORM 210000-ESTADO-INICIO
WHEN OTHER
PERFORM 220000-ESTADO-CONTINUACION
END-EVALUATE.
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 49
******************************************************************
* *
* 210000-ESTADO-INICIO *
* *
* CORRESPONDERA A LA PRIMERA VEZ QUE ENTRAMOS EN EL PROGRAMA *
* POR TANTO LIMPIAREMOS LOS DATOS DE LA PANTALLA QUE SERIAN *
* DATOS DE UNA PANTALLA ANTERIOR Y MOVEMOS NUESTROS DATOS DE *
* CABECERA. *
* AL SER EL PRIMER PROGRAMA DE LA APLICACION DE MANTENIMIENTO *
* DE ARQUITECTURA. *
* DESPUES DAREMOS CONTROL A LA ARQUITECTURA PARA VOLVER A *
* ENTRAR NOSOTROS MISMOS EN CONTINUACION. *
* *
******************************************************************
*
210000-ESTADO-INICIO.
*
MOVE LOW-VALUES TO FORMMNUO.
******************************************************************
* *
* 220000-ESTADO-CONTINUACION *
* *
* EQUIVALENTE A 'RECIBIR MAPA' *
* *
* -PONE ESPACIOS A LAS VARIABLES DEL MAPA *
* -VER TECLA PULSADA INTRO O PF3 SON VALIDAS *
* -EN CUALQUIER OTRO CASO DAREMOS ERROR DE TECLA INCORRECTA *
* -MOVER IDIOMA A CMA-IDIOMA, SI ES INFORMADO POR PANTALLA *
* *
******************************************************************
*
220000-ESTADO-CONTINUACION.
*
INSPECT MNU-OPCIONI REPLACING ALL LOW-VALUES BY SPACES
INSPECT MNU-CODIGOI REPLACING ALL LOW-VALUES BY SPACES
INSPECT MNU-IDIOMAI REPLACING ALL LOW-VALUES BY SPACES
*
MOVE CAA-TECLA TO SW-TECLA
EVALUATE TRUE
WHEN PF-ENTER OR PF3
PERFORM 221000-TECLA-CORRECTA
WHEN OTHER
MOVE 'QME0001' TO CAA-COD-ERROR
MOVE -1 TO MNU-OPCIONL
PERFORM 300000-FIN-PROGRAMA
END-EVALUATE.
******************************************************************
* *
* 221000-TECLA-CORRECTA *
* *
* SON TECLAS CORRECTAS INTRO Y PF3, CON PF3 INFORMAREMOS *
* EL INDICADOR DE COMMAREA DE MANTENIMIENTO PARA ALTAS. *
* *
******************************************************************
221000-TECLA-CORRECTA.
*
IF PF3
SET CMA-88-IND-ALTA-SI TO TRUE
ELSE
MOVE 'N' TO CMA-IND-ALTA
END-IF
*
MOVE MNU-OPCIONI TO W-OPCION
IF W-OPCION1 EQUAL SPACE OR
W-OPCION1 EQUAL ZERO
MOVE W-OPCION2 TO W-OPCION1
MOVE SPACE TO W-OPCION2
END-IF
*
MOVE W-OPCION TO SW-OPCION
EVALUATE TRUE
WHEN ACTIVADA
PERFORM 221200-CALCULO-LONGITUD
IF W-IND GREATER +4
MOVE '@QM000007' TO CAA-VAR1-ERROR
MOVE '4 ' TO CAA-VAR2-ERROR
MOVE 'QME0045' TO CAA-COD-ERROR
PERFORM 300000-FIN-PROGRAMA
ELSE
MOVE ZEROS TO W-CONTADOR
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 50
INSPECT MNU-CODIGOI TALLYING W-CONTADOR FOR ALL '*'
IF NOT CMA-88-IND-ALTA-SI
IF MNU-CODIGOI EQUAL SPACES OR W-IND < +2
SET CAA-88-CODTRAN-SIG-SAME TO TRUE
MOVE -1 TO MNU-CODIGOL
MOVE 'FOE0002' TO CAA-COD-ERROR
PERFORM 300000-FIN-PROGRAMA
END-IF
END-IF
MOVE MNU-CODIGOI TO CMA-TRANSAC
END-IF
WHEN DESACTIVADA
MOVE -1 TO MNU-OPCIONL
MOVE 'FOE0001' TO CAA-COD-ERROR
PERFORM 300000-FIN-PROGRAMA
WHEN OTHER
MOVE -1 TO MNU-OPCIONL
MOVE 'FOE0003' TO CAA-COD-ERROR
PERFORM 300000-FIN-PROGRAMA
END-EVALUATE
*
IF MNU-IDIOMAI NOT EQUAL TO SPACES
MOVE MNU-IDIOMAI TO CMA-IDIOMA
ELSE
MOVE -1 TO MNU-IDIOMAL
MOVE 'QME0371' TO CAA-COD-ERROR
PERFORM 300000-FIN-PROGRAMA
END-IF.
******************************************************************
* *
* 221200-CALCULO-LONGITUD *
* *
******************************************************************
221200-CALCULO-LONGITUD.
*
MOVE MNU-CODIGOO TO W-CODIGO
MOVE +9 TO W-IND

PERFORM UNTIL W-IND EQUAL ZEROS OR
W-COD-BYTE(W-IND) NOT EQUAL SPACES
SUBTRACT +1 FROM W-IND
END-PERFORM.
******************************************************************
* *
* 300000-FIN-PROGRAMA *
* *
* -DEVOLVER CONTROL A LA ARQUITECTURA *
* *
******************************************************************
300000-FIN-PROGRAMA.
*
PERFORM 300100-POSICIONAR-CURSOR
*
EVALUATE TRUE
WHEN CAA-88-ESTADO-INICIO
PERFORM 310000-INFORMAR-CAA-INICIO
WHEN OTHER
PERFORM 320000-INFORMAR-CAA-CONTIN
END-EVALUATE
*
PERFORM 999-INFORMAR-ANALITICA
*
EXEC CICS
RETURN
END-EXEC.
******************************************************************
* *
* 300100-POSICIONAR-CURSOR *
* *
* -AL SALIR DEL PGM, POSICIONA EL CURSOR EN EL 1ER CAMPO DEL MAPA*
* *
******************************************************************
300100-POSICIONAR-CURSOR.
*
IF MNU-OPCIONL = -1 OR
MNU-CODIGOL = -1 OR
MNU-IDIOMAL = -1
CONTINUE
ELSE
MOVE -1 TO MNU-OPCIONL
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 51
END-IF.
******************************************************************
* *
* 310000-INFORMAR-CAA-INICIO *
* *
* -SETEAR VARIABLES DE LA CAA, COMO QUEDAN EN ESTADO INICIO *
* *
******************************************************************
310000-INFORMAR-CAA-INICIO.
*
SET CAA-88-ACCION-TERMINAL TO TRUE
SET CAA-88-ESTADO-CONTIN TO TRUE
MOVE CAA-CODTRAN TO CAA-CODTRAN-SIG.
*
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 52
******************************************************************
* *
* 320000-INFORMAR-CAA-CONTIN *
* *
* -SETEAR VARIABLES DE LA CAA, COMO QUEDAN EN ESTADO CONTINUACION*
* *
******************************************************************
320000-INFORMAR-CAA-CONTIN.
*
IF CAA-88-COD-ERROR-VACIO
SET CAA-88-ACCION-PROGRAMA TO TRUE
SET CAA-88-CADENA-INICIO TO TRUE
SET CAA-88-ESTADO-INICIO TO TRUE
IF W-CONTADOR GREATER ZEROS
MOVE 'FOTL' TO CAA-CODTRAN-SIG
ELSE
MOVE 'FOTM' TO CAA-CODTRAN-SIG
END-IF
IF PF3
MOVE 'FOTM' TO CAA-CODTRAN-SIG
SET CMA-88-IND-ALTA-SI TO TRUE
END-IF
ELSE
SET CAA-88-ACCION-TERMINAL TO TRUE
SET CAA-88-ESTADO-CONTIN TO TRUE
SET CAA-88-CODTRAN-SIG-SAME TO TRUE
END-IF.
******************************************************************
* *
* 999999-ABEND-CICS *
* *
* SE ABENDA LA TAREA CUANDO SE PRODUCE UN ERROR CICS NO *
* DESEABLE *
* *
******************************************************************
999999-ABEND-CICS.
*
MOVE 'S' TO ABC-ABEND
MOVE 'FO1CMNU' TO ABC-PROGRAMA
MOVE EIBFN TO ABC-EIBFN
MOVE EIBRSRCE TO ABC-EIBRSRCE
MOVE EIBRCODE TO ABC-EIBRCODE
MOVE EIBRESP TO ABC-EIBRESP1
MOVE EIBRESP2 TO ABC-EIBRESP2
*
EXEC CICS
LINK PROGRAM ('QG1CABC')
COMMAREA (QGECABC)
END-EXEC.
******************************************************************
* *
* 999-INFORMAR-ANALITICA *
* *
* SE INFORMAN LOS CAMPOS DEL SEGMENTO CAA-ANALITICA DE LA *
* COMMAREA QGECCAA, CON LOS DATOS DE LA OPERACION QUE SERVIRAN *
* A ANALITICA. *
* *
******************************************************************
999-INFORMAR-ANALITICA.
*
MOVE CAA-ENTIDAD TO CAA-ENTIDAD-ANA
MOVE CAA-CENTRO-CONT TO CAA-CENTRO-ANA
SET CAA-88-TIOPER-NADA TO TRUE.



Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 53
4.3 Transaccin FOTL programa FO2CTLI Listado de la Aplicacin.

4.3.1 Parametrizacin de la Transaccin.


Los parmetros definidos para la transaccion FOTL son los sgtes :

Aplicacin
0001 OM12 ARQUITEC. PLATAFORMA TP01 21/05/96
0100 CICSUSER MANTENIMIENTO DE TRANSACCIONES QMTM 09:25:23

Transaccion ..... = FOTL : LISTADO DE FORMACION NEW COPY
Idioma .......... = E CASTELLANO
Aplicacion ...... = FO FORMACION ________ESTADO_________
Programa ........ = FO2CTLI (A/D) A Activada
Plan DB2 ........ = BNQMD __________ALTAMIRA___________
Formato/Mapa ent. = QCRMGTS / QCRMGTS Tipo Altamira.... = N (N/E/M)
Codigo de ayuda.. = Entrada.......... = MEN-HA
Longitud Commarea = 0000
Camb.Ses/Recuper. = N / N (S/N):(S/N) ______INFORM.ADICIONAL_____
Tipo (Trans/Conv) = C (T/C) Transac. local .. = FO
Contable / Cajero = N : (S/N) : (A/B/ ) Documentos ...... =
Tipos operacion.. = C (A-B-M-C-E-P-O) Diario Elec. .... = N (S/N)
Inicio desde TERM = N (S/N) APB 4700 ........ = N (S/N)
Inicio por Arquit.= N (S/N) _____________STAMPS__________________
PFs standard = S (S/N) Cambio estado =13/05/96 03:06 CICSUSER
Actualizar tecleo = S (S/N) Alta .......=13/05/96 CICSUSER
Pintar fast-path = N (S/N) Ult.mod. ...=20/05/96 08:48 CICSUSER
Pfs por Arquitec.= N (S/N) Primer Uso .=20/05/96
Tiene ayuda activa= N (S/N) Ultimo Uso .=21/05/96

F2 Modif. F3 Alta F4 Limpia F5 Frmto. F6 Baja F8 Pfs 10 Altam. CL
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 54
Formato

0001 OM12 ARQUITEC. PLATAFORMA TP01 21/05/96
0100 CICSUSER MANTENIMIENTO DE FORMATOS QMFM 09:26:26

Formato ........... = QCRMGTS : MAPA DE LISTADOS NEW COPY

Tipo (E/S/A) ...... = A Entrada/Salida
Delimit. automatico = N (S/N) ________ESTADO________
(P/D) = D Definitiva
Num. campos .............. = 53
Longitud copy ............ = 1632
Relacion campos / Ver.PS/2 = No / No
Rutinas Verific./ V.Listos = No / No
Idioma ............. = E CASTELLANO
Formato modelo: QCRMGTS
__________ SALIDA ________
Preformato de Pantalla ... = / / (STD / 4700 / 5935)
Preformato de Documento .. = / / (STD / Doc. / NLin)
Mapa para LOCAL .......... = @GTS / (PS/2 / 4700)
Conexion Preform. =

______ALTA_______ _____ULTIMA MODIF____ __P.USO_ ___ULT.USO___
13/06/90 CICSBVT 04/01/96 17:54 13/06/90 21/05/96 QMOL

F2 Modificar F3 Alta F4 Limpiar F5 Campos F6 Baja F7 Preform BORRA


Campos

0001 OM12 ARQUITEC. PLATAFORMA TP01 21/05/96
0100 CICSUSER LISTADO DE CAMPOS QMCL 09:27:15

P SALTO FORMATO: QCRMGTS MAPA DE LISTADOS L 1: 53

CAMPO____LITERAL_________DELIM_ATT__LNG__TIP_RUTINA__VRUT_LIT4700_AYU
01 SALTO SALTO 04 A 2 O N N
02 CONTEN CONTENIDO 77 A 50 O N N
03 LINEA LINEA 64 A 9 O N N
04 COLUMNA COLUMNA 05 A 11 O N N
05 TITULO TITULO 8E A 77 O N N
06 OPCION1 OPCION1 01 A 1 O N N
07 DATOS1 DATOS1 46 A 77 O N N
08 OPCION2 OPCION2 02 A 1 O N N
09 DATOS2 DATOS2 51 A 77 O N N
10 OPCION3 OPCION3 03 A 1 O N N
11 DATOS3 DATOS3 06 A 77 O N N
12 OPCION4 OPCION4 07 A 1 O N N
13 DATOS4 DATOS4 76 A 77 O N N
14 OPCION5 OPCION5 08 A 1 O N N
15 DATOS5 DATOS5 8C A 77 O N N
16 OPCION6 OPCION6 0A A 1 O N N

F2 Mantto F3 Alta F4 AyAct F6 Relac 10 Mover F7 Re.Pag F8 Av.Pag Cl
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 55

Teclas de Funcin

0001 OM12 ARQUITEC. PLATAFORMA TP01 21/05/96
0100 CICSUSER LISTADO DE TECLAS DE FUNCION QMLF 09:28:08
QCA0001 FIN DE DATOS
P SALTO LISTADO DE PFS DE LA TRANSACCION FOTL L 1: 0
C 1: 90
_TECLA____LITERAL________ACTIVA___VIS.__PF.FIC__PROGRAMA_
















QME0038 NO EXISTEN DATOS A LISTAR
F2 Mantto F3 Alta F4 Izqda. F5 Drcha. F7 Re.Pag F8 Av.Pag Cl Salir
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 56

4.3.2 Estados Inicio / Continuacin
MNU
C
MNU
I
LST
I
LST
C
MTO
I
MTO
X
MTO
C
MAPA
MNU
LISTADO
MAPA
MTO
MAPA
MTO
MAPA
MTO
MAPA
MNU
LISTADO
MAPA
MTO
MAPA
MNU
CODTRAN-SIG = CODTRAN
ESTADO = CONTIN
ACCION = TERMINAL
CODTRAN-SIG = CODTRAN
ESTADO = CONTIN
ACCION = TERMINAL
CODTRAN-SIG = CODTRAN
ESTADO = CONTIN
ACCION = TERMINAL
TIPO-SALIDA = PAGINACIN
CODTRAN-SIG = SAME
ESTADO = CONTIN
ACCION = TERMINAL
CODTRAN-SIG = SAME
ESTADO = CONTIN
ACCION = TERMINAL
CODTRAN-SIG = SAME
ESTADO = CONTIN
ACCION = TERMINAL
CODTRAN-SIG = 'MTO'
ESTADO = INICIO
ACCION = PROGRAMA
CODTRAN-SIG = 'MTO'
ESTADO = INICIO
ACCION = PROGRAMA
CODTRAN-SIG = 'LST'
ESTADO = INICIO
ACCION = PROGRAMA
CODTRAN-SIG = ULTI
ESTADO = CONTIN
ACCION = TERMINAL
CODTRAN-SIG = ULTI
ESTADO = CONTIN
ACCION = TERMINAL
CODTRAN-SIG = SAME
ESTADO = CONFIR
ACCION = TERMINAL
CODTRAN-SIG = SAME
ESTADO = CONTIN
ACCION = TERMINAL
CODTRAN-SIG = ULTI
ESTADO = CONTIN
ACCION = TERMINAL
ARQUITECTURA / APLICACIN

Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 57
4.3.3 Anlisis de la Paginacin.

El mapa asociado a cualquier transaccin de listado es el QCRMGTS el cual
es proporcionado por la Arquitectura, y es utilizado por el programa de
gestin de paginacin de la arquitectura, se explicar durante el
anlisis del programa FOC2TLI y en este punto.

La Arquitectura proporciona a las aplicaciones, a travs de un mdulo al
efecto, la posibilidad de gestionar paginacin por pantalla de forma
completamente transparente al usuario.

Se entiende por paginacin la posibilidad de mostrar informacin
repetitiva por pantalla, de forma que el usuario pueda desplazarse dentro
del conjunto de datos en cuatro direcciones: avanzar, retroceder,
izquierda y derecha.

Todos los programas que empleen este mdulo, utilizarn un mapa comn en
el cual el cuerpo de datos est compuesto por un carcter de seleccin
por cada una de las lneas del listado, llamado el campo OPCION y por los
datos a paginar (tanto uno como otro podrn estar protegidos), as como
una cabecera del listado que puede ser de 1 a 15 lneas.

La cabecera de listado constar de tantas lneas como informe el programa
de aplicacin. Podrn ser un mnimo de 1 y un mximo de 15; estas lneas
aparecern brillantes y protegidas en primer lugar, y no se movern al
hacer scroll arriba o abajo.

Las transacciones de listado, pues, llevarn en la tabla de transacciones
de la Arquitectura (QM - 2) como formato y panel asociado el "QCRMGTS",
que es el nombre del mapa comn a todos los listados.

Este proceso, que normalmente implica una notable complejidad de
programacin, es realizado completamente por el mdulo de Arquitectura
QC1CGTS.

El funcionamiento sigue el siguiente esquema:

- Se arranca la transaccin asociada al programa de paginacin, en
adelante "de listado".

- El programa de listado entra en estado inicio y borra la cola
donde va a escribir las lneas de listado (llamada +GTSxxxx, donde
xxxx es el contenido del campo CAA-TERMINAL de la commarea CAA) por
si existiera de una tarea anterior. Para el borrado de esta cola
TS, y en general para todas las sentencias CICS de accesos a colas
TS, se utilizar el mdulo QR1CMTS, que borra, lee, escribe o
reescribe colas TS.

- A continuacin accede a sus tablas para capturar la informacin a
listar, escribindola formateada (como si se tratara de un listado
a papel) en una cola TS llamada +GTSxxxx (xxxx: contenido del campo
CAA-TERMINAL de la commarea CAA). Cada lnea del TS contendr:


|O|A|CONTENIDO DE LA LNEA ...|
| | | --> Contenido de la lnea
| ---------> Atributo de la lnea (*)
---> Opcin

Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 58
(*) Este atributo puede tomar los siguientes valores, y el programa de
gestin de TS pondr los atributos de los campos OPCION y CONTENIDO DE LA
LNEA como se indica:

VALOR DEL CAMPO ATRIBUTO DE OPCION ATRIB. DE LA LNEA

' ' Desprot.+ Normal Protegido+ Normal
'B' Desprot.+ Normal Protegido+ Brillante
'A' Desprot.+ Normal Protegido+ Normal
'R' Desprot.+ Normal Desprot. + Brillante
'V' Desprot.+ Normal Desprot. + Normal
'*' Proteg. + Normal Desprot. + Normal
'+' Proteg. + Brill. Protegid.+ Brillante
'-' Proteg. + Normal Protegid.+ Normal


- El programa de listado llama al mdulo de Arquitectura informando
en la commarea de la Arquitectura (CAA) los campos:

- TIPO-SALIDA = 'P' (indica que debe entrar el proceso de
Paginacin).

- Segmento completo de datos para gestin de paginacin en la CAA
(Ver II.1.rea de Comunicacin con la Arquitectura (CAA)). En este
segmento se encuentra la siguiente informacin:

* Cabecera descriptiva de los datos a paginar.

* Caracteres con los que se permite seleccin de una lnea de
listado, por ejemplo, 'X', 'S', etc., hasta 10 caracteres
diferentes.

* Si se permite al terminalista multiseleccin o no, es decir,
que el mdulo de Arquitectura permita que se seleccione ms de
una fila antes de devolver control al programa de listado.

* Margen fijo a mantener en desplazamientos laterales, es decir,
cuando se pida desplazamiento a derecha e izquierda, es el
nmero de caracteres que se mantienen siempre visibles a la
izquierda de la informacin de pantalla; normalmente ser la
informacin clave de cada uno de los datos paginables.

* Teclas de funcin permitidas al terminalista para el programa
en curso, excepto las estndar (avanzar: PF8, retroceder: PF7,
izquierda: PF4, derecha: PF5). Si el programa de paginacin
QC1CGTS no gestiona el scroll lateral (bien porque la anchura
de las lneas en la cola TS sea menor o igual que la anchura de
la pantalla, o bien porque se le haya indicado al programa de
paginacin que no se desea utilizar dicho scroll expresamente),
el programa QC1CGTS permitir que las teclas PF4 y PF5 las
pueda gestionar el programa de aplicacin de listado.

* Si el modulo QC1CGTS debe dar control al programa de listado
cuando se pulse la tecla PF8 (Scroll abajo) y no existan ms
datos en la cola TS.

* Si se debe refrescar el contenido de las lneas de listado que
se han escrito en la cola TS cada vez que tome control en veces
sucesivas el mdulo QC1CGTS.

Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 59
* Nmero de lneas de cabecera, que permanecern fijas en el
scroll arriba y abajo.

* Si se desea que el programa de paginacin gestione el scroll
lateral o no, sea cual sea la anchura de las lneas del
listado.

* Nmero del primer item seleccionado, lo que permite acceder a
dicho item con una nica lectura de la cola TS. Este es un
campo de salida del programa de paginacin QC1CGTS al de
listado, el cual deber utilizarlo en estado Continuacin,
cuando le sea devuelto el control, despus de que el
terminalista pulse una tecla de funcin vlida y realice en su
caso una seleccin.

El mdulo de Arquitectura es en adelante el que realiza todo el proceso
de listado cubriendo las siguientes funciones:

- Desplazamiento en cuatro direcciones:

* 'n' caracteres (segn el campo SALTO del panel de listado).
* 'P' pgina completa ('').
* 'H' media pgina ('').
* 'M' Mximo a izda., derecha, etc. ( " ).

- Mantenimiento de un margen fijo.

- Valida que las teclas de funcin pulsadas sean correctas.

- Verifica que los caracteres de seleccin utilizados son vlidos y
que no se haya informado ms que uno cuando no se permita
multiseleccin.

- Ilumina y/o protege las lneas que correspondan si procede.

Una vez que el terminalista pulsa una tecla de funcin vlida y no de
paginacin (PF4, PF5, PF7 o PF8), el mdulo cede control al programa de
aplicacin (que entra en estado continuacin), el cual, si espera alguna
seleccin, leer la cola TS +GTSxxxx para verificar qu opcin/es ha/n
sido seleccionada/s, actuando en consecuencia.

Normalmente este se limitar a llamar a un programa de consulta o
mantenimiento mostrando la informacin completa del registro
seleccionado.

Los campos del panel general de listados (QCRMGTS) comunes a todos ellos
son:

* LNEAS DE SELECCION Y SALTO:

Esta primera lnea es comn a todos los listados, y contiene los campos:

- SALTO: Salto que se desea cuando se pulsa una de las teclas
estndar del listado: PF4, PF5, PF7 y PF8. Es un campo modificable
y sus valores pueden ser:

* 'n' caracteres
* 'P' pgina completa
* 'H' media pgina
* 'M' mximo a izda., derecha, etc.

Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 60
- SELECCION: Indica el criterio de seleccin por el que se ha
accedido al listado, o bien un titulo especifico del listado. No es
modificable por pantalla. En este campo aparecer el contenido del
campo CAA-CONTENID de la commarea CAA, que el programa de listado
ha informado.

- LNEA: Tiene la forma:

L ZZ9:ZZ9

donde la L es indicativo de "Lnea" y el primer nmero indica el
nmero relativo de la primera lnea del listado dentro del total de
lneas, que es indicado en el segundo nmero. No es modificable por
pantalla.

Por ejemplo, si un listado de 87 lneas se encuentra en el
principio, aparecer:
L 1: 87.

En la segunda lnea puede aparecer el campo siguiente:

- COLUMNA: Aparece justo debajo de la lnea, y solamente cuando se
gestione el scroll lateral. Tiene la forma:

C ZZ9:ZZ9

donde la C es indicativo de "Columna" y el primer nmero indica el
nmero relativo de la columna primera del listado dentro del total
de anchura de la lnea, que es indicado en el segundo nmero. No es
modificable por pantalla.


* LNEAS DE CABECERA DEL LISTADO:

Dependiendo de los valores informados por la aplicacin para el nmero de
lneas de cabecera, stas apareceran en modo protegido brillante, sin
campo de opcin/seleccin.

* LNEAS DE DETALLE DEL LISTADO:

A continuacin aparecen las lneas de detalle del listado, que variarn
en contenido de un listado a otro. Para cada lnea del listado existen
dos campos:

* El campo de la seleccin.
* El campo de contenido de las lneas.




Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 61
4.3.4 Anlisis del programa fuente, estandares y comentarios

* FO2CTLI: TRANSACCION - LISTADO. FORMACION USUARIOS ARQUITECTURA
******************************************************************
* *
* IDENTIFICATION DIVISION *
* *
******************************************************************
IDENTIFICATION DIVISION.
*
PROGRAM-ID. FO2CTLI.
AUTHOR. ANDERSEN CONSULTING.
DATE-WRITTEN. 03/05/96.
******************************************************************
* ------- *
* FO2CTLI *
* ------- *
* *
* DESCRIPCION *
* ----------- *
* *
* LISTADO DE TABLA DE TRANSACCIONES DE FORMACION. ESTE PGM *
* CONSTA DE DOS PARTES DIFERENCIADAS, SEGUN EL ESTADO: *
* *
* -ESTADO INICIO: A PARTIR DE LA CLAVE INFORMADA EN CMA *
* CREARA EL TS DE DATOS (+GTSXXXX, SIENDO *
* XXXX EL EIBTRMID) CON LOS DATOS A LISTAR *
* E INFORMARA EL AREA CAA-PAGINAR DE LA *
* COMMAREA PARA QUE LA SIGUIENTE VEZ TOME *
* CONTROL EL PROGRAMA DE GESTION DE TS. *
* *
* -ESTADO CONTINUACION: SOLO RECIBIRA CONTROL CUANDO EL *
* PROGRAMA DE GESTION DE TS DETECTE QUE *
* QUE SE HA PULSADO UNA TECLA DE LAS QUE *
* EL PROGRAMA DE LISTADO HA DETECTADO COMO *
* 'PROPIA' (PARA EL LISTADO DE TRANSACCIONES *
* SERAN F2, PARA MANTENIMIENTO Y F3 *
* PARA ALTA). EN ESTOS DOS CASOS, DARA *
* CONTROL A LA ARQUITECTURA INDICANDO QUE *
* LA SIGUIENTE TRANSACCION ES LA DE MANTENI- *
* MIENTO DE TRANSACCIONES. *
* *
* LAS AREAS QUE UTILIZA ESTE PROGRAMA SON: *
* *
* - CAA : COMMAREA DE ARQUITECTURA DE APLICACIONES *
* - CMA : COMMAREA DE MANTENIMIENTO DE LA ARQUITECTURA *
* - CCT : TABLA DE TRANSACCIONES *
* - GTS : COLA TS DE DATOS A GRABAR *
* - GTS1 : AREA DE PANTALLA *
* *
* TABLAS DB2 *
* *
* QGDTCAA COMMAREA DE ARQUITECTURA DE APLICACIONES *
* FODTCCT TABLA DE TRANSACCIONES *
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 62
* FICHEROS: *
* *
* NOMBRE E/S DESCRIPCION *
* -------- ----- ----------------------------------- *
*
******************************************************************
* L O G D E M O D I F I C A C I O N E S *
******************************************************************
* AUTOR FECHA DESCRIPCION *
* ------- ------- ---------------------------------------------- *
* USERID DDMMMAA ---------------------------------------------- *
******************************************************************
******************************************************************
* *
* ENVIRIONMENT DIVISION *
* *
******************************************************************
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SOURCE-COMPUTER.
IBM-3090.
OBJECT-COMPUTER.
IBM-3090.
SPECIAL-NAMES.
DECIMAL-POINT IS COMMA.
******************************************************************
* *
* DATA DIVISION *
* *
******************************************************************
DATA DIVISION.
******************************************************************
* *
* WORKING-STORAGE SECTION *
* *
******************************************************************
WORKING-STORAGE SECTION.
********** IDENTIFICADOR DE INICIO DE WORKING STORAGE **********
01 LT-INICIO-WS.
05 LT-INICIO-W PIC X(40) VALUE
'*** INICIO WORKING STORAGE (FO2CTLI) ***'.
*************** COPYS COBOL ************************************
COPY DFHAID.
01 DFH-ABC.
COPY QGECABC.
********** DECLARES DE TABLAS DB2 ******************************
EXEC SQL
INCLUDE SQLCA
END-EXEC.
*
EXEC SQL
INCLUDE FOEDCCT
END-EXEC.
EXEC SQL
INCLUDE FOEDDTA
END-EXEC.
EXEC SQL
INCLUDE QGEDIDI
END-EXEC.
********** COPYS COBOL DE TABLAS DB2 ***************************
EXEC SQL
INCLUDE FOECCCT
END-EXEC.
EXEC SQL
INCLUDE FOECDTA
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 63
END-EXEC.
EXEC SQL
INCLUDE QGECIDI
END-EXEC.
******************************************************************
* *
* SWITCHES *
* *
******************************************************************
01 SW-SWITCHES.
05 SW-SELECCIONADA PIC X VALUE 'N'.
88 SI-SELECCIONADA VALUE 'S'.
88 NO-SELECCIONADA VALUE 'N'.
05 SW-HAY-DATOS PIC X VALUE 'N'.
88 SI-HAY-DATOS VALUE 'S'.
88 NO-HAY-DATOS VALUE 'N'.
05 SW-FIN-CURSOR PIC X VALUE 'N'.
88 FIN-CURSOR VALUE 'S'.
******************************************************************
* ACUMULADORES *
* *
******************************************************************
01 A-ACUMULADORES.
05 A-ITEM PIC S9(4) COMP VALUE ZEROS.
05 A-IND PIC S9(4) COMP VALUE ZEROS.
05 A-IND-CONT PIC S9(4) COMP VALUE ZEROS.
******************************************************************
* CONSTANTES *
* *
******************************************************************
01 C-CONSTANTES.
05 C-GUION PIC X(1) VALUE '_'.
05 C-SPACE PIC X(1) VALUE ' '.
05 C-ASTERISCO PIC X(1) VALUE '*'.
05 C-FODTCCT PIC X(07) VALUE 'FODTCCT'.

05 C-ERROR-IGNORE PIC X(20) VALUE
'ERROR EN CICS IGNORE'.
05 C-ERROR-DELETEQ PIC X(20) VALUE
'ERROR CICS DELETEQ '.
05 C-ERROR-READQ PIC X(20) VALUE
'ERROR EN CICS READQ'.
05 C-ERROR-WRITEQ PIC X(20) VALUE
'ERROR CICS WRITEQ '.
05 C-ERROR-LINK PIC X(20) VALUE
'ERROR EN CICS LINK '.
05 C-CABECERA1 PIC X(35) VALUE
' ARQUITECTURA DE APLICACIONES '.
05 C-CABECERA2 PIC X(35) VALUE
' LISTADO DE TRANSACCIONES '.
05 C-CABECERA-GTS.
10 FILLER PIC X(21) VALUE
' TRN__A__DESCRIPCION'.
10 FILLER PIC X(24) VALUE ALL '_'.
10 FILLER PIC X(43) VALUE
'AP__PROGRAM__FOR/MAP__PL.DB2______ULT.USO__'.
10 FILLER PIC X(28) VALUE
'CONT_I.TERM_TRAN/CONV_T.OPER'.
10 FILLER PIC X(19) VALUE
'__CAMB.SES__RECUPER'.
10 FILLER PIC X(52) VALUE
'__INI.ARQ.__PF.ST.__A.TCL.__P.FAST.__APB__LONG.COMM.'.

05 C-SEL-TODO PIC X(50) VALUE
'A:** T:**** C:* T:* P:******** F:******** D:*****'.
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 64
05 C-CONTENID PIC X(50) VALUE
' TRANSACCIONES SELECCIONADAS '.
*
******************************************************************
* VARIABLES *
* *
******************************************************************
01 W-VARIABLES.
05 W-IDIOMA PIC X(1).
05 W-FILLER PIC X(30).
05 W-GTS.
10 FILLER PIC X(4) VALUE '+GTS'.
10 W-GTS-SUFI PIC X(4) VALUE SPACES.
05 W-GTS-DATOS.
10 W-GTS-OPCION PIC X(1) VALUE SPACES.
10 W-GTS-ATRIBUTO PIC X(1) VALUE SPACES.
10 W-GTS-TRANID PIC X(4) VALUE SPACES.
10 FILLER PIC X(1) VALUE SPACES.
10 W-GTS-IND-ACTIVA PIC X(1) VALUE SPACES.
10 FILLER PIC X(1) VALUE SPACES.
10 W-GTS-DESCRIP PIC X(35) VALUE SPACES.
10 FILLER PIC X(1) VALUE SPACES.
10 W-GTS-APLICACION PIC X(2) VALUE SPACES.
10 FILLER PIC X(2) VALUE SPACES.
10 W-GTS-PGMID PIC X(8) VALUE SPACES.
10 FILLER PIC X(1) VALUE SPACES.
10 W-GTS-COPY-IN PIC X(8) VALUE SPACES.
10 FILLER PIC X(1) VALUE SPACES.
10 W-GTS-PLAN PIC X(8) VALUE SPACES.
10 FILLER PIC X(4) VALUE SPACES.
10 W-GTS-ANIO.
15 W-GTS-ANIODD PIC X(2) VALUE SPACES.
15 FILLER PIC X(1) VALUE '/'.
15 W-GTS-ANIOMM PIC X(2) VALUE SPACES.
15 FILLER PIC X(1) VALUE '/'.
15 W-GTS-ANIOAA PIC X(2) VALUE SPACES.
10 FILLER PIC X(2) VALUE SPACES.
10 W-GTS-IND-CONT PIC X(2) VALUE SPACES.
10 FILLER PIC X(4) VALUE SPACES.
10 W-GTS-INITERM PIC X(2) VALUE SPACES.
10 FILLER PIC X(5) VALUE SPACES.
10 W-GTS-TRANCON PIC X(4) VALUE SPACES.
10 FILLER PIC X(3) VALUE SPACES.
10 W-GTS-TIPOPER.
15 W-GTS-TIPOPERO PIC X VALUE SPACES.
15 W-GTS-TIPOPERA PIC X VALUE SPACES.
15 W-GTS-TIPOPERB PIC X VALUE SPACES.
15 W-GTS-TIPOPERM PIC X VALUE SPACES.
15 W-GTS-TIPOPERC PIC X VALUE SPACES.
15 W-GTS-TIPOPERE PIC X VALUE SPACES.
15 W-GTS-TIPOPERP PIC X VALUE SPACES.
10 FILLER PIC X(5) VALUE SPACES.
10 W-GTS-CAMBIO-SESION PIC X(2) VALUE SPACES.
10 FILLER PIC X(8) VALUE SPACES.
10 W-GTS-RECUPERACION PIC X(2) VALUE SPACES.
10 FILLER PIC X(7) VALUE SPACES.
10 W-GTS-INICIO-ARQ PIC X(2) VALUE SPACES.
10 FILLER PIC X(7) VALUE SPACES.
10 W-GTS-PFS-STANd PIC X(2) VALUE SPACES.
10 FILLER PIC X(6) VALUE SPACES.
10 W-GTS-ACT-TECLEO PIC X(2) VALUE SPACES.
10 FILLER PIC X(7) VALUE SPACES.
10 W-GTS-PIN-FASTP PIC X(2) VALUE SPACES.
10 FILLER PIC X(5) VALUE SPACES.
10 W-GTS-IND-APB PIC X(2) VALUE SPACES.
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 65
10 FILLER PIC X(6) VALUE SPACES.
10 W-GTS-LONG-COMMAREA PIC X(4) VALUE SPACES.
10 FILLER PIC X(4) VALUE SPACES.
05 W-FECULT.
10 FILLER PIC X(2) VALUE SPACES.
10 W-FECULTAA PIC X(2) VALUE SPACES.
10 FILLER PIC X(1) VALUE '/'.
10 W-FECULTMM PIC X(2) VALUE SPACES.
10 FILLER PIC X(1) VALUE '/'.
10 W-FECULTDD PIC X(2) VALUE SPACES.
05 W-CODIGO.
10 W-TRANID.
15 W-TRANID-O OCCURS 4 TIMES.
20 W-TRANID-BYTE PIC X.
10 W-TRANID-SEL PIC X(4) VALUE SPACES.
05 W-PF-NUM PIC 9(2).
88 PF-03 VALUE 03.
88 PF-02-03 VALUE 02 03.
88 PF-BORRA VALUE 99.
*
********** IDENTIFICADOR DE FINAL DE WORKING STORAGE ***********
01 LT-FINAL-WS.
05 LT-FINAL-W PIC X(40) VALUE
'*** FINAL WORKING STORAGE (FO2CTLI) ***'.
*
******************************************************************
* *
* LINKAGE SECTION *
* *
******************************************************************
LINKAGE SECTION.
01 DFHCOMMAREA.
COPY QGECCAA.
COPY FOECCMA.
COPY QCRMGTS.
COPY QCRMGTS1.
*
******************************************************************
* *
* PROCEDURE DIVISION *
* *
******************************************************************
PROCEDURE DIVISION.
*
PERFORM 1-INICIO
PERFORM 2-PROCESO
PERFORM 3-FINAL.
******************************************************************
* *
* 1-INICIO *
* *
* INICIALIZACION DE VARIABLES, DIRECCIONAMIENTO DEL AREA *
* DE PANTALLA Y DE LA COMMAREA CMA. *
* *
******************************************************************
1-INICIO.
*
INITIALIZE QGECABC
*
EXEC CICS
IGNORE CONDITION ERROR
END-EXEC
IF EIBRESP NOT EQUAL DFHRESP(NORMAL)
MOVE C-ERROR-IGNORE TO ABC-REFERENCIA
PERFORM 999-ERROR-CICS
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 66
END-IF
*
INITIALIZE W-VARIABLES
MOVE CAA-TERMINAL TO W-GTS-SUFI
*
SET ADDRESS OF QCRMGTSI TO CAA-PTR-COPYIN
SET ADDRESS OF FOECCMA TO CAA-PTRDATA.
******************************************************************
* *
* 2-PROCESO *
* *
* DISTINGUE LOS PROCESOS SEGUN EL ESTADO SEA INICIO O *
* CONTINUACION. *
* *
******************************************************************
2-PROCESO.

*
EVALUATE TRUE
WHEN CAA-88-ESTADO-INICIO
PERFORM 21-INICIO
WHEN CAA-88-ESTADO-CONTIN
PERFORM 22-CONTINUACION
END-EVALUATE.
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 67
******************************************************************
* *
* 21-INICIO *
* *
* BORRA UNA POSIBLE COLA GTS QUE EXISTA, POR HABERSE *
* PRODUCIDO UN FIN ANORMAL. *
* TOMA LA CLAVE DE TRANSACCIONES A LISTAR, DEPENDIENDO DE *
* DE SI EL CASO TIENE O NO UNA MARCA 'A'. SI NO LA TIENE, *
* QUIERE DECIR QUE VIENE DE LISTADO Y , POR TANTO, LA CLAVE *
* LA TOMARA DEL AREA CMA. SI LA TIENE, QUIERE DECIR QUE *
* VIENE DE MANTENIMIENTO Y EN LA CMA SE ENCUENTRA LA APLICA- *
* CION QUE NOS PASA MANTENIMIENTO. COMO QUEREMOS QUE SE LIS- *
* TEN TODAS LAS TRANSACCIONES CON CLAVE LA DEL LISTADO, SE *
* TOMARA ESTA CLAVE DE CAA-MNU- , QUE HABRA GRABADO ESTE *
* PROGRAMA LA PRIMERA VEZ QUE VINO DEL MENU. *
* GRABA LA CABECERA DEL TS QUE, NORMALMENTE,ES EL NOMBRE *
* DE LAS COLUMNAS A LISTAR. *
* TRAS ESTO, GRABARA LA COLA TS DE DATOS. EN EL CASO DE *
* QUE EXISTAN LINEAS A LISTAR (SI-HAY-DATOS) DEVUELVE EL *
* CONTROL CON ESTADO CONTINUACION, ACCION TERMINAL, TIPO *
* DE ENTRADA PAGINACION, PARA QUE ENTRE LA SIGUIENTE VEZ EL *
* PROGRAMA DE GESTION DE TS'S, Y CODIGO DE TRANSACCION EL DEL*
* PROGRAMA DE LISTADO. EN EL CASO DE QUE NO EXISTAN LINEAS *
* A LISTAR, SE MANDARA UN MENSAJE DE ERROR, ACCION TERMINAL, *
* ESTADO CONTINUACION, TIPO DE SALIDA ENTRADA (PARA QUE SALGA *
* EL PANEL DEL MANTENIMIENTO) Y CODIGO DE TRANSACCION *
* SIGUIENTE SAME. *
* *
*NOTA:EN EL ESTADO INICIO SE VALIDA EL IDIOMA DE LA COMMAREA *
* DE MANTENIMIENTO. *
* *
* SI EL IDIOMA ES CORRECTO CONTINUA EL PROCEDIMIENTO CON *
* EL IDIOMA INDICADO. *
* *
* SI EL IDIOMA ES INCORRECTO SE DEVUELVE EL CONTROL AL *
* MENU Y ALLI SE VISUALIZA EL MENSAJE DE ERROR. *
* *
******************************************************************
21-INICIO.
*
EVALUATE CAA-CASO
WHEN 'A'
MOVE CMA-MNU-TRANSAC TO W-TRANID
MOVE CMA-MNU-IDIOMA TO W-IDIOMA
WHEN OTHER
MOVE CMA-TRANSAC TO W-TRANID
CMA-MNU-TRANSAC
MOVE CMA-IDIOMA TO W-IDIOMA
CMA-MNU-IDIOMA
END-EVALUATE
*
PERFORM 2101-VALIDAR-IDIOMA
PERFORM 211-SELECCIONAR
*
SET NO-HAY-DATOS TO TRUE
PERFORM 212-GRABAR-GTS
*
IF NO-HAY-DATOS
MOVE 'QME0038' TO CAA-COD-ERROR
MOVE -1 TO GTS1-SALTOL
PERFORM 3-FINAL
ELSE
PERFORM 213-LLENAR-CAA-PAGINACION
MOVE 'FOTL' TO CAA-CODTRAN-SIG
END-IF.
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 68

******************************************************************
* *
* 2101-VALIDAR-IDIOMA *
* *
* LEER TABLA DB2 QGDTIDI Y VALIDAR IDIOMA DE SESION-USUARIO. *
* CLAVE DE ACCESO= CODIGO DE IDIOMA *
* *
******************************************************************
2101-VALIDAR-IDIOMA.
EXEC SQL
SELECT IDI_DESC_CORTA
INTO :W-FILLER
FROM QGDTIDI
WHERE IDI_IDIOMA = :W-IDIOMA
END-EXEC.
*
EVALUATE SQLCODE
WHEN ZEROS
CONTINUE
WHEN +100
MOVE 'QME0371' TO CAA-COD-ERROR
PERFORM 3-FINAL
WHEN OTHER
MOVE 'SELECT QGDTIDI' TO ABC-REFERENCIA
MOVE 'QGDTIDI' TO ABC-OBJETO-ERROR
PERFORM 998-ERROR-DB2
END-EVALUATE.
******************************************************************
* *
* 211-SELECCIONAR *
* *
* DECLARE DEL CURSOR PARA SELECCIONAR TODAS LAS COLUMNAS *
* INDICADAS EN W-TRANID. *
* *
******************************************************************
211-SELECCIONAR.
*
MOVE W-TRANID TO W-TRANID-SEL
*
INSPECT W-TRANID-SEL REPLACING ALL C-ASTERISCO BY C-SPACE
INSPECT W-TRANID-SEL REPLACING ALL C-SPACE BY C-GUION
*
EXEC SQL
DECLARE CURCCT CURSOR FOR
SELECT CCT_TRANID ,
CCT_DESCRIP ,
CCT_APLICACION ,
CCT_PGMID ,
CCT_PLAN ,
CCT_COPY_IN ,
CCT_IND_ACTIVA ,
CCT_TIPO_ALTA ,
CCT_TIPO_BAJA ,
CCT_TIPO_MODIF ,
CCT_TIPO_CONSULTA ,
CCT_TIPO_EDICION ,
CCT_TIPO_PETICION ,
CCT_TIPO_ENTSAL ,
CCT_IND_CONTABLE ,
CCT_FECHA_ULTUSO ,
CCT_IND_INICIO ,
CCT_IND_TRNCONV ,
CCT_CAMBIO_SESION ,
CCT_IND_4700 ,
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 69
CCT_LONG_COMMAREA ,
CCT_INICIO_ARQ ,
CCT_PFS_STAND ,
CCT_ACT_TECLEO ,
CCT_PIN_FASTP ,
CCT_RECUPERACION
FROM FODTCCT
WHERE
CCT_TRANID LIKE :W-TRANID-SEL
ORDER BY CCT_TRANID
END-EXEC
CONTINUE.
******************************************************************
* *
* 212-GRABAR-GTS *
* *
* PARRAFO EN EL QUE SE ABRE EL CURSOR, SE REALIZA EL BUCLE *
* DE FETCH Y, SI LA TRANSACCION CUMPLE LA CONDICION DE LISTAR, *
* SE GRABARA EN EL TS DE DATOS. *
* *
******************************************************************
212-GRABAR-GTS.
*
PERFORM 2120-ABRIR-CURSOR
MOVE ZEROS TO A-ITEM
MOVE 'N' TO SW-FIN-CURSOR
*
PERFORM 21210-FETCH
*
PERFORM UNTIL FIN-CURSOR
PERFORM 21212-GRABAR-GTS
PERFORM 21210-FETCH
END-PERFORM
*
PERFORM 21213-CLOSE.
******************************************************************
* *
* 2120-ABRIR-CURSOR *
* *
******************************************************************
2120-ABRIR-CURSOR.
EXEC SQL
OPEN CURCCT
END-EXEC
EVALUATE SQLCODE
WHEN (ZERO)
CONTINUE
WHEN OTHER
INITIALIZE QGECABC
MOVE 'ABRIR CURSOR' TO ABC-REFERENCIA
PERFORM 998-ERROR-DB2
END-EVALUATE.
******************************************************************
* *
* 21210-FETCH *
* *
* FETCH DE LA TABLA. *
* *
******************************************************************
21210-FETCH.
EXEC SQL
FETCH CURCCT INTO :CCT-TRANID ,
:CCT-DESCRIP ,
:CCT-APLICACION ,
:CCT-PGMID ,
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 70
:CCT-PLAN ,
:CCT-COPY-IN ,
:CCT-IND-ACTIVA ,
:CCT-TIPO-ALTA ,
:CCT-TIPO-BAJA ,
:CCT-TIPO-MODIF ,
:CCT-TIPO-CONSULTA ,
:CCT-TIPO-EDICION ,
:CCT-TIPO-PETICION ,
:CCT-TIPO-ENTSAL ,
:CCT-IND-CONTABLE ,
:CCT-FECHA-ULTUSO ,
:CCT-IND-INICIO ,
:CCT-IND-TRNCONV ,
:CCT-CAMBIO-SESION ,
:CCT-IND-4700 ,
:CCT-LONG-COMMAREA ,
:CCT-INICIO-ARQ ,
:CCT-PFS-STAND ,
:CCT-ACT-TECLEO ,
:CCT-PIN-FASTP ,
:CCT-RECUPERACION
END-EXEC
*
EVALUATE SQLCODE
WHEN (ZERO)
CONTINUE
WHEN (+100)
SET FIN-CURSOR TO TRUE
WHEN OTHER
MOVE 'FETCH CURSOR' TO ABC-REFERENCIA
PERFORM 998-ERROR-DB2
END-EVALUATE.
******************************************************************
* *
* 21212-GRABAR-GTS *
* *
* FORMATEO DE LOS DATOS A GRABAR Y GRABACION DEL TS DE DATOS *
* *
* NOTA.- LA DESCRIPCION DE LA APLICACION, SE TOMARA DE LA TABLA *
* DE DESCRIPCION DE TABLAS, TENIENDO EN CUENTA EL IDIOMA *
* DEL USUARIO *
* *
******************************************************************
21212-GRABAR-GTS.
*
INITIALIZE W-GTS-DATOS
MOVE CCT-TRANID TO W-GTS-TRANID
MOVE CCT-IND-ACTIVA TO W-GTS-IND-ACTIVA
IF CCT-88-IND-ACTIVA-NO
MOVE 'B' TO W-GTS-ATRIBUTO
MOVE CCT-IND-ACTIVA TO W-GTS-IND-ACTIVA
ELSE
MOVE SPACES TO W-GTS-ATRIBUTO
W-GTS-IND-ACTIVA
END-IF
*
PERFORM 2122-ACCESO-DTA
*
MOVE CCT-APLICACION TO W-GTS-APLICACION
MOVE CCT-PGMID TO W-GTS-PGMID
MOVE CCT-COPY-IN TO W-GTS-COPY-IN
MOVE CCT-PLAN TO W-GTS-PLAN
MOVE CCT-FECHA-ULTUSO TO W-FECULT
MOVE W-FECULTDD TO W-GTS-ANIODD
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 71
MOVE W-FECULTMM TO W-GTS-ANIOMM
MOVE W-FECULTAA TO W-GTS-ANIOAA
EVALUATE TRUE
WHEN CCT-88-IND-CONTABLE-SI
MOVE 'SI' TO W-GTS-IND-CONT
WHEN CCT-88-IND-CONTABLE-NO
MOVE 'NO' TO W-GTS-IND-CONT
END-EVALUATE
EVALUATE TRUE
WHEN CCT-88-IND-4700-SI
MOVE 'SI' TO W-GTS-IND-APB
WHEN CCT-88-IND-4700-NO
MOVE 'NO' TO W-GTS-IND-APB
END-EVALUATE
EVALUATE TRUE
WHEN CCT-88-IND-INICIO-SI
MOVE 'SI' TO W-GTS-INITERM
WHEN CCT-88-IND-INICIO-NO
MOVE 'NO' TO W-GTS-INITERM
END-EVALUATE
EVALUATE TRUE
WHEN CCT-88-IND-TRNCONV-TRN
MOVE 'TRAN' TO W-GTS-TRANCON
WHEN CCT-88-IND-TRNCONV-CONV
MOVE 'CONV' TO W-GTS-TRANCON
END-EVALUATE
MOVE CCT-TIPO-ENTSAL TO W-GTS-TIPOPERO
MOVE CCT-TIPO-ALTA TO W-GTS-TIPOPERA
MOVE CCT-TIPO-BAJA TO W-GTS-TIPOPERB
MOVE CCT-TIPO-MODIF TO W-GTS-TIPOPERM
MOVE CCT-TIPO-CONSULTA TO W-GTS-TIPOPERC
MOVE CCT-TIPO-EDICION TO W-GTS-TIPOPERE
MOVE CCT-TIPO-PETICION TO W-GTS-TIPOPERP
*
IF CCT-CAMBIO-SESION EQUAL 'S'
MOVE 'SI' TO W-GTS-CAMBIO-SESION
ELSE
MOVE 'NO' TO W-GTS-CAMBIO-SESION
END-IF
*
IF CCT-RECUPERACION EQUAL 'S'
MOVE 'SI' TO W-GTS-RECUPERACION
ELSE
MOVE 'NO' TO W-GTS-RECUPERACION
END-IF
*
MOVE CCT-LONG-COMMAREA TO W-GTS-LONG-COMMAREA
*
IF CCT-INICIO-ARQ EQUAL 'S'
MOVE 'SI' TO W-GTS-INICIO-ARQ
ELSE
MOVE 'NO' TO W-GTS-INICIO-ARQ
END-IF
*
IF CCT-PFS-STAND EQUAL 'S'
MOVE 'SI' TO W-GTS-PFS-STAND
ELSE
MOVE 'NO' TO W-GTS-PFS-STAND
END-IF
*
IF CCT-PIN-FASTP EQUAL 'S'
MOVE 'SI' TO W-GTS-PIN-FASTP
ELSE
MOVE 'NO' TO W-GTS-PIN-FASTP
END-IF
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 72
*
IF CCT-ACT-TECLEO EQUAL 'S'
MOVE 'SI' TO W-GTS-ACT-TECLEO
ELSE
MOVE 'NO' TO W-GTS-ACT-TECLEO
END-IF
*
IF A-ITEM EQUAL ZEROS
PERFORM 212120-BORRAR-GTS
PERFORM 212121-GRABAR-GTS-CABECERA
END-IF
*
PERFORM 212122-WRITEQ-TS.
******************************************************************
* *
* 212122-WRITEQ-TS *
* *
******************************************************************
212122-WRITEQ-TS.
EXEC CICS
WRITEQ TS
QUEUE (W-GTS)
FROM (W-GTS-DATOS)
MAIN
END-EXEC
*
IF EIBRESP = DFHRESP(NORMAL)
SET SI-HAY-DATOS TO TRUE
ADD +1 TO A-ITEM
ELSE
MOVE C-ERROR-WRITEQ TO ABC-REFERENCIA
PERFORM 999-ERROR-CICS
END-IF.
******************************************************************
* *
* 21213-CLOSE *
* *
******************************************************************
21213-CLOSE.
EXEC SQL
CLOSE CURCCT
END-EXEC
EVALUATE SQLCODE
WHEN (ZERO)
CONTINUE
WHEN OTHER
MOVE 'CLOSE CURSOR' TO ABC-REFERENCIA
PERFORM 998-ERROR-DB2
END-EVALUATE.
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 73
******************************************************************
* *
* 212120-BORRAR-GTS *
* *
* DELETE DE LA COLA TS DE DATOS *
* *
******************************************************************
212120-BORRAR-GTS.
*
EXEC CICS
DELETEQ TS
QUEUE(W-GTS)
END-EXEC
*
EVALUATE EIBRESP
WHEN (DFHRESP(NORMAL))
CONTINUE
WHEN (DFHRESP(QIDERR))
CONTINUE
WHEN OTHER
MOVE C-ERROR-DELETEQ TO ABC-REFERENCIA
PERFORM 999-ERROR-CICS
END-EVALUATE.
******************************************************************
* *
* 212121-GRABAR-GTS-CABECERA *
* *
* WRITE DE LA CABECERA (NOMBRE DE LAS COLUMNAS DE LA *
* TABLA A LISTAR) *
* *
******************************************************************
212121-GRABAR-GTS-CABECERA.
*
EXEC CICS
WRITEQ TS
QUEUE (W-GTS)
FROM (C-CABECERA-GTS)
MAIN
END-EXEC
*
IF EIBRESP = DFHRESP(NORMAL)
CONTINUE
ELSE
MOVE C-ERROR-WRITEQ TO ABC-REFERENCIA
PERFORM 999-ERROR-CICS
END-IF.
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 74
******************************************************************
* *
* 2122-ACCESO-DTA *
* *
* ACCESO A LA TABLA DE DESCRIPCION DE TABLAS, CON EL IDIOMA *
* SOLICITADO POR EL USUARIO O POR DEFECTO EL ASIGNADO AL *
* TERMINAL, SE RECUPERA LA DESCRIPCION DE LA TRANSACCION *
* *
******************************************************************
2122-ACCESO-DTA.
*
EXEC SQL
SELECT DTA_DESC_LARGA
INTO :DTA-DESC-LARGA
FROM FODTDTA
WHERE DTA_TABLA = :C-FODTCCT AND
DTA_CLAVE = :CCT-TRANID AND
DTA_IDIOMA = :W-IDIOMA
END-EXEC.
*
EVALUATE SQLCODE
WHEN ZEROS
MOVE DTA-DESC-LARGA TO W-GTS-DESCRIP
WHEN +100
MOVE SPACES TO W-GTS-DESCRIP
MOVE 'QME0372' TO CAA-COD-ERROR
WHEN OTHER
INITIALIZE QGECABC
PERFORM 998-ERROR-DB2
END-EVALUATE.
******************************************************************
* *
* 213-LLENAR-CAA-PAGINACION *
* *
* SE INFORMA EL AREA DE CAA PROPIO PARA LA PAGINACION. *
* SE INFORMAN LAS CABECERAS A MOSTRAR, EL CONTENIDO (EL TERCER *
* TITULO) Y LOS 10 POSIBLES CARACTERES DE SELECCION VALIDOS. *
* EN ESTE CASO SE PERMITIRAN 'S' Y 'X'. *
* SE INFORMA 'N' AL INDICE DE SELECCION PERMITIDA, PORQUE *
* NO SE VAN A PERMITIR SELCCIONES MULTIPLES. EL MARGEN FIJO *
* SERA CINCO (LAS 4 POSICIONES DEL CODIGO DE TRANSACCION Y *
* UN BLANCO). INFORMA LAS TECLAS DE FUNCION PROPIAS DEL PRO- *
* GRAMA DE LISTADO. ESTAS SON F2 MANTENIMIENTO Y EXIGE SELEC- *
* CION; Y F3 ALTA Y NO PERMITE SELECCION. *
* TODAS ESTAS VALIDACIONES LAS HACE EL PROGRAMA DE GESTION *
* DE TS, PERO EL DEL LISTADO DEBE INFORMARSELO AQUI. *
* *
******************************************************************
213-LLENAR-CAA-PAGINACION.
*
INITIALIZE CAA-PAGINAR
MOVE C-CONTENID TO CAA-CONTENID
MOVE 'X' TO CAA-SEL-PERMIT(1)
MOVE 'S' TO CAA-SEL-PERMIT(2)
SET CAA-88-IND-VARSEL-NO TO TRUE
MOVE '05' TO CAA-MARGEN-FIJO
MOVE '02' TO CAA-FKEY-NUM(1)
MOVE 'Mantto' TO CAA-FKEY-LIT(1)
MOVE 'S' TO CAA-FKEY-SEL(1)
MOVE '03' TO CAA-FKEY-NUM(2)
MOVE 'Alta ' TO CAA-FKEY-LIT(2)
MOVE 'N' TO CAA-FKEY-SEL(2).
******************************************************************
* *
* 22-CONTINUACION *
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 75
* *
* ESTE PROGRAMA ENTRARA EN ESTADO CONTINUACION CUANDO EN EL *
* PANEL DE LISTADO SE HAYA PULSADO BORRA O LAS TECLAS QUE ESTE *
* PROGRAMA LE DIJO EN EL ESTADO INICIO AL PROGRAMA DE GESTION *
* QUE ERAN PROPIAS. LAS VALIDACIONES DE ESTAS TECLAS YA LAS *
* HA HECHO EL PROGRAMA DE GESTION DE TS. POR EJEMPLO, SI SE *
* HA PULSADO F2 (MANNTO) AL DECIRLE ESTE PROGRAMA QUE EXIGE *
* SELECCION Y ES UNICA, AHORA HABRA UNA SELECCIONADA Y SOLO *
* UNA. *
* SI SE PULSA LA TECLA BORRA SE BORRARA EL TS DE DATOS, Y *
* SE DEVUELVE EL CONTROL CON ACCION PROGRAMA, ESTADO INICIO *
* Y CODIGO SIGUIENTE TRANSACCION ULTI. *
* *
******************************************************************
22-CONTINUACION.
MOVE CAA-TECLA TO W-PF-NUM
EVALUATE TRUE
WHEN PF-BORRA
PERFORM 212120-BORRAR-GTS
WHEN PF-02-03
PERFORM 221-ALTA-MANTENIMIENTO
PERFORM 212120-BORRAR-GTS
END-EVALUATE.
******************************************************************
* 221-ALTA-MANTENIMIENTO *
* *
* SI SE HA PULSADO LA TECLA DE ALTA, INFORMA CAA-IND-ALTA. *
* EN CASO CONTRARIO (QUE TIENE QUE SER MANTTO. PORQUE EN *
* OTRO CASO NO HUBIERA RECIBIDO EL CONTROL DEL DE GESTION *
* DE TS) BUSCA LA LINEA SELECCIONADA PARA PASARSELA AL *
* PROGRAMA DE MANTENIMIENTO. *
* DEVUELVE EL CONTROL AADIENDOSE EN CADENA, ESTADO INICIO *
* ACCION PROGRAMA, TIPO SALIDA SALIDA, TRANSACCION LA DE *
* MANTENIMIENTO Y PANEL Y COPY LAS DE MANTENIMIENTO. *
* AQUI PONE LA MARCA 'A' EN EL CASO PARA QUE CUANDO VUELVA *
* DE MANTENIMIENTO LO SEPA. *
******************************************************************
221-ALTA-MANTENIMIENTO.
INITIALIZE CMA-IND-ALTA
PERFORM 2211-LLENAR-CMA.
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 76
******************************************************************
* *
* 2211-LLENAR-CMA *
* *
* PARRAFO EN EL QUE SE INFORMA EL AREA CMA Y SE REALIZA EL *
* TRATAMIENTO SEGUN SE HAYA PULSADO LAS TECLA F02 O F03. *
* *
******************************************************************
2211-LLENAR-CMA.
*
IF PF-03
SET CMA-88-IND-ALTA-SI TO TRUE
MOVE SPACES TO CMA-TRANSAC
ELSE
MOVE CAA-NUM-ITEM-SELEC TO A-ITEM
PERFORM 22110-LEER-SELECCIONADA
MOVE W-GTS-TRANID TO CMA-TRANSAC
END-IF
*
MOVE 'C' TO CMA-TIPO-OPER.
******************************************************************
* *
* 22110-LEER-SELECCIONADA *
* *
* LECTURA DEL TS DE DATOS HASTA ENCONTRAR LA SELECCIONADA *
* PARA PASARLE LA CLAVE AL PROGRAMA DE MANTENIMIENTO. *
* *
******************************************************************
22110-LEER-SELECCIONADA.
*
EXEC CICS
READQ TS QUEUE(W-GTS)
INTO(W-GTS-DATOS)
ITEM(A-ITEM)
END-EXEC
*
EVALUATE EIBRESP
WHEN (DFHRESP(NORMAL))
CONTINUE
WHEN OTHER
MOVE C-ERROR-READQ TO ABC-REFERENCIA
PERFORM 999-ERROR-CICS
END-EVALUATE.
******************************************************************
* *
* 3-FINAL *
* *
******************************************************************
3-FINAL.
*
IF CAA-88-ESTADO-INICIO
IF CAA-88-COD-ERROR-VACIO
SET CAA-88-ESTADO-CONTIN TO TRUE
SET CAA-88-ACCION-TERMINAL TO TRUE
SET CAA-88-TIPO-SALIDA-PAG TO TRUE
ELSE
SET CAA-88-ESTADO-CONTIN TO TRUE
SET CAA-88-ACCION-TERMINAL TO TRUE
SET CAA-88-TIPO-SALIDA-ENT TO TRUE
SET CAA-88-CODTRAN-SIG-SAME TO TRUE
END-IF
ELSE
SET CAA-88-CADENA-ANADIR TO TRUE
MOVE 'A' TO CAA-CASO-CAD
SET CAA-88-ESTADO-INICIO TO TRUE
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 77
SET CAA-88-ACCION-PROGRAMA TO TRUE
MOVE 'FOTM' TO CAA-CODTRAN-SIG
END-IF
*
PERFORM 999-INFORMAR-ANALITICA
*
EXEC CICS
RETURN
END-EXEC.
******************************************************************
* *
* 998-ERROR-DB2 *
* *
* PARRAFO QUE SE EJECUTA CUANDO SE HA PRODUCIDO UN ERROR *
* DB2 QUE NO CONTROLAMOS. LLAMA MEDIANTE LINK AL PROGRAMA *
* QG1CABC. *
* *
******************************************************************
998-ERROR-DB2.
*
MOVE 'S' TO ABC-ABEND
MOVE 'FO2CTLI ' TO ABC-PROGRAMA
MOVE 'CCT ' TO ABC-OBJETO-ERROR
MOVE SQLCODE TO ABC-SQLCODE
MOVE SQLERRM TO ABC-SQLERRM
*
EXEC CICS
LINK PROGRAM('QG1CABC')
COMMAREA (QGECABC)
END-EXEC.
******************************************************************
* *
* 999-ERROR-CICS *
* *
* PARRAFO QUE SE EJECUTA CUANDO SE HA PRODUCIDO UN ERROR *
* CICS QUE NO CONTROLAMOS. LLAMA MEDIANTE LINK AL PROGRAMA *
* QG1CABC. *
* *
******************************************************************
999-ERROR-CICS.
*
MOVE 'S' TO ABC-ABEND
MOVE 'FO2CTLI ' TO ABC-PROGRAMA
MOVE EIBFN TO ABC-EIBFN
MOVE EIBRSRCE TO ABC-EIBRSRCE
MOVE EIBRCODE TO ABC-EIBRCODE
MOVE EIBRESP TO ABC-EIBRESP1
MOVE EIBRESP2 TO ABC-EIBRESP2
*
EXEC CICS
LINK PROGRAM('QG1CABC')
COMMAREA (QGECABC)
END-EXEC.
******************************************************************
* *
* 999-INFORMAR-ANALITICA *
* *
* SE INFORMAN LOS CAMPOS DEL SEGMENTO CAA-ANALITICA DE LA *
* COMMAREA QGECCAA, CON LOS DATOS DE LA OPERACION QUE SERVIRAN *
* A ANALITICA. *
* *
******************************************************************
999-INFORMAR-ANALITICA.
*
MOVE CAA-ENTIDAD TO CAA-ENTIDAD-ANA
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 78
MOVE CAA-CENTRO-CONT TO CAA-CENTRO-ANA
SET CAA-88-TIOPER-CONSULTA TO TRUE
SET CAA-88-CONTABLE-NO TO TRUE.


Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 79
4.4 Transaccin FOTM programa FO2CTMA Mantenimiento de la Aplicacin
Formacin.

4.4.1 Parametrizacin de la Transaccin.

Los parmetros definidos para la transaccion FOTM son los sgtes :

Aplicacin

0001 OM12 ARQUITEC. PLATAFORMA TP01 21/05/96
0100 CICSUSER MANTENIMIENTO DE TRANSACCIONES QMTM 09:29:57

Transaccion ..... = FOTM : MENU DE MANTENIMIENTO FORMACION NEW COPY
Idioma .......... = E CASTELLANO
Aplicacion ...... = FO FORMACION _______ESTADO_________
Programa ........ = FO2CTMA (A/D) A Activada
Plan DB2 ........ = BNQMD _________ALTAMIRA___________
Formato/Mapa ent. = FORMTMA / FORMTMA Tipo Altamira.... = N(N/E/M)
Codigo de ayuda.. = Entrada.......... =
Longitud Commarea = 0000
Camb.Ses/Recuper. = N / N (S/N):(S/N) ______INFORM.ADICIONAL_____
Tipo (Trans/Conv) = C (T/C) Transac. local .. = FO
Contable / Cajero = N : (S/N) : (A/B/ ) Documentos ...... =
Tipos operacion.. = ABMC (A-B-M-C-E-P-O) Diario Elec. .... = N (S/N)
Inicio desde TERM = N (S/N) APB 4700 ........ = N (S/N)
Inicio por Arquit.= N (S/N) _____________STAMPS__________________
PFs standard = S (S/N) Cambio estado = 13/05/96 03:07 CICSUSE
Actualizar tecleo = S (S/N) Alta ........ = 13/05/96 CICSUSER
Pintar fast-path = N (S/N) Ult.mod. .... = 21/05/96 03:49 CICSUSER
Pfs por Arquitec.= S (S/N) Primer Uso .. = 13/05/96
Tiene ayuda activa= N (S/N) Ultimo Uso .. = 21/05/96

F2 Modif. F3 Alta F4 Limpia F5 Frmto. F6 Baja F8 Pfs.10 Altam. CLBorra

Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 80
Formatos

0001 OM1 ARQUITEC. PLATAFORMA TP01 21/05/96
0100 CICSUSER MANTENIMIENTO DE FORMATOS QMFM 09:30:30

Formato ....... = FORMTMA : MATENIMIENTO FORMACION NEW COPY

Tipo (E/S/A) ...... = A Entrada/Salida
Delimit. automatico = S (S/N) ________ESTADO________
(P/D) = D Definitiva
Num. campos .............. = 45
Longitud copy ............ = 392
Relacion campos / Ver.PS/2 = No / No
Rutinas Verific./ V.Listos = No / No
Idioma ............. = E CASTELLANO
Formato modelo: FORMTMA
__________ SALIDA ________
Preformato de Pantalla ... = / / (STD / 4700 / 5935)
Preformato de Documento .. = / / (STD / Doc. / NLin)
Mapa para LOCAL .......... = / (PS/2 / 4700)
Conexion Preform. =

______ALTA____ _____ULTIMA MODIF______ __P.USO_ ___ULT.USO___
QG4CCHK 13/05/96 CICSUSER 13/05/96 22:43 13/05/96 21/05/96 FOTM

F2 Modificar F3 Alta F4 Limpiar F5 Campos F6 Baja F7 Preform BORRA


Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 81
Campos

0001 OM12 ARQUITEC. PLATAFORMA TP01 21/05/96
0100 CICSUSER LISTADO DE CAMPOS QMCL 09:31:03

P SALTO FORMATO: FORMTMA MATENIMIENTO FORMACION L 1: 45

CAMPO____LITERAL__________DELIM_ATT__LNG__TIP_RUTINA__VRUT_LIT4700_AYU
01 TRANID TRANID 01 A 4 O N N
02 DESCRIP DESCRIP 02 A 35 O N N
03 NEWCOPY NEWCOPY 03 A 1 O N N
04 IDIOMA IDIOMA 04 A 1 O N N
05 DESIDIO DESIDIO 05 A 20 O N N
06 APLICAC APLICAC 06 A 2 O N N
07 DESCAPL DESCAPL 07 A 20 O N N
08 PGMID PGMID 08 A 8 O N N
09 ACTIVA ACTIVA 09 A 1 O N N
10 DESCACT DESCACT 0A A 11 O N N
11 PLAN PLAN 0B A 8 O N N
12 COPYIN COPYIN 0C A 8 O N N
13 PANELIN PANELIN 0D A 8 O N N
14 TIPALTM TIPALTM 0E A 1 O N N
15 CODHELP CODHELP 0F A 4 O N N
16 ENTRADA ENTRADA 10 A 8 O N N
f2 Mantto F3 Alta F4 AyAct F6 Relac 10 Mover F7 Re.Pag F8 Av.Pag Cl


Teclas de Funcin

0001 OM12 ARQUITEC. PLATAFORMA TP01 21/05/96
0100 CICSUSER LISTADO DE TECLAS DE FUNCION QMLF 09:32:27
QCA0001 FIN DE DATOS
P SALTO LISTADO DE PFS DE LA TRANSACCION OTM L 1: 5
C 1: 90
_TECLA____LITERAL________ACTIVA___VIS.__PF.FIC__PROGRAMA_
INT CONTIN S S
F2 MODIF. S S
F3 ALTA S S
F6 BAJA S S
F7 CONFIR S N












F2 Mantto F3 Alta F4 Izqda. F5 Drcha. F7 Re.Pag F8 Av.Pag Cl

Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 82

4.4.2 Anlisis del Mapa BMS

El mapa asociado a la transaccion FOTM Mantenimiento de Transacciones
Formacin es el FOMTMAE el cual se detalla a continuacin :

______________________________________________________________________

TITLE 'MAPSET DE MANTTO. DE TRANSACCIONES'
PRINT NOGEN
* ****************************************************************
* * FORMTMA: MAPASET DE MANTTO. DE TRANSACCIONES *
* * FOMACION USUARIOS ARQUITECTURA. *
* ****************************************************************
* * *
* * DATE LAST UPDATED: 17MAY90 MAP GENERATION DATE: 18MAY90 *
* * TIME LAST UPDATED: 22:27:41 MAP GENERATION TIME: 12:25:24 *
* * *
* ****************************************************************
FORMTMA DFHMSD TYPE=MAP,LANG=COBOL,TIOAPFX=YES,MODE=INOUT, X
STORAGE=AUTO,CTRL=(FREEKB,FRSET),TERM=ALL
FORMTMA DFHMDI SIZE=(19,80),EXTATT=NO,LINE=4
*
DFHMDF POS=(01,03),LENGTH=19,ATTRB=(NORM,PROT), X
INITIAL='Transaccion ..... ='
*
TRANID DFHMDF POS=(01,23),LENGTH=4,ATTRB=(BRT,UNPROT,IC), X
JUSTIFY=(LEFT,BLANK)
DFHMDF POS=(01,28),LENGTH=1,ATTRB=(NORM,PROT,ASKIP), X
INITIAL=':'
*
DESCRIP DFHMDF POS=(01,30),LENGTH=35,ATTRB=(NORM,UNPROT), X
JUSTIFY=(LEFT,BLANK)
DFHMDF POS=(01,66),LENGTH=1,ATTRB=ASKIP
*
NEWCOPY DFHMDF POS=(01,69),LENGTH=1,ATTRB=(NORM,UNPROT), X
JUSTIFY=(LEFT,BLANK)
DFHMDF POS=(01,71),LENGTH=8,ATTRB=(NORM,PROT,ASKIP), X
INITIAL='NEW COPY'
*
DFHMDF POS=(02,03),LENGTH=19,ATTRB=(NORM,PROT), X
INITIAL='Idioma........... ='
*
IDIOMA DFHMDF POS=(02,23),LENGTH=1,ATTRB=(NORM,UNPROT), X
JUSTIFY=(LEFT,BLANK)
DFHMDF POS=(02,25),LENGTH=1,ATTRB=ASKIP
*
DESIDIO DFHMDF POS=(02,27),LENGTH=20,ATTRB=(NORM,PROT,ASKIP), X
JUSTIFY=(LEFT,BLANK)
*
DFHMDF POS=(03,03),LENGTH=19,ATTRB=(NORM,PROT), X
INITIAL='Aplicacion ...... ='

*
APLICAC DFHMDF POS=(03,23),LENGTH=2,ATTRB=(NORM,UNPROT), X
JUSTIFY=(LEFT,BLANK)
*
DESCAPL DFHMDF POS=(03,26),LENGTH=20,ATTRB=(NORM,PROT,ASKIP), X
JUSTIFY=(LEFT,BLANK)
DFHMDF POS=(03,57),LENGTH=23,ATTRB=(BRT,PROT), X
INITIAL='________ESTADO_________'
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 83
DFHMDF POS=(04,03),LENGTH=19,ATTRB=(NORM,PROT), X
INITIAL='Programa ........ ='
*
PGMID DFHMDF POS=(04,23),LENGTH=8,ATTRB=(NORM,UNPROT), X
JUSTIFY=(LEFT,BLANK)
DFHMDF POS=(04,32),LENGTH=1,ATTRB=ASKIP
DFHMDF POS=(04,57),LENGTH=5,ATTRB=(NORM,PROT), X
INITIAL='(A/D)'
*
ACTIVA DFHMDF POS=(04,64),LENGTH=1,ATTRB=(NORM,UNPROT), X
JUSTIFY=(LEFT,BLANK)
DFHMDF POS=(04,66),LENGTH=1,ATTRB=ASKIP
*
DESCACT DFHMDF POS=(04,68),LENGTH=11,ATTRB=(NORM,PROT), X
JUSTIFY=(LEFT,BLANK)
DFHMDF POS=(05,03),LENGTH=19,ATTRB=(NORM,PROT), X
INITIAL='Plan DB2 ........ ='
*
PLAN DFHMDF POS=(05,23),LENGTH=8,ATTRB=(NORM,UNPROT), X
JUSTIFY=(LEFT,BLANK)
DFHMDF POS=(05,32),LENGTH=1,ATTRB=ASKIP
DFHMDF POS=(05,50),LENGTH=29,ATTRB=(BRT,PROT), X
INITIAL='__________ALTAMIRA___________'
DFHMDF POS=(06,03),LENGTH=19,ATTRB=(NORM,PROT), X
INITIAL='Formato/Mapa ent. ='
*
COPYIN DFHMDF POS=(06,23),LENGTH=8,ATTRB=(NORM,UNPROT), X
JUSTIFY=(LEFT,BLANK)
DFHMDF POS=(06,32),LENGTH=1,ATTRB=(NORM,PROT,ASKIP), X
INITIAL='/'
*
PANELIN DFHMDF POS=(06,34),LENGTH=8,ATTRB=(NORM,UNPROT), X
JUSTIFY=(LEFT,BLANK)
DFHMDF POS=(06,43),LENGTH=1,ATTRB=ASKIP
DFHMDF POS=(06,50),LENGTH=19,ATTRB=(NORM,PROT), X
INITIAL='Tipo Altamira.... ='
*
TIPALTM DFHMDF POS=(06,70),LENGTH=1,ATTRB=(NORM,UNPROT), X
JUSTIFY=(LEFT,BLANK)
DFHMDF POS=(06,72),LENGTH=7,ATTRB=(NORM,PROT,ASKIP), X
INITIAL='(N/E/M)'
DFHMDF POS=(07,03),LENGTH=19,ATTRB=(NORM,PROT), X
INITIAL='Codigo de ayuda.. ='
*
CODHELP DFHMDF POS=(07,23),LENGTH=4,ATTRB=(NORM,UNPROT), X
JUSTIFY=(LEFT,BLANK)
DFHMDF POS=(07,28),LENGTH=1,ATTRB=ASKIP
DFHMDF POS=(07,50),LENGTH=19,ATTRB=(NORM,PROT), X
INITIAL='Entrada.......... ='
*
ENTRADA DFHMDF POS=(07,70),LENGTH=8,ATTRB=(NORM,UNPROT), X
JUSTIFY=(LEFT,BLANK)
DFHMDF POS=(07,79),LENGTH=1,ATTRB=ASKIP
DFHMDF POS=(08,03),LENGTH=19,ATTRB=(NORM,PROT), X
INITIAL='Longitud Commarea ='
*
LONCMM DFHMDF POS=(08,23),LENGTH=4,ATTRB=(NORM,UNPROT), X
JUSTIFY=(LEFT,BLANK)
DFHMDF POS=(08,28),LENGTH=1,ATTRB=ASKIP
DFHMDF POS=(09,03),LENGTH=19,ATTRB=(NORM,PROT), X
INITIAL='Camb.Ses/Recuper. ='
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 84
*
CAMBSES DFHMDF POS=(09,23),LENGTH=1,ATTRB=(NORM,UNPROT), X
JUSTIFY=(LEFT,BLANK)
DFHMDF POS=(09,25),LENGTH=1,ATTRB=(NORM,PROT,ASKIP), X
INITIAL='/'
*
RECUPER DFHMDF POS=(09,27),LENGTH=1,ATTRB=(NORM,UNPROT), X
JUSTIFY=(LEFT,BLANK)
DFHMDF POS=(09,29),LENGTH=1,ATTRB=ASKIP
DFHMDF POS=(09,31),LENGTH=13,ATTRB=(NORM,PROT), X
INITIAL='(S/N) : (S/N)'
DFHMDF POS=(09,51),LENGTH=27,ATTRB=(BRT,PROT), X
INITIAL='______INFORM.ADICIONAL_____'
DFHMDF POS=(10,03),LENGTH=19,ATTRB=(NORM,PROT), X
INITIAL='Tipo (Trans/Conv) ='
*
TRNCONV DFHMDF POS=(10,23),LENGTH=1,ATTRB=(NORM,UNPROT), X
JUSTIFY=(LEFT,BLANK)
DFHMDF POS=(10,25),LENGTH=1,ATTRB=ASKIP
DFHMDF POS=(10,31),LENGTH=5,ATTRB=(NORM,PROT), X
INITIAL='(T/C)'
DFHMDF POS=(10,51),LENGTH=19,ATTRB=(NORM,PROT), X
INITIAL='Transac. local .. ='
*
TRANIDL DFHMDF POS=(10,71),LENGTH=4,ATTRB=(NORM,UNPROT), X
JUSTIFY=(LEFT,BLANK)
DFHMDF POS=(10,76),LENGTH=1,ATTRB=ASKIP
DFHMDF POS=(11,03),LENGTH=19,ATTRB=(NORM,PROT), X
INITIAL='Contable / Cajero ='
*
CONTABL DFHMDF POS=(11,23),LENGTH=1,ATTRB=(NORM,UNPROT), X
JUSTIFY=(LEFT,BLANK)
DFHMDF POS=(11,25),LENGTH=1,ATTRB=(NORM,PROT,ASKIP), X
INITIAL=':'

*
CAJERO DFHMDF POS=(11,27),LENGTH=1,ATTRB=(NORM,UNPROT), X
JUSTIFY=(LEFT,BLANK)
DFHMDF POS=(11,29),LENGTH=1,ATTRB=ASKIP
DFHMDF POS=(11,31),LENGTH=15,ATTRB=(NORM,PROT), X
INITIAL='(S/N) : (A/B/ )'

DFHMDF POS=(11,51),LENGTH=19,ATTRB=(NORM,PROT), X
INITIAL='Documentos ...... ='
*
DOCUM1 DFHMDF POS=(11,71),LENGTH=1,ATTRB=(NORM,UNPROT), X
JUSTIFY=(LEFT,BLANK)
*
DOCUM2 DFHMDF POS=(11,73),LENGTH=1,ATTRB=(NORM,UNPROT), X
JUSTIFY=(LEFT,BLANK)
DFHMDF POS=(11,75),LENGTH=1,ATTRB=ASKIP
DFHMDF POS=(12,03),LENGTH=19,ATTRB=(NORM,PROT), X
INITIAL='Tipos operacion.. ='
*
TIPOPER DFHMDF POS=(12,23),LENGTH=7,ATTRB=(NORM,UNPROT), X
JUSTIFY=(LEFT,BLANK)
DFHMDF POS=(12,31),LENGTH=15,ATTRB=(NORM,PROT,ASKIP), X
INITIAL='(A-B-M-C-E-P-O)'
DFHMDF POS=(12,51),LENGTH=19,ATTRB=(NORM,PROT), X
INITIAL='Diario Elec. .... ='
*
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 85
DIARIOE DFHMDF POS=(12,71),LENGTH=1,ATTRB=(NORM,UNPROT), X
JUSTIFY=(LEFT,BLANK)
DFHMDF POS=(12,73),LENGTH=5,ATTRB=(NORM,PROT,ASKIP), X
INITIAL='(S/N)'
DFHMDF POS=(13,03),LENGTH=19,ATTRB=(NORM,PROT), X
INITIAL='Inicio desde TERM ='
*
INICIO DFHMDF POS=(13,23),LENGTH=1,ATTRB=(NORM,UNPROT), X
JUSTIFY=(LEFT,BLANK)
DFHMDF POS=(13,25),LENGTH=1,ATTRB=ASKIP
DFHMDF POS=(13,31),LENGTH=5,ATTRB=(NORM,PROT), X
INITIAL='(S/N)'
DFHMDF POS=(13,51),LENGTH=19,ATTRB=(NORM,PROT), X
INITIAL='APB 4700 ........ ='
*
APB4700 DFHMDF POS=(13,71),LENGTH=1,ATTRB=(NORM,UNPROT), X
JUSTIFY=(LEFT,BLANK)
DFHMDF POS=(13,73),LENGTH=5,ATTRB=(NORM,PROT,ASKIP), X
INITIAL='(S/N)'
DFHMDF POS=(14,03),LENGTH=19,ATTRB=(NORM,PROT), X
INITIAL='Inicio por Arquit.='
*
INIARQ DFHMDF POS=(14,23),LENGTH=1,ATTRB=(NORM,UNPROT), X
JUSTIFY=(LEFT,BLANK)
DFHMDF POS=(14,25),LENGTH=1,ATTRB=ASKIP
DFHMDF POS=(14,31),LENGTH=5,ATTRB=(NORM,PROT), X
INITIAL='(S/N)'
DFHMDF POS=(14,39),LENGTH=41,ATTRB=(BRT,PROT), X
INITIAL='_________________STAMPS__________________'
DFHMDF POS=(15,03),LENGTH=19,ATTRB=(NORM,PROT), X
INITIAL='PFs standard ='

PFSTAN DFHMDF POS=(15,23),LENGTH=1,ATTRB=(NORM,UNPROT), X
JUSTIFY=(LEFT,BLANK)
DFHMDF POS=(15,25),LENGTH=1,ATTRB=ASKIP
DFHMDF POS=(15,31),LENGTH=5,ATTRB=(NORM,PROT), X
INITIAL='(S/N)'
DFHMDF POS=(15,39),LENGTH=15,ATTRB=(NORM,PROT), X
INITIAL='Cambio estado ='
*
STAMACT DFHMDF POS=(15,55),LENGTH=8,ATTRB=(NORM,PROT), X
JUSTIFY=(LEFT,BLANK)
*
TIMEACT DFHMDF POS=(15,65),LENGTH=5,ATTRB=(NORM,PROT), X
JUSTIFY=(LEFT,BLANK)
*
USERACT DFHMDF POS=(15,71),LENGTH=8,ATTRB=(NORM,PROT), X
JUSTIFY=(LEFT,BLANK)
DFHMDF POS=(16,03),LENGTH=19,ATTRB=(NORM,PROT), X
INITIAL='Actualizar tecleo ='
*
ACTTCL DFHMDF POS=(16,23),LENGTH=1,ATTRB=(NORM,PROT), X
JUSTIFY=(LEFT,BLANK)
DFHMDF POS=(16,25),LENGTH=1,ATTRB=ASKIP
DFHMDF POS=(16,31),LENGTH=5,ATTRB=(NORM,PROT), X
INITIAL='(S/N)'
DFHMDF POS=(16,39),LENGTH=15,ATTRB=(NORM,PROT), X
INITIAL='Alta ........ ='
*
STAMALT DFHMDF POS=(16,55),LENGTH=8,ATTRB=(NORM,PROT), X
JUSTIFY=(LEFT,BLANK)
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 86
*
USERALT DFHMDF POS=(16,71),LENGTH=8,ATTRB=(NORM,PROT), X
JUSTIFY=(LEFT,BLANK)
DFHMDF POS=(17,03),LENGTH=19,ATTRB=(NORM,PROT), X
INITIAL='Pintar fast-path ='
PINFSP DFHMDF POS=(17,23),LENGTH=1,ATTRB=(NORM,UNPROT), X
JUSTIFY=(LEFT,BLANK)
DFHMDF POS=(17,25),LENGTH=1,ATTRB=ASKIP
DFHMDF POS=(17,31),LENGTH=5,ATTRB=(NORM,PROT), X
INITIAL='(S/N)'
DFHMDF POS=(17,39),LENGTH=15,ATTRB=(NORM,PROT), X
INITIAL='Ult.mod. .... ='
*
STAMMOD DFHMDF POS=(17,55),LENGTH=8,ATTRB=(NORM,PROT), X
JUSTIFY=(LEFT,BLANK)
*
TIMEMOD DFHMDF POS=(17,65),LENGTH=5,ATTRB=(NORM,PROT), X
JUSTIFY=(LEFT,BLANK)
*
USERMOD DFHMDF POS=(17,71),LENGTH=8,ATTRB=(NORM,PROT), X
JUSTIFY=(LEFT,BLANK)
DFHMDF POS=(18,03),LENGTH=19,ATTRB=(NORM,PROT), X
INITIAL='Pfs por Arquitec.= '
PFSARQ DFHMDF POS=(18,23),LENGTH=1,ATTRB=(NORM,UNPROT), X
JUSTIFY=(LEFT,BLANK)
DFHMDF POS=(18,25),LENGTH=1,ATTRB=ASKIP
DFHMDF POS=(18,31),LENGTH=5,ATTRB=(NORM,PROT), X
INITIAL='(S/N)'
DFHMDF POS=(18,39),LENGTH=15,ATTRB=(NORM,PROT), X
INITIAL='Primer Uso .. ='
*
STAMPRI DFHMDF POS=(18,55),LENGTH=8,ATTRB=(NORM,PROT), X
JUSTIFY=(LEFT,BLANK)
DFHMDF POS=(19,03),LENGTH=19,ATTRB=(NORM,PROT), X
INITIAL='Tiene ayuda activa='
AYUDAA DFHMDF POS=(19,23),LENGTH=1,ATTRB=(NORM,UNPROT), X
JUSTIFY=(LEFT,BLANK)
DFHMDF POS=(19,25),LENGTH=1,ATTRB=ASKIP
DFHMDF POS=(19,31),LENGTH=5,ATTRB=(NORM,PROT), X
INITIAL='(S/N)'
DFHMDF POS=(19,39),LENGTH=15,ATTRB=(NORM,PROT), X
INITIAL='Ultimo Uso .. ='
*
STAMULT DFHMDF POS=(19,55),LENGTH=8,ATTRB=(NORM,PROT), X
JUSTIFY=(LEFT,BLANK)
DFHMSD TYPE=FINAL
END
______________________________________________________________________

Despues de haber efectuado el proceso de dar de alta al formato FORMTMA
en Arquitectura segun lo indicado en la opcin 3.2.3, se tienen el
formato y campos.

Durante la compilacin de este mapa se habr generado la sgte estructura,
la cual debe ser incluida dentro del programa de aplicacin con la
instruccin COPY, El nombre de archivo es FORMTMA.

01 FORMTMAI.
02 FILLER PIC X(12).
02 TMA-TRANIDL COMP PIC S9(4).
02 TMA-TRANIDF PICTURE X.
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 87
02 FILLER REDEFINES TMA-TRANIDF.
03 TMA-TRANIDA PICTURE X.
02 TMA-TRANIDI PIC X(4).
02 TMA-DESCRIPL COMP PIC S9(4).
02 TMA-DESCRIPF PICTURE X.
02 FILLER REDEFINES TMA-DESCRIPF.
03 TMA-DESCRIPA PICTURE X.
02 TMA-DESCRIPI PIC X(35).
02 TMA-NEWCOPYL COMP PIC S9(4).
02 TMA-NEWCOPYF PICTURE X.


02 FILLER REDEFINES TMA-NEWCOPYF.
03 TMA-NEWCOPYA PICTURE X.
02 TMA-NEWCOPYI PIC X(1).
02 TMA-IDIOMAL COMP PIC S9(4).
02 TMA-IDIOMAF PICTURE X.
02 FILLER REDEFINES TMA-IDIOMAF.
03 TMA-IDIOMAA PICTURE X.
.....
.....
.....
.....
.....
02 FILLER PICTURE X(3).
02 TMA-STAMMODO PIC X(8).
02 FILLER PICTURE X(3).
02 TMA-TIMEMODO PIC X(5).
02 FILLER PICTURE X(3).
02 TMA-USERMODO PIC X(8).
02 FILLER PICTURE X(3).
02 TMA-PFSARQO PIC X(1).
02 FILLER PICTURE X(3).
02 TMA-STAMPRIO PIC X(8).
02 FILLER PICTURE X(3).
02 TMA-AYUDAAO PIC X(1).
02 FILLER PICTURE X(3).
02 TMA-STAMULTO PIC X(8).
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 89
********** IDENTIFICADOR DE INICIO DE WORKING STORAGE **********
*
01 LT-INICIO-WS.
05 LT-INICIO-W PIC X(40) VALUE
'*** INICIO WORKING STORAGE (FO2CTMA) ***'.
*
************* COPY DE LA TABLA DE TRANSACCIONES *****************
*
EXEC SQL
INCLUDE FOEDCCT
END-EXEC.
*
************* COPY COBOL DE LA TABLA DE TRANSACCIONES ***********
* *
EXEC SQL
INCLUDE FOECCCT
END-EXEC.
*
************* COPY DE LA TABLA DE APLICACIONES ******************
*
EXEC SQL
INCLUDE QGEDAPL
END-EXEC.
*
************* COPY COBOL DE LA TABLA DE APLICACIONES ************
* *
EXEC SQL
INCLUDE QGECAPL
END-EXEC.
*
************* COPY COBOL DE LA TABLA DE IDIOMAS ***************
EXEC SQL
INCLUDE QGEDIDI
END-EXEC.
EXEC SQL
INCLUDE QGECIDI
END-EXEC.
EXEC SQL
INCLUDE FOEDDTA
END-EXEC.
EXEC SQL
INCLUDE FOECDTA
END-EXEC.
***************** COPY SQLCA *************************************
EXEC SQL
INCLUDE SQLCA
END-EXEC.
****************** COPY PARA EL PROGRAMA DE ABEND ****************
01 QGECABC-01.
COPY QGECABC.
****************** COPY PARA EL PROGRAMA DE SEGURIDAD*************
01 QGECSEG-01.
COPY QGECSEG.
*
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 90
******************************************************************
* *
* SWITCHES *
* *
******************************************************************
*
01 SWITCHES.
05 SW-TECLA PIC X(2) VALUE ' '.
88 PFENTER VALUE '00'.
88 PF2 VALUE '02'.
88 PF3 VALUE '03'.
88 PF4 VALUE '04'.
88 PF6 VALUE '06'.
88 PF7 VALUE '07'.
*
05 SW-FIN-CURSOR PIC X(1) VALUE 'N'.
88 FIN-CURSOR VALUE 'S'.
88 NO-FIN-CURSOR VALUE 'N'.
******************************************************************
* CONSTANTES *
******************************************************************
*
01 LT-LITERALES.
05 LT-RECURSO PIC X(6) VALUE 'QMSTDA'.
05 LT-TABLA-CCT PIC X(7) VALUE 'FODTCCT'.
01 C-CONSTANTES.
05 C-LONG-COMMAREA-MAX PIC 9(4) VALUE 3000.
05 C-VAR1-ERROR PIC X(09) VALUE
'@QM000013'.
05 C-VAR2-ERROR PIC X(09) VALUE
'@QM000014'.
******************************************************************
* VARIABLES *
******************************************************************
01 W-VARIABLES.
05 W-IDIOMA PIC X.
05 W-ENTIDAD-CENTRO.
10 W-ENTIDAD PIC X(4).
10 W-CENTRO PIC X(4).
05 W-TRANID.
10 W1-TRANID PIC X.
10 W2-TRANID PIC X.
10 W3-TRANID PIC X.
10 W4-TRANID PIC X.
05 W-TIMESTAMP.
10 W-DATE-TIMESTAMP PIC X(10).
10 FILLER PIC X VALUE '.'.
10 W-TIME-TIMESTAMP PIC X(8).
05 W-PGMID.
10 W12-PGMID.
15 W1-PGMID PIC X.
15 W2-PGMID PIC X.
10 W3-PGMID PIC X.
10 W4-PGMID PIC X.
10 W5-PGMID PIC X.
10 W6-PGMID PIC X.
10 W7-PGMID PIC X.
05 W-HORA.
10 FILLER PIC X(2).
10 W3-HORA PIC X.
10 FILLER PIC X(2).
05 W-FECHA-AAAAMMDD.
10 FILLER PIC X(2).
10 W-AA-AAAAMMDD PIC X(2).
10 FILLER PIC X.
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 91
10 W-MM-AAAAMMDD PIC X(2).
10 FILLER PIC X.
10 W-DD-AAAAMMDD PIC X(2).
10 FILLER PIC X.
10 W-TIME.
15 FILLER PIC X(2).
15 W3-TIME PIC X.
15 FILLER PIC X(2).
05 W-FECHA-DDMMAA.
10 W-DD-DDMMAA PIC X(2).
10 FILLER PIC X VALUE '/'.
10 W-MM-DDMMAA PIC X(2).
10 FILLER PIC X VALUE '/'.
10 W-AA-DDMMAA PIC X(2).
********** IDENTIFICADOR DE FINAL DE WORKING STORAGE ***********
*
01 LT-FINAL-WS.
05 LT-FINAL-W PIC X(40) VALUE
'*** FINAL WORKING STORAGE (FO2CTMA) ***'.
*
******************************************************************
* *
* LINKAGE SECTION *
* *
* NOMBRE DESCRIPCION *
* -------- ------------- *
* *
* QGECCAA COMMAREA DE APLICACIONES *
* *
* FOECCMA DATOS PROPIOS DEL MANTENIMIENTO ARQUITECTURA *
* *
* FOECTMA COPY DE PANTALLA BMS (FORMTMA) *
* *
* *
******************************************************************
LINKAGE SECTION.
*
01 DFHCOMMAREA.
COPY QGECCAA.
COPY FOECCMA.
COPY FOECTMA.
*
******************************************************************
* *
* PROCEDURE DIVISION *
* *
* *
******************************************************************
PROCEDURE DIVISION.
*
PERFORM 100000-INICIO-PROGRAMA
PERFORM 200000-PROCESO-PROGRAMA
PERFORM 300000-FIN-PROGRAMA.
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 92
******************************************************************
* *
* 100000-INICIO-PROGRAMA *
* *
* LOS PASOS A DAR EN ESTE PARRAFO SON LOS SIGUIENTES: *
* *
* 1.- DIRECCIONAR LOS DATOS DE LA PANTALLA MEDIANTE EL *
* PUNTERO QUE NOS GANA LA ARQUITECTURA (2000 BYTES) ASI *
* COMO DIRECCIONAR LA COMMAREA DE MANTENIMIENTO *
* *
* 2.- MOVER SIEMPRE OPERACION NO CONTABLE Y OPERACION REALIZADA *
* CONSULTA. LA OPERACION REALIZADA SE PODRA MACHACAR A *
* POSTERIORI SI SE DA UN ALTA, UNA BAJA, ETC. *
* *
******************************************************************
100000-INICIO-PROGRAMA.
*
INITIALIZE QGECABC
EXEC CICS
IGNORE CONDITION ERROR
END-EXEC
IF EIBRESP NOT EQUAL DFHRESP(NORMAL)
MOVE 'ERROR EN CICS FO2CTMA' TO ABC-REFERENCIA
MOVE 'FO2CTMA' TO ABC-OBJETO-ERROR
PERFORM 999999-ABEND-CICS
END-IF
*
SET ADDRESS OF FORMTMAI TO CAA-PTR-COPYIN
SET ADDRESS OF FOECCMA TO CAA-PTRDATA
*
INITIALIZE FOECCCT
PERFORM 110000-CAMBIAR-LOW-POR-BLANCOS
*
SET CAA-88-CONTABLE-NO TO TRUE
SET CAA-88-TIOPER-CONSULTA TO TRUE
MOVE CAA-TECLA TO SW-TECLA.
******************************************************************
* *
* 110000-CAMBIAR-LOW-POR-BLANCOS *
* *
* CAMBIAR LOW POR BLANCOS EN LOS CAMPOS DE ENTRADA DEL MAPA *
* *
******************************************************************
110000-CAMBIAR-LOW-POR-BLANCOS.
*
INSPECT TMA-TRANIDI REPLACING ALL LOW-VALUES BY SPACES
INSPECT TMA-NEWCOPYI REPLACING ALL LOW-VALUES BY SPACES
INSPECT TMA-IDIOMAI REPLACING ALL LOW-VALUES BY SPACES
INSPECT TMA-APLICACI REPLACING ALL LOW-VALUES BY SPACES
INSPECT TMA-PGMIDI REPLACING ALL LOW-VALUES BY SPACES
INSPECT TMA-PLANI REPLACING ALL LOW-VALUES BY SPACES
INSPECT TMA-COPYINI REPLACING ALL LOW-VALUES BY SPACES
INSPECT TMA-PANELINI REPLACING ALL LOW-VALUES BY SPACES
INSPECT TMA-CODHELPI REPLACING ALL LOW-VALUES BY SPACES
INSPECT TMA-LONCMMI REPLACING ALL LOW-VALUES BY SPACES
INSPECT TMA-CAMBSESI REPLACING ALL LOW-VALUES BY SPACES
INSPECT TMA-RECUPERI REPLACING ALL LOW-VALUES BY SPACES
INSPECT TMA-TRNCONVI REPLACING ALL LOW-VALUES BY SPACES
INSPECT TMA-CONTABLI REPLACING ALL LOW-VALUES BY SPACES
INSPECT TMA-CAJEROI REPLACING ALL LOW-VALUES BY SPACES
INSPECT TMA-TIPOPERI REPLACING ALL LOW-VALUES BY SPACES
INSPECT TMA-INICIOI REPLACING ALL LOW-VALUES BY SPACES
INSPECT TMA-INIARQI REPLACING ALL LOW-VALUES BY SPACES
INSPECT TMA-PFSTANI REPLACING ALL LOW-VALUES BY SPACES
INSPECT TMA-ACTTCLI REPLACING ALL LOW-VALUES BY SPACES
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 93
INSPECT TMA-PINFSPI REPLACING ALL LOW-VALUES BY SPACES
INSPECT TMA-PFSARQI REPLACING ALL LOW-VALUES BY SPACES
INSPECT TMA-AYUDAAI REPLACING ALL LOW-VALUES BY SPACES.
******************************************************************
* 200000-PROCESO-PROGRAMA *
* *
* LOS PASOS A DAR EN ESTE PARRAFO SON LOS SIGUIENTES: *
* *
* DECIDIR ENTRE LOS TRES ESTADOS POSIBLES *
* *
* - CONTINUACION *
* - CONFIRMACION *
* - EN CUALQUIER OTRO CASO INICIO *
* *
******************************************************************
200000-PROCESO-PROGRAMA.
EVALUATE TRUE
WHEN CAA-88-ESTADO-CONTIN
PERFORM 220000-ESTADO-CONTINUACION
WHEN CAA-88-ESTADO-CONFIR
PERFORM 230000-ESTADO-CONFIRMACION
WHEN OTHER
PERFORM 210000-ESTADO-INICIO
END-EVALUATE.
******************************************************************
* *
* 210000-ESTADO-INICIO *
* *
* VALIDAR QUE LA TRANSACCION DADA EN EL MENU EXISTE O NO *
* SEGUN SEA CONSULTA O ALTA EL TIPO DE OPERACION SELECCIONADA. *
* PARA ELLO ACCEDEREMOS A TRANSACCIONES CON LA CLAVE, *
* EN CASO DE SER CORRECTA PARA EL TIPO DE OPERACION *
* SELECCIONADA SE PROCEDERA A COMPLETAR LA PANTALLA, CON DATOS *
* SI ES CONSULTA O LIMPIA SI ES UN ALTA. *
* EN CASO DE SER CONTRARIO EL PLANTEAMIENTO ANTERIOR DAREMOS *
* EL ERROR CORRESPONDIENTE SOBRE LA PANTALLA QUE NOS LLAMO *
* (SAME). *
* *
* NOTA : COMPRUEBA SI EN LA COMMAREA DE MANTENIMIENTO VIENE *
* INFORMADO EL IDIOMA, SI NO TOMA EL QUE POR DEFECTO *
* TENGA EL TERMINAL *
* *
******************************************************************
210000-ESTADO-INICIO.
*
IF CMA-IDIOMA NOT EQUAL SPACES
MOVE CMA-IDIOMA TO W-IDIOMA
ELSE
MOVE CAA-IDIOMA-TERM TO W-IDIOMA
END-IF
*
MOVE CMA-TRANSAC TO CCT-TRANID
PERFORM 211000-ACCEDE-FODTCCT
EVALUATE SQLCODE
WHEN ZEROS
IF CMA-88-IND-ALTA-SI
MOVE 'QME0004' TO CAA-COD-ERROR
MOVE '@QM000011' TO CAA-VAR1-ERROR
PERFORM 300000-FIN-PROGRAMA
ELSE
PERFORM 212000-INICIALIZA-PANTALLA
MOVE CCT-TRANID TO TMA-TRANIDO
PERFORM 213000-COMPLETAR-PANTALLA
PERFORM 214000-OBTENER-DESCRIP-APL
END-IF
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 94
WHEN +100
IF CMA-88-IND-ALTA-SI
PERFORM 212000-INICIALIZA-PANTALLA
MOVE CCT-TRANID TO TMA-TRANIDO
ELSE
MOVE 'QME0005' TO CAA-COD-ERROR
MOVE '@QM000011' TO CAA-VAR1-ERROR
PERFORM 300000-FIN-PROGRAMA
END-IF
WHEN OTHER
MOVE '1ER SELECT FODTCCT' TO ABC-REFERENCIA
MOVE 'FODTCCT' TO ABC-OBJETO-ERROR
PERFORM 999999-ABEND-DB2
END-EVALUATE.
******************************************************************
* *
* 211000-ACCEDE-FODTCCT *
* *
* LEER TABLA DB2 FODTCCT *
* *
******************************************************************
211000-ACCEDE-FODTCCT.
*
EXEC SQL
SELECT CCT_DESCRIP, CCT_APLICACION, CCT_PGMID,
CCT_PLAN, CCT_COPY_IN, CCT_PANEL_IN,
CCT_COD_HELP,
CCT_TRANID_LOCAL, CCT_DOCUM_1, CCT_DOCUM_2,
CCT_IND_DIARIO, CCT_IND_4700, CCT_ST_ALTAMIRA,
CCT_IND_ACTIVA, CCT_IND_INICIO, CCT_IND_TRNCONV,
CCT_IND_CONTABLE, CCT_IND_CAJERO, CCT_TIPO_ALTA,
CCT_TIPO_BAJA, CCT_TIPO_MODIF, CCT_TIPO_CONSULTA,
CCT_TIPO_EDICION, CCT_TIPO_PETICION, CCT_TIPO_ENTSAL,
CCT_FECHA_ALT, CCT_USERID_ALT, CCT_FECHA_MOD,
CCT_HORA_MOD, CCT_USERID_MOD, CCT_TIMEST_ACTV,
CCT_USERID_ACTV, CCT_FECHA_PRIUSO,
CCT_FECHA_ULTUSO, CCT_CAMBIO_SESION,
CCT_INICIO_ARQ , CCT_ACT_TECLEO ,
CCT_PIN_FASTP , CCT_PFS_STAND ,
CCT_PFS_ARQ , CCT_AYUDA_ACT ,
CCT_LONG_COMMAREA,
CCT_RECUPERACION ,
CCT_ENTRADA ,
CCT_ST_JOUR ,
CCT_ST_LIBR ,
CCT_ST_BANDA ,
CCT_ST_IMPR ,
CCT_ST_TERMINAL ,
CCT_NIVEL_USO ,
CCT_NIVEL_ALTA ,
CCT_NIVEL_BAJA ,
CCT_NIVEL_MODIFIC
INTO CCT-DESCRIP, CCT-APLICACION, CCT-PGMID,
CCT-PLAN, CCT-COPY-IN, CCT-PANEL-IN,
CCT-COD-HELP,
CCT-TRANID-LOCAL, CCT-DOCUM-1, CCT-DOCUM-2,
CCT-IND-DIARIO, CCT-IND-4700, CCT-ST-ALTAMIRA,
CCT-IND-ACTIVA, CCT-IND-INICIO, CCT-IND-TRNCONV,
CCT-IND-CONTABLE, CCT-IND-CAJERO, CCT-TIPO-ALTA,
CCT-TIPO-BAJA, CCT-TIPO-MODIF, CCT-TIPO-CONSULTA,
CCT-TIPO-EDICION, CCT-TIPO-PETICION, CCT-TIPO-ENTSAL,
CCT-FECHA-ALT, CCT-USERID-ALT, CCT-FECHA-MOD,
CCT-HORA-MOD, CCT-USERID-MOD, CCT-TIMEST-ACTV,
CCT-USERID-ACTV, CCT-FECHA-PRIUSO,
CCT-FECHA-ULTUSO, CCT-CAMBIO-SESION,
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 95
CCT-INICIO-ARQ , CCT-ACT-TECLEO ,
CCT-PIN-FASTP , CCT-PFS-STAND ,
CCT-PFS-ARQ , CCT-AYUDA-ACT ,
CCT-LONG-COMMAREA,
CCT-RECUPERACION ,
CCT-ENTRADA ,
CCT-ST-JOUR ,
CCT-ST-LIBR ,
CCT-ST-BANDA ,
CCT-ST-IMPR ,
CCT-ST-TERMINAL ,
CCT-NIVEL-USO ,
CCT-NIVEL-ALTA ,
CCT-NIVEL-BAJA ,
CCT-NIVEL-MODIFIC
FROM FODTCCT
WHERE CCT_TRANID = :CCT-TRANID
END-EXEC.
******************************************************************
* *
* 211100-ACCEDE-FODTDTA *
* *
* LEER TABLA DB2 FODTDTA *
* *
******************************************************************
211100-ACCEDE-FODTDTA.
*
EXEC SQL
SELECT DTA_DESC_CORTA ,
DTA_DESC_LARGA
INTO :DTA-DESC-CORTA ,
:DTA-DESC-LARGA
FROM FODTDTA
WHERE DTA_TABLA = :LT-TABLA-CCT AND
DTA_CLAVE = :CCT-TRANID AND
DTA_IDIOMA = :W-IDIOMA
END-EXEC
*
EVALUATE SQLCODE
WHEN ZEROS
CONTINUE
WHEN +100
MOVE 'QME0372' TO CAA-COD-ERROR
PERFORM 300000-FIN-PROGRAMA
WHEN OTHER
INITIALIZE QGECABC
MOVE '1ER SELECT FODTDTA' TO ABC-REFERENCIA
MOVE 'FODTDTA' TO ABC-OBJETO-ERROR
PERFORM 999999-ABEND-DB2
END-EVALUATE.
******************************************************************
* *
* 211200-ACCEDE-QGDTIDI *
* *
* LEER TABLA DB2 QGDTIDI. SACAR LA DESCRIPCION DEL IDIOMA *
* *
******************************************************************
211200-ACCEDE-QGDTIDI.
*
EXEC SQL
SELECT IDI_DESC_CORTA
INTO :IDI-DESC-CORTA
FROM QGDTIDI
WHERE IDI_IDIOMA = :W-IDIOMA
END-EXEC
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 96
*
EVALUATE SQLCODE
WHEN ZEROS
MOVE IDI-DESC-CORTA TO TMA-DESIDIOO
WHEN +100
MOVE 'QME0371' TO CAA-COD-ERROR
MOVE -1 TO TMA-IDIOMAL
PERFORM 300000-FIN-PROGRAMA
WHEN OTHER
INITIALIZE QGECABC
MOVE '1ER SELECT QGDTIDI' TO ABC-REFERENCIA
MOVE 'QGDTIDI' TO ABC-OBJETO-ERROR
PERFORM 999999-ABEND-DB2
END-EVALUATE.
******************************************************************
* *
* 212000-INICIALIZA-PANTALLA *
* *
* LIMPIA LA ZONA DE DATOS POR SER DE UNA PANTALLA ANTERIOR *
* MUEVE DATOS DE CABECERA *
* *
******************************************************************
212000-INICIALIZA-PANTALLA.
*
INITIALIZE TMA-DESCRIPO, TMA-APLICACO, TMA-DESCAPLO,
TMA-PGMIDO, TMA-DESCACTO, TMA-ACTIVAO,
TMA-PLANO, TMA-COPYINO, TMA-PANELINO,
TMA-IDIOMAO, TMA-DESIDIOO,
TMA-CODHELPO,
TMA-TIPALTMO, TMA-INICIOO,
TMA-TRNCONVO,
TMA-CONTABLO, TMA-CAJEROO, TMA-TIPOPERO,
TMA-CAMBSESO, TMA-RECUPERO, TMA-LONCMMO ,
TMA-STAMACTO, TMA-TIMEACTO, TMA-USERACTO,
TMA-TRANIDLO, TMA-STAMALTO, TMA-USERALTO,
TMA-DOCUM1O, TMA-DOCUM2O, TMA-STAMMODO,
TMA-TIMEMODO, TMA-USERMODO, TMA-DIARIOEO,
TMA-STAMPRIO, TMA-STAMULTO, TMA-TRANIDO,
TMA-APB4700O, TMA-NEWCOPYO, TMA-INIARQO,
TMA-ACTTCLO , TMA-PFSTANO , TMA-PINFSPO,
TMA-PFSARQO, TMA-AYUDAAO.
******************************************************************
* *
* 213000-COMPLETAR-PANTALLA *
* *
* LOS DATOS DE LA TABLA FODTCCT SON PASADOS A LOS CAMPOS DE *
* PANTALLA, TRANSFORMANDO ALGUNO SI EL FORMATO DE PANTALLA *
* ES DISTINTO AL DE TABLA *
* *
******************************************************************
213000-COMPLETAR-PANTALLA.
*
PERFORM 211200-ACCEDE-QGDTIDI
PERFORM 211100-ACCEDE-FODTDTA
*
MOVE W-IDIOMA TO TMA-IDIOMAO
MOVE IDI-DESC-CORTA TO TMA-DESIDIOO
*
MOVE DTA-DESC-LARGA TO TMA-DESCRIPO
MOVE CCT-APLICACION TO TMA-APLICACO
MOVE CCT-PGMID TO TMA-PGMIDO
*
MOVE SPACES TO TMA-NEWCOPYO
MOVE CCT-APLICACION TO TMA-APLICACO
*
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 97
IF CCT-IND-ACTIVA EQUAL 'S'
MOVE 'Activada' TO TMA-DESCACTO
MOVE 'A' TO TMA-ACTIVAO
ELSE
MOVE 'Desactivada' TO TMA-DESCACTO
MOVE 'D' TO TMA-ACTIVAO
END-IF
*
MOVE CCT-PLAN TO TMA-PLANO
MOVE CCT-COPY-IN TO TMA-COPYINO
MOVE CCT-PANEL-IN TO TMA-PANELINO
MOVE CCT-COD-HELP TO TMA-CODHELPO
MOVE CCT-ST-ALTAMIRA TO TMA-TIPALTMO
MOVE CCT-ENTRADA TO TMA-ENTRADAO
MOVE CCT-IND-INICIO TO TMA-INICIOO
MOVE CCT-IND-TRNCONV TO TMA-TRNCONVO
MOVE CCT-IND-CONTABLE TO TMA-CONTABLO
MOVE CCT-IND-CAJERO TO TMA-CAJEROO
MOVE CCT-TIPOS-OPER TO TMA-TIPOPERO
MOVE CCT-CAMBIO-SESION TO TMA-CAMBSESO
MOVE CCT-RECUPERACION TO TMA-RECUPERO
MOVE CCT-TIMEST-ACTV TO W-FECHA-AAAAMMDD
MOVE W-AA-AAAAMMDD TO W-AA-DDMMAA
MOVE W-MM-AAAAMMDD TO W-MM-DDMMAA
MOVE W-DD-AAAAMMDD TO W-DD-DDMMAA
MOVE W-FECHA-DDMMAA TO TMA-STAMACTO
MOVE ':' TO W3-TIME
MOVE W-TIME TO TMA-TIMEACTO
MOVE CCT-USERID-ACTV TO TMA-USERACTO
MOVE CCT-TRANID-LOCAL TO TMA-TRANIDLO
MOVE CCT-FECHA-ALT TO W-FECHA-AAAAMMDD
MOVE W-AA-AAAAMMDD TO W-AA-DDMMAA
MOVE W-MM-AAAAMMDD TO W-MM-DDMMAA
MOVE W-DD-AAAAMMDD TO W-DD-DDMMAA
MOVE W-FECHA-DDMMAA TO TMA-STAMALTO
MOVE CCT-USERID-ALT TO TMA-USERALTO
MOVE CCT-DOCUM-1 TO TMA-DOCUM1O
MOVE CCT-DOCUM-2 TO TMA-DOCUM2O
MOVE CCT-FECHA-MOD TO W-FECHA-AAAAMMDD
MOVE W-AA-AAAAMMDD TO W-AA-DDMMAA
MOVE W-MM-AAAAMMDD TO W-MM-DDMMAA
MOVE W-DD-AAAAMMDD TO W-DD-DDMMAA
MOVE W-FECHA-DDMMAA TO TMA-STAMMODO
MOVE CCT-HORA-MOD TO W-HORA
MOVE ':' TO W3-HORA
MOVE W-HORA TO TMA-TIMEMODO
MOVE CCT-USERID-MOD TO TMA-USERMODO
MOVE CCT-IND-DIARIO TO TMA-DIARIOEO
IF CCT-FECHA-PRIUSO NOT EQUAL '0001-01-01'
MOVE CCT-FECHA-PRIUSO TO W-FECHA-AAAAMMDD
MOVE W-AA-AAAAMMDD TO W-AA-DDMMAA
MOVE W-MM-AAAAMMDD TO W-MM-DDMMAA
MOVE W-DD-AAAAMMDD TO W-DD-DDMMAA
MOVE W-FECHA-DDMMAA TO TMA-STAMPRIO
ELSE
MOVE SPACES TO TMA-STAMPRIO
END-IF
MOVE CCT-IND-4700 TO TMA-APB4700O
MOVE CCT-INICIO-ARQ TO TMA-INIARQO
MOVE CCT-ACT-TECLEO TO TMA-ACTTCLO
MOVE CCT-PFS-STAND TO TMA-PFSTANO
MOVE CCT-PIN-FASTP TO TMA-PINFSPO
MOVE CCT-LONG-COMMAREA TO TMA-LONCMMO
IF CCT-FECHA-ULTUSO NOT EQUAL '0001-01-01'
MOVE CCT-FECHA-ULTUSO TO W-FECHA-AAAAMMDD
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 98
MOVE W-AA-AAAAMMDD TO W-AA-DDMMAA
MOVE W-MM-AAAAMMDD TO W-MM-DDMMAA
MOVE W-DD-AAAAMMDD TO W-DD-DDMMAA
MOVE W-FECHA-DDMMAA TO TMA-STAMULTO
ELSE
MOVE SPACES TO TMA-STAMULTO
END-IF
MOVE CCT-PFS-ARQ TO TMA-PFSARQO
MOVE CCT-AYUDA-ACT TO TMA-AYUDAAO.
******************************************************************
* *
* 214000-OBTENER-DESCRIP-APL *
* *
* ACCESO A LA TABLA DE APLICACIONES PARA OBTENER LA *
* DESCRIPCION. *
* *
******************************************************************
214000-OBTENER-DESCRIP-APL.
*
EXEC SQL
SELECT APL_DESCRIP_RED
INTO APL-DESCRIP-RED
FROM QGDTAPl
WHERE APL_APLICAC = :CCT-APLICACION
END-EXEC
*
EVALUATE SQLCODE
WHEN ZEROS
MOVE APL-DESCRIP-RED TO TMA-DESCAPLO
WHEN +100
MOVE SPACES TO TMA-DESCAPLO
WHEN OTHER
MOVE '1ER SELECT QGDTAPL' TO ABC-REFERENCIA
MOVE 'QGDTAPL' TO ABC-OBJETO-ERROR
PERFORM 999999-ABEND-DB2
END-EVALUATE.
******************************************************************
* *
* 220000-ESTADO-CONTINUACION *
* *
* EQUIVALENTE A 'RECIBIR MAPA' *
* *
* -MOVER HORA Y FECHA DE CABECERA POR SI HAN CAMBIADO *
* -VER TECLA PULSADA *
* -INTRO CONSULTA *
* -PF2 MODIFICACION *
* -PF3 ALTA *
* -PF4 LIMPIAR *
* -PF6 BAJA *
* -EN CUALQUIER OTRO CASO DAREMOS ERROR DE TECLA INCORRECTA *
* *
******************************************************************
220000-ESTADO-CONTINUACION.
*
IF TMA-IDIOMAI NOT EQUAL SPACES
MOVE TMA-IDIOMAI TO W-IDIOMA
ELSE
IF CMA-IDIOMA NOT EQUAL SPACES
MOVE CMA-IDIOMA TO W-IDIOMA
ELSE
MOVE CAA-IDIOMA-TERM TO W-IDIOMA
END-IF
END-IF
*
EVALUATE TRUE
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 99
WHEN PFENTER
PERFORM 221000-CONSULTA
WHEN PF2
PERFORM 225000-SEGURIDAD
PERFORM 222000-MODIFICACION
WHEN PF3
PERFORM 225000-SEGURIDAD
PERFORM 223000-ALTA
WHEN PF4
PERFORM 212000-INICIALIZA-PANTALLA
WHEN PF6
PERFORM 225000-SEGURIDAD
PERFORM 224000-BAJA
WHEN OTHER
MOVE 'QME0001' TO CAA-COD-ERROR
PERFORM 300000-FIN-PROGRAMA
END-EVALUATE.
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 100
******************************************************************
* *
* 221000-CONSULTA *
* *
* - VER SI LA TRANSACCION EXISTE *
* -SI EXISTE FORMATEAREMOS LA PANTALLA *
* -SI NO EXISTE DAREMOS ERROR Y MANTENDREMOS LOS DATOS QUE *
* EXISTIESEN EN ELLA *
* *
* NOTA: COMPRUEBA SI POR PANTALLA SE INFORMO EL CAMPO IDIOMA *
* DE NO ESTARLO COMPRUEBA SI SE HIZO EN LA COMMAREA DE *
* MANTENIMIENTO, SI NO TOMA EL QUE POR DEFECTO TENGA EL *
* TERMINAL. *
* *
* *
******************************************************************
*
221000-CONSULTA.
*
MOVE TMA-TRANIDI TO CCT-TRANID
PERFORM 211000-ACCEDE-FODTCCT
*
EVALUATE SQLCODE
WHEN ZEROS
PERFORM 213000-COMPLETAR-PANTALLA
PERFORM 214000-OBTENER-DESCRIP-APL
WHEN +100
MOVE 'QME0005' TO CAA-COD-ERROR
MOVE '@QM000011' TO CAA-VAR1-ERROR
PERFORM 300000-FIN-PROGRAMA
WHEN OTHER
MOVE '3ER SELECT FODTCCT' TO ABC-REFERENCIA
MOVE 'FODTCCT' TO ABC-OBJETO-ERROR
PERFORM 999999-ABEND-DB2
END-EVALUATE.
******************************************************************
* *
* 222000-MODIFICACION *
* *
* - VER SI LA TRANSACCION EXISTE *
* -SI EXISTE VALIDAREMOS LOS CAMPOS, FORMATEAREMOS LA *
* FILA Y LA REESCRIBIREMOS EN LA TABLA *
* -SI HAY ALGUN ERROR Y MANTENDREMOS LOS DATOS QUE *
* EXISTIENSEN EN LA PANTALLA Y AVISAREMOS DEL ERROR *
* *
* NOTA: COMPRUEBA SI POR PANTALLA SE INFORMO EL CAMPO IDIOMA *
* DE NO ESTARLO COMPRUEBA SI SE HIZO EN LA COMMAREA DE *
* MANTENIMIENTO, SI NO TOMA EL QUE POR DEFECTO TENGA EL *
* TERMINAL. *
* *
******************************************************************
222000-MODIFICACION.
*
IF CAA-88-MOD-TAG-NO
MOVE 'QME0109' TO CAA-COD-ERROR
PERFORM 300000-FIN-PROGRAMA
ELSE
MOVE TMA-TRANIDI TO CCT-TRANID
PERFORM 211000-ACCEDE-FODTCCT
*
EVALUATE SQLCODE
WHEN ZEROS
PERFORM 222100-VALIDAR-CAMPOS
PERFORM 222200-FORMATEA-FILA
PERFORM 222400-UPDATE
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 101
WHEN +100
MOVE 'QME0005' TO CAA-COD-ERROR
MOVE '@QM000011' TO CAA-VAR1-ERROR
PERFORM 300000-FIN-PROGRAMA
WHEN OTHER
MOVE 'SELECT UPDATE' TO ABC-REFERENCIA
MOVE 'FODTCCT' TO ABC-OBJETO-ERROR
PERFORM 999999-ABEND-DB2
END-EVALUATE
END-IF.
******************************************************************
* *
* 222100-VALIDAR-CAMPOS *
* *
* - VALIDAR CAMPOS *
******************************************************************
222100-VALIDAR-CAMPOS.
*
PERFORM 222110-TRANSACCION-APLI
PERFORM 222120-PROGRAMA
PERFORM 222130-ESTADO-FORMATO
*
MOVE TMA-IDIOMAI TO W-IDIOMA
PERFORM 211200-ACCEDE-QGDTIDI.
******************************************************************
* *
* 222110-TRANSACCION-APLI *
* *
* - TRANSACCION Y APLICACION *
* - LA TRANSACCION DEBE ESTAR INFORMADA *
* - LA TRANSACCION NO PERMITE BLANCOS INTERCALADOS *
* - LA DESCRIPCION DE LA TRANSACCION DEBE ESTAR INFORMADA *
* - LAS DOS PRIMERAS POSICIONES DE LA TRANSACCION SON EL *
* CODIGO DE APLICACION. *
* *
******************************************************************
222110-TRANSACCION-APLI.
*
IF TMA-TRANIDI EQUAL SPACES OR
TMA-TRANIDI EQUAL LOW-VALUES
MOVE 'QME0002' TO CAA-COD-ERROR
MOVE '@QM000011' TO CAA-VAR1-ERROR
PERFORM 300000-FIN-PROGRAMA
ELSE
MOVE TMA-TRANIDI TO W-TRANID
INSPECT W-TRANID REPLACING ALL LOW-VALUES BY SPACES
IF W1-TRANID EQUAL SPACES OR
(W2-TRANID EQUAL SPACES AND
(W3-TRANID NOT EQUAL SPACES OR
W4-TRANID NOT EQUAL SPACES)) OR
(W3-TRANID EQUAL SPACES AND
W4-TRANID NOT EQUAL SPACES)
MOVE 'QME0015' TO CAA-COD-ERROR
MOVE -1 TO TMA-TRANIDL
MOVE '@QM000011' TO CAA-VAR1-ERROR
PERFORM 300000-FIN-PROGRAMA
ELSE
IF TMA-DESCRIPI EQUAL SPACES OR
TMA-DESCRIPI EQUAL LOW-VALUES
MOVE 'QME0002' TO CAA-COD-ERROR
MOVE -1 TO TMA-DESCRIPL
MOVE '@QM000002' TO CAA-VAR1-ERROR
PERFORM 300000-FIN-PROGRAMA
ELSE
IF TMA-APLICACI NOT = TMA-TRANIDI(1:2)
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 102
MOVE 'QME0005' TO CAA-COD-ERROR
MOVE -1 TO TMA-APLICACL
MOVE '@QM000012' TO CAA-VAR1-ERROR
PERFORM 300000-FIN-PROGRAMA
END-IF
END-IF
END-IF
END-IF.
******************************************************************
* *
* 222120-PROGRAMA *
* *
* - PROGRAMA *
* - LA PROGRAMA DEBE ESTAR INFORMADO *
* - EL PROGRAMA NO PERMITE BLANCOS EN SUS PRIMERAS 7 *
* POSICIONES *
* *
******************************************************************
222120-PROGRAMA.
*
IF TMA-PGMIDI EQUAL SPACES OR
TMA-PGMIDI EQUAL LOW-VALUES
MOVE 'QME0002' TO CAA-COD-ERROR
MOVE -1 TO TMA-PGMIDL
MOVE '@QM000046' TO CAA-VAR1-ERROR
PERFORM 300000-FIN-PROGRAMA
ELSE
MOVE TMA-PGMIDI TO W-PGMID
INSPECT W-PGMID REPLACING ALL LOW-VALUES BY SPACES
IF W1-PGMID EQUAL SPACES OR
W2-PGMID EQUAL SPACES OR
W3-PGMID EQUAL SPACES OR
W4-PGMID EQUAL SPACES OR
W5-PGMID EQUAL SPACES OR
W6-PGMID EQUAL SPACES OR
W7-PGMID EQUAL SPACES
MOVE 'QME0015' TO CAA-COD-ERROR
MOVE -1 TO TMA-PGMIDL
MOVE '@QM000046' TO CAA-VAR1-ERROR
PERFORM 300000-FIN-PROGRAMA
END-IF
END-IF.
******************************************************************
* *
* 222130-ESTADO-FORMATO *
* *
* - ESTADO Y FORMATO *
* - SI EL ESTADO NO ESTA INFORMADO SE ASUME 'A' ACTIVADA *
* - EL ESTADO SOLO PERMITE (A/D) ACTIVADA/DESACTIVADA *
* POSICIONES *
* *
******************************************************************
222130-ESTADO-FORMATO.
*
IF TMA-ACTIVAI EQUAL SPACES OR
TMA-ACTIVAI EQUAL LOW-VALUES OR
TMA-ACTIVAI EQUAL 'A'
MOVE 'A' TO TMA-ACTIVAO
MOVE 'Activada' TO TMA-DESCACTO
ELSE
IF TMA-ACTIVAI EQUAL 'D'
MOVE 'Desactivada' TO TMA-DESCACTO
ELSE
MOVE SPACES TO TMA-DESCACTO
MOVE 'QME0017' TO CAA-COD-ERROR
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 103
MOVE -1 TO TMA-ACTIVAL
MOVE '@QM000004' TO CAA-VAR1-ERROR
PERFORM 300000-FIN-PROGRAMA
END-IF
END-IF.
******************************************************************
* *
* 222200-FORMATEA-FILA *
* *
* - MOVER CAMPOS DE PANTALLA A TABLA, CONVIRTIENDO ALGUNO *
* EN SU FORMATO SI FUESE NECESARIO *
* *
******************************************************************
222200-FORMATEA-FILA.
*
MOVE TMA-TRANIDI TO CCT-TRANID
MOVE TMA-DESCRIPI TO CCT-DESCRIP
MOVE TMA-APLICACI TO CCT-APLICACION
MOVE TMA-PGMIDI TO CCT-PGMID
*
IF TMA-ACTIVAI EQUAL 'A'
MOVE 'Activada' TO TMA-DESCACTO
MOVE 'S' TO CCT-IND-ACTIVA
ELSE
MOVE 'Desactivada' TO TMA-DESCACTO
MOVE 'N' TO CCT-IND-ACTIVA
END-IF
*
MOVE TMA-PLANI TO CCT-PLAN
MOVE TMA-COPYINI TO CCT-COPY-IN
MOVE TMA-PANELINI TO CCT-PANEL-IN
MOVE TMA-CODHELPI TO CCT-COD-HELP
MOVE TMA-TIPALTMI TO CCT-ST-ALTAMIRA
MOVE TMA-ENTRADAI TO CCT-ENTRADA
MOVE TMA-INICIOI TO CCT-IND-INICIO
MOVE TMA-TRNCONVI TO CCT-IND-TRNCONV
MOVE TMA-CONTABLI TO CCT-IND-CONTABLE
MOVE TMA-CAJEROI TO CCT-IND-CAJERO
MOVE TMA-TIPOPERI TO CCT-TIPOS-OPER
MOVE TMA-CAMBSESI TO CCT-CAMBIO-SESION
MOVE TMA-RECUPERI TO CCT-RECUPERACION
MOVE TMA-TRANIDLI TO CCT-TRANID-LOCAL
MOVE TMA-DOCUM1I TO CCT-DOCUM-1
MOVE TMA-DOCUM2I TO CCT-DOCUM-2
MOVE TMA-DIARIOEI TO CCT-IND-DIARIO
MOVE TMA-APB4700I TO CCT-IND-4700
MOVE TMA-LONCMMI TO CCT-LONG-COMMAREA
MOVE 'N' TO CCT-IND-LIBRE3
MOVE 'N' TO CCT-IND-LIBRE4
MOVE TMA-INIARQI TO CCT-INICIO-ARQ
MOVE TMA-PFSTANI TO CCT-PFS-STAND
MOVE TMA-PINFSPI TO CCT-PIN-FASTP
MOVE TMA-ACTTCLI TO CCT-ACT-TECLEO
MOVE TMA-PFSARQI TO CCT-PFS-ARQ
MOVE TMA-AYUDAAI TO CCT-AYUDA-ACT.
******************************************************************
* *
* 222400-UPDATE *
* *
* - UPDATE ACTUALIZANDO EL STAMP DE CAMBIO DE ESTADO *
* *
******************************************************************
222400-UPDATE.
*
MOVE CAA-USERID TO CCT-USERID-ACTV
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 104
CCT-USERID-MOD
*
EXEC SQL
UPDATE FODTCCT
SET CCT_DESCRIP = :CCT-DESCRIP,
CCT_APLICACION = :CCT-APLICACION,
CCT_PGMID = :CCT-PGMID,
CCT_PLAN = :CCT-PLAN,
CCT_COPY_IN = :CCT-COPY-IN,
CCT_PANEL_IN = :CCT-PANEL-IN,
CCT_COD_HELP = :CCT-COD-HELP,
CCT_TRANID_LOCAL = :CCT-TRANID-LOCAL,
CCT_DOCUM_1 = :CCT-DOCUM-1,
CCT_DOCUM_2 = :CCT-DOCUM-2,
CCT_IND_DIARIO = :CCT-IND-DIARIO,
CCT_IND_4700 = :CCT-IND-4700,
CCT_ST_ALTAMIRA = :CCT-ST-ALTAMIRA,
CCT_ST_JOUR = :CCT-ST-JOUR,
CCT_ST_LIBR = :CCT-ST-LIBR,
CCT_ST_BANDA = :CCT-ST-BANDA,
CCT_ST_IMPR = :CCT-ST-IMPR,
CCT_ST_TERMINAL = :CCT-ST-TERMINAL,
CCT_NIVEL_USO = :CCT-NIVEL-USO,
CCT_NIVEL_ALTA = :CCT-NIVEL-ALTA,
CCT_NIVEL_BAJA = :CCT-NIVEL-BAJA,
CCT_NIVEL_MODIFIC = :CCT-NIVEL-MODIFIC,
CCT_ENTRADA = :CCT-ENTRADA,
CCT_IND_ACTIVA = :CCT-IND-ACTIVA,
CCT_IND_INICIO = :CCT-IND-INICIO,
CCT_IND_TRNCONV = :CCT-IND-TRNCONV,
CCT_IND_CONTABLE = :CCT-IND-CONTABLE,
CCT_IND_CAJERO = :CCT-IND-CAJERO,
CCT_TIPO_ALTA = :CCT-TIPO-ALTA,
CCT_TIPO_BAJA = :CCT-TIPO-BAJA,
CCT_TIPO_MODIF = :CCT-TIPO-MODIF,
CCT_TIPO_CONSULTA = :CCT-TIPO-CONSULTA,
CCT_TIPO_EDICION = :CCT-TIPO-EDICION,
CCT_TIPO_PETICION = :CCT-TIPO-PETICION,
CCT_TIPO_ENTSAL = :CCT-TIPO-ENTSAL,
CCT_FECHA_MOD = CURRENT DATE,
CCT_HORA_MOD = CURRENT TIME,
CCT_USERID_MOD = :CCT-USERID-MOD,
CCT_TIMEST_ACTV = CURRENT TIMESTAMP,
CCT_USERID_ACTV = :CCT-USERID-ACTV,
CCT_CAMBIO_SESION = :CCT-CAMBIO-SESION,
CCT_PFS_ARQ = :CCT-PFS-ARQ,
CCT_AYUDA_ACT = :CCT-AYUDA-ACT,
CCT_INICIO_ARQ = :CCT-INICIO-ARQ,
CCT_PFS_STAND = :CCT-PFS-STAND ,
CCT_PIN_FASTP = :CCT-PIN-FASTP ,
CCT_ACT_TECLEO = :CCT-ACT-TECLEO,
CCT_LONG_COMMAREA = :CCT-LONG-COMMAREA,
CCT_RECUPERACION = :CCT-RECUPERACION
WHERE CCT_TRANID = :CCT-TRANID
END-EXEC
*
EVALUATE SQLCODE
WHEN ZEROS
MOVE 'QMA0001' TO CAA-COD-AVISO1
SET CAA-88-TIOPER-MODIF TO TRUE
PERFORM 222500-MODIFICAR-DESCRIP
PERFORM 213000-COMPLETAR-PANTALLA
WHEN OTHER
MOVE 'UPDATE FODTCCT ' TO ABC-REFERENCIA
MOVE 'FODTCCT' TO ABC-OBJETO-ERROR
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 105
PERFORM 999999-ABEND-DB2
END-EVALUATE.
******************************************************************
* *
* 222500-MODIFICAR-DESCRIP *
* *
* EN EL CASO DE QUE SE HAYAN MODIFICADO LAS DESCRIPCIONES *
* POR PANTALLA, SE MODIFICARAN TAMBIEN EN LA TABLA DE *
* DESCRIPCION DE TABLAS. *
* *
******************************************************************
222500-MODIFICAR-DESCRIP.
*
IF TMA-DESCRIPI EQUAL DTA-DESC-LARGA
CONTINUE
ELSE
MOVE TMA-DESCRIPI TO DTA-DESC-LARGA
DTA-DESC-CORTA
MOVE LT-TABLA-CCT TO DTA-TABLA
MOVE CCT-TRANID TO DTA-CLAVE
MOVE W-IDIOMA TO DTA-IDIOMA
PERFORM 222600-MODIFICAR-FODTDTA
END-IF.
******************************************************************
* *
* 222600-MODIFICAR-FODTDTA *
* *
* MODIFICACION DE LA TABLA DE DESCRIPCION DE TABLAS, PARA *
* ACTUALIZAR LAS DESCRIPCIONES. *
* *
******************************************************************
222600-MODIFICAR-FODTDTA.
*
MOVE DTA-DESC-LARGA TO DTA-DESC-CORTA
EXEC SQL
UPDATE FODTDTA
SET DTA_DESC_LARGA = :DTA-DESC-LARGA,
DTA_DESC_CORTA = :DTA-DESC-CORTA
WHERE DTA_TABLA = :DTA-TABLA AND
DTA_CLAVE = :DTA-CLAVE AND
DTA_IDIOMA = :DTA-IDIOMA
END-EXEC
EVALUATE SQLCODE
WHEN ZERO
MOVE 'QMA0076' TO CAA-COD-AVISO2
WHEN OTHER
MOVE '1ER UPDATE FODTDTA' TO ABC-REFERENCIA
MOVE 'FODTDTA' TO ABC-OBJETO-ERROR
PERFORM 999999-ABEND-DB2
END-EVALUATE.
******************************************************************
* *
* 223000-ALTA *
* *
* - VER SI LA TRANSACCION EXISTE *
* -SI NO EXISTE VALIDAREMOS LOS CAMPOS, FORMATEAREMOS LA *
* FILA Y LA INSERTAREMOS EN LA TABLA *
* -SI HAY ALGUN ERROR Y MANTENDREMOS LOS DATOS QUE *
* EXISTIENSEN EN LA PANTALLA Y AVISAREMOS DEL ERROR *
* *
* NOTA: COMPRUEBA SI POR PANTALLA SE INFORMO EL CAMPO IDIOMA *
* DE NO ESTARLO COMPRUEBA SI SE HIZO EN LA COMMAREA DE *
* MANTENIMIENTO, SI NO TOMA EL QUE POR DEFECTO TENGA EL *
* TERMINAL. *
* *
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 106
******************************************************************
223000-ALTA.
*
MOVE TMA-TRANIDI TO CCT-TRANID
*
IF TMA-IDIOMAI NOT EQUAL SPACES
MOVE TMA-IDIOMAI TO W-IDIOMA
ELSE
IF CMA-IDIOMA NOT EQUAL SPACES
MOVE CMA-IDIOMA TO W-IDIOMA
ELSE
MOVE CAA-IDIOMA-TERM TO W-IDIOMA
END-IF
END-IF
*
PERFORM 211000-ACCEDE-FODTCCT
MOVE TMA-APLICACI TO CCT-APLICACION
*
EVALUATE SQLCODE
WHEN ZEROS
MOVE 'QME0004' TO CAA-COD-ERROR
MOVE -1 TO TMA-TRANIDL
MOVE '@QM000011' TO CAA-VAR1-ERROR
PERFORM 300000-FIN-PROGRAMA
WHEN +100
PERFORM 222100-VALIDAR-CAMPOS
PERFORM 222200-FORMATEA-FILA
PERFORM 223100-INSERT-FILA
WHEN OTHER
INITIALIZE QGECABC
MOVE 'SELECT ALTA' TO ABC-REFERENCIA
MOVE 'FODTCCT' TO ABC-OBJETO-ERROR
PERFORM 999999-ABEND-DB2
END-EVALUATE.
******************************************************************
* *
* 223100-INSERT-FILA *
* *
* - INSERTAR FILA A DAR DE ALTA *
* *
******************************************************************
223100-INSERT-FILA.
*
MOVE CAA-USERID TO CCT-USERID-ACTV
CCT-USERID-ALT
CCT-USERID-MOD
MOVE '0001-01-01' TO CCT-FECHA-PRIUSO
CCT-FECHA-ULTUSO
*
EXEC SQL
INSERT INTO FODTCCT
VALUES (CCT-TRANID, CCT-DESCRIP,
CCT-APLICACION, CCT-ENTRADA, CCT-PGMID,
CCT-PLAN, CCT-COPY-IN, CCT-PANEL-IN,
CCT-COD-HELP,
CCT-TRANID-LOCAL, CCT-DOCUM-1, CCT-DOCUM-2,
CCT-IND-DIARIO, CCT-IND-4700, CCT-LONG-COMMAREA,
CCT-ST-ALTAMIRA, CCT-ST-JOUR, CCT-ST-LIBR,
CCT-ST-BANDA, CCT-ST-IMPR, CCT-ST-TERMINAL,
CCT-NIVEL-USO, CCT-NIVEL-ALTA,
CCT-NIVEL-BAJA, CCT-NIVEL-MODIFIC,
CCT-IND-ACTIVA, CCT-IND-INICIO, CCT-IND-TRNCONV,
CCT-IND-CONTABLE, CCT-IND-CAJERO, CCT-TIPO-ALTA,
CCT-TIPO-BAJA, CCT-TIPO-MODIF, CCT-TIPO-CONSULTA,
CCT-TIPO-EDICION, CCT-TIPO-PETICION, CCT-TIPO-ENTSAL,
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 107
CCT-CAMBIO-SESION, CCT-RECUPERACION,
CCT-INICIO-ARQ , CCT-PFS-STAND ,
CCT-ACT-TECLEO , CCT-PIN-FASTP ,
CCT-PFS-ARQ , CCT-AYUDA-ACT ,
CCT-IND-LIBRE1 , CCT-IND-LIBRE2 ,
CCT-IND-LIBRE3 , CCT-IND-LIBRE4 ,
CCT-IND-LIBRE5 , CCT-CAMPO1, CCT-CAMPO2,
CURRENT DATE, CCT-USERID-ALT, CURRENT DATE,
CURRENT TIME, CCT-USERID-MOD, CURRENT TIMESTAMP,
CCT-USERID-ACTV, CCT-FECHA-PRIUSO, CCT-FECHA-ULTUSO)
END-EXEC
*
EVALUATE SQLCODE
WHEN ZEROS
MOVE 'QMA0002' TO CAA-COD-AVISO1
MOVE CAA-FECHA-TRANS2 TO CCT-FECHA-ALT
CCT-FECHA-MOD, W-DATE-TIMESTAMP
MOVE CAA-HORA-TRANSED TO CCT-HORA-MOD
W-TIME-TIMESTAMP
MOVE W-TIMESTAMP TO CCT-TIMEST-ACTV
SET CAA-88-TIOPER-ALTA TO TRUE
PERFORM 223200-INSERTAR-DTA
PERFORM 213000-COMPLETAR-PANTALLA
MOVE -1 TO TMA-TRANIDL
WHEN OTHER
INITIALIZE QGECABC
MOVE '1ER INSERT FODTCCT' TO ABC-REFERENCIA
MOVE 'FODTCCT' TO ABC-OBJETO-ERROR
PERFORM 999999-ABEND-DB2
END-EVALUATE.
*
******************************************************************
* *
* 223200-INSERTAR-DTA *
* *
* SE INSERTA UN FILA EN LA TABLA DE DESCRIPCION DE TABLAS *
* *
******************************************************************
223200-INSERTAR-DTA.
*
PERFORM 223210-DECLARE-OPEN-C-IDI
SET NO-FIN-CURSOR TO TRUE
PERFORM 223220-FETCH-C-IDI
PERFORM UNTIL FIN-CURSOR
PERFORM 223220-INSERT-QGDTDTA
PERFORM 223220-FETCH-C-IDI
END-PERFORM
*
PERFORM 223230-CLOSE-C-IDI.
******************************************************************
* *
* 223210-DECLARE-OPEN-C-IDI *
* *
* DECLARACION CURSOR. *
* APERTURA DEL CURSOR SOBRE LA TABLA DE IDIOMAS *
* *
******************************************************************
223210-DECLARE-OPEN-C-IDI.
*
EXEC SQL
DECLARE C-IDI CURSOR FOR
SELECT IDI_IDIOMA
FROM QGDTIDI
END-EXEC
*
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 108
EXEC SQL
OPEN C-IDI
END-EXEC
*
EVALUATE SQLCODE
WHEN ZERO
CONTINUE
WHEN OTHER
INITIALIZE QGECABC
MOVE 'OPEN C-IDI QGDTIDI' TO ABC-REFERENCIA
MOVE 'QGDTIDI' TO ABC-OBJETO-ERROR
PERFORM 999999-ABEND-DB2
END-EVALUATE.
******************************************************************
* *
* 223220-FETCH-C-IDIIDI *
* *
* FETCH SOBRE EL CURSOR C-IDI *
* *
******************************************************************
223220-FETCH-C-IDI.
*
EXEC SQL
FETCH C-IDI INTO :IDI-IDIOMA
END-EXEC
EVALUATE SQLCODE
WHEN ZERO
CONTINUE
WHEN +100
SET FIN-CURSOR TO TRUE
WHEN OTHER
INITIALIZE QGECABC
MOVE 'FETCH C-IDI QGDTIDI' TO ABC-REFERENCIA
MOVE 'QGDTIDI' TO ABC-OBJETO-ERROR
PERFORM 999999-ABEND-DB2
END-EVALUATE.
******************************************************************
* *
* 223220-INSERT-QGDTDTA *
* *
* INSERCION DE TANTAS FILAS EN LA TABLA FODTDTA, COMO IDIOMAS *
* HAYA EN LA TABLA QGDTIDI. *
* *
******************************************************************
223220-INSERT-QGDTDTA.
*
MOVE LT-TABLA-CCT TO DTA-TABLA
MOVE CCT-TRANID TO DTA-CLAVE
MOVE IDI-IDIOMA TO DTA-IDIOMA
MOVE CCT-DESCRIP TO DTA-DESC-CORTA
DTA-DESC-LARGA
MOVE SPACES TO DTA-LIBRE
DTA-IND-LIBRE1
DTA-IND-LIBRE2
DTA-IND-LIBRE3
DTA-USERID-MOD
DTA-TERMIN-MOD
DTA-CENTRO-MOD
MOVE CAA-USERID TO DTA-USERID-ALT
MOVE CAA-TERMINAL TO DTA-TERMIN-ALT
MOVE CAA-ENTIDAD TO W-ENTIDAD
MOVE CAA-CENTRO-CONT TO W-CENTRO
MOVE W-ENTIDAD-CENTRO TO DTA-CENTRO-ALT
*
EXEC SQL
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 109
INSERT INTO FODTDTA
( DTA_TABLA ,
DTA_CLAVE ,
DTA_IDIOMA ,
DTA_DESC_CORTA,
DTA_DESC_LARGA,
DTA_LIBRE ,
DTA_IND_LIBRE1,
DTA_IND_LIBRE2,
DTA_IND_LIBRE3,
DTA_TIMEST_ALT,
DTA_USERID_ALT,
DTA_CENTRO_ALT,
DTA_TERMIN_ALT,
DTA_TIMEST_MOD,
DTA_USERID_MOD,
DTA_CENTRO_MOD,
DTA_TERMIN_MOD)
VALUES (:DTA-TABLA ,
:DTA-CLAVE ,
:DTA-IDIOMA ,
:DTA-DESC-CORTA,
:DTA-DESC-LARGA,
:DTA-LIBRE ,
:DTA-IND-LIBRE1,
:DTA-IND-LIBRE2,
:DTA-IND-LIBRE3,
CURRENT TIMESTAMP,
:DTA-USERID-ALT,
:DTA-CENTRO-ALT,
:DTA-TERMIN-ALT,
CURRENT TIMESTAMP,
:DTA-USERID-MOD,
:DTA-CENTRO-MOD,
:DTA-TERMIN-MOD)
END-EXEC
*
EVALUATE SQLCODE
WHEN ZERO
CONTINUE
WHEN OTHER
INITIALIZE QGECABC
MOVE 'INSERT DTA' TO ABC-REFERENCIA
MOVE 'FODTDTA' TO ABC-OBJETO-ERROR
PERFORM 999999-ABEND-DB2
END-EVALUATE.
******************************************************************
* *
* 223230-CLOSE-C-IDI *
* *
* CIERRE DEL CURSOR C-IDI *
* *
******************************************************************
223230-CLOSE-C-IDI.
*
EXEC SQL
CLOSE C-IDI
END-EXEC
EVALUATE SQLCODE
WHEN ZERO
MOVE 'QMA0076' TO CAA-COD-AVISO2
WHEN OTHER
INITIALIZE QGECABC
MOVE 'CLOSE C-IDI QGDTIDI' TO ABC-REFERENCIA
MOVE 'QGDTIDI' TO ABC-OBJETO-ERROR
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 110
PERFORM 999999-ABEND-DB2
END-EVALUATE.
******************************************************************
* *
* 224000-BAJA *
* *
* - VALIDAR QUE EL REGISTRO PUEDE SER DADO DE BAJA *
* - SI SE PUEDE DAR DE BAJA PEDIREMOS PREVIAMENTE CONFIRMA- *
* CION. *
* - SI NO INFORMAREMOS DEL ERROR *
* *
******************************************************************
*
224000-BAJA.
*
MOVE TMA-TRANIDI TO CCT-TRANID
MOVE TMA-APLICACI TO CCT-APLICACION
MOVE -1 TO TMA-TRANIDL
*
MOVE TMA-IDIOMAI TO W-IDIOMA
*
PERFORM 211000-ACCEDE-FODTCCT
EVALUATE SQLCODE
WHEN ZEROS
PERFORM 214000-OBTENER-DESCRIP-APL
IF SQLCODE EQUAL ZEROS
MOVE APL-DESCRIP-RED TO TMA-DESCAPLO
ELSE
MOVE SPACES TO TMA-DESCAPLO
END-IF
PERFORM 213000-COMPLETAR-PANTALLA
MOVE 'QMA0004' TO CAA-COD-AVISO1
WHEN +100
MOVE 'QME0005' TO CAA-COD-ERROR
MOVE '@QM000011' TO CAA-VAR1-ERROR
PERFORM 300000-FIN-PROGRAMA
WHEN OTHER
INITIALIZE QGECABC
MOVE '7MO. SELECT FODTCCT' TO ABC-REFERENCIA
MOVE 'FODTCCT' TO ABC-OBJETO-ERROR
PERFORM 999999-ABEND-DB2
END-EVALUATE.
*
******************************************************************
* *
* 225000-SEGURIDAD *
* *
* SE LLAMA AL MODULO QG1CSEG PARA VALIDAR LA AUTORIZACION DEL *
* USUARIO *
* *
******************************************************************
*
225000-SEGURIDAD.
*
INITIALIZE QGECSEG
MOVE LT-RECURSO TO SEG-REC-FICTICIO
*
EXEC CICS
LINK PROGRAM ('QG1CSEG')
COMMAREA (QGECSEG)
END-EXEC
*
IF SEG-IND-AUTORIZA EQUAL 'N'
MOVE 'QME0110' TO CAA-COD-ERROR
MOVE -1 TO TMA-TRANIDL
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 111
PERFORM 300000-FIN-PROGRAMA
END-IF.
*
******************************************************************
* *
* 230000-ESTADO-CONFIRMACION *
* *
* ES LA CONFIRMACION SOLO DE LA BAJA *
* *
* - VERIFICAR QUE TECLA DE FUNCION CORRECTA (CAA-TECLA) *
* SI CORRECTA *
* - VERIFICAR QUE NO HAN CAMBIADO LA PANTALLA, *
* EVALUANDO CAA-MODTAG. *
* - DELETE DE LA FILA *
* CASO CONTRARIO *
* - INFORMAR ERROR *
* *
******************************************************************
*
230000-ESTADO-CONFIRMACION.
*
MOVE -1 TO TMA-TRANIDL
MOVE CAA-TECLA TO SW-TECLA
*
EVALUATE TRUE
WHEN PF7
IF CAA-88-MOD-TAG-NO
MOVE TMA-TRANIDI TO CCT-TRANID
PERFORM 231000-DELETE
ELSE
MOVE 'QME0024' TO CAA-COD-ERROR
PERFORM 300000-FIN-PROGRAMA
END-IF
WHEN OTHER
MOVE 'QMA0005' TO CAA-COD-AVISO1
END-EVALUATE.
*
******************************************************************
* *
* 231000-DELETE *
* *
* -BORRAR FILA *
* *
******************************************************************
*
231000-DELETE.
*
EXEC SQL
DELETE FROM FODTCCT
WHERE CCT_TRANID = :CCT-TRANID
END-EXEC
*
EVALUATE SQLCODE
WHEN ZEROS
MOVE 'QMA0003' TO CAA-COD-AVISO1
PERFORM 231050-DELETE-DTA
WHEN OTHER
INITIALIZE QGECABC
MOVE 'DELETE FODTCCT' TO ABC-REFERENCIA
MOVE 'FODTCCT' TO ABC-OBJETO-ERROR
PERFORM 999999-ABEND-DB2
END-EVALUATE.
*
******************************************************************
* *
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 112
* 231050-DELETE-DTA *
* *
* SE BORRA LA FILA DE LA FODTDTA REFERENTE A LA TABLA Y *
* CLAVE QUE ESTAMOS TRATANDO *
* *
******************************************************************
*
231050-DELETE-DTA.
*
EXEC SQL
DELETE FROM FODTDTA
WHERE DTA_TABLA = :LT-TABLA-CCT AND
DTA_CLAVE = :CCT-TRANID
END-EXEC

EVALUATE SQLCODE
WHEN ZERO
CONTINUE
WHEN OTHER
INITIALIZE QGECABC
MOVE '1ER. DELETE FODTDTA' TO ABC-REFERENCIA
MOVE 'FODTDTA' TO ABC-OBJETO-ERROR
PERFORM 999999-ABEND-DB2
END-EVALUATE.
******************************************************************
* *
* 300000-FIN-PROGRAMA *
* *
* -DEVOLVER CONTROL *
* *
******************************************************************
300000-FIN-PROGRAMA.
*
PERFORM 300100-POSICIONAR-CURSOR
*
EVALUATE TRUE
WHEN CAA-88-ESTADO-INICIO
PERFORM 310000-INFORMAR-CAA-INICIO
WHEN CAA-88-ESTADO-CONTIN
PERFORM 320000-INFORMAR-CAA-CONTIN
WHEN OTHER
PERFORM 330000-INFORMAR-CAA-CONFIR
END-EVALUATE
*
PERFORM 999-INFORMAR-ANALITICA
*
EXEC CICS
RETURN
END-EXEC.
******************************************************************
* *
* 300100-POSICIONAR-CURSOR *
* *
* AL SALIR, POSICIONA EL CURSOR EN EL 1ER CAMPO DEL MAPA *
* *
******************************************************************
*
300100-POSICIONAR-CURSOR.
*
IF TMA-TRANIDL = -1 OR TMA-DESCRIPL = -1 OR
TMA-NEWCOPYL = -1 OR TMA-IDIOMAL = -1 OR
TMA-DESIDIOL = -1 OR TMA-APLICACL = -1 OR
TMA-DESCAPLL = -1 OR TMA-PGMIDL = -1 OR
TMA-ACTIVAL = -1 OR TMA-DESCACTL = -1 OR
TMA-PLANL = -1 OR TMA-COPYINL = -1 OR
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 113
TMA-PANELINL = -1 OR TMA-TIPALTML = -1 OR
TMA-CODHELPL = -1 OR TMA-ENTRADAL = -1 OR
TMA-LONCMML = -1 OR TMA-CAMBSESL = -1 OR
TMA-RECUPERL = -1 OR TMA-TRNCONVL = -1 OR
TMA-TRANIDLL = -1 OR TMA-CONTABLL = -1 OR
TMA-CAJEROL = -1 OR TMA-DOCUM1L = -1 OR
TMA-DOCUM2L = -1 OR TMA-TIPOPERL = -1 OR
TMA-DIARIOEL = -1 OR TMA-INICIOL = -1 OR
TMA-APB4700L = -1 OR TMA-INIARQL = -1 OR
TMA-PFSTANL = -1 OR TMA-STAMACTL = -1 OR
TMA-TIMEACTL = -1 OR TMA-USERACTL = -1 OR
TMA-ACTTCLL = -1 OR TMA-STAMALTL = -1 OR
TMA-USERALTL = -1 OR TMA-PINFSPL = -1 OR
TMA-STAMMODL = -1 OR TMA-TIMEMODL = -1 OR
TMA-USERMODL = -1 OR TMA-PFSARQL = -1 OR
TMA-STAMPRIL = -1 OR TMA-AYUDAAL = -1 OR
TMA-STAMULTL = -1
CONTINUE
ELSE
MOVE -1 TO TMA-TRANIDL
END-IF.
******************************************************************
* *
* 310000-INFORMAR-CAA-INICIO *
* *
* SETEA VARIABLES DE CAA, COMO QUEDAN EN ESTADO INICIO *
* *
******************************************************************
310000-INFORMAR-CAA-INICIO.
*
IF CAA-88-COD-ERROR-VACIO
SET CAA-88-ACCION-TERMINAL TO TRUE
SET CAA-88-ESTADO-CONTIN TO TRUE
MOVE CAA-CODTRAN TO CAA-CODTRAN-SIG
ELSE
SET CAA-88-ACCION-PROGRAMA TO TRUE
SET CAA-88-ESTADO-INICIO TO TRUE
SET CAA-88-CODTRAN-SIG-ULTI TO TRUE
END-IF.
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 114
******************************************************************
* *
* 320000-INFORMAR-CAA-CONTIN *
* *
* SETEA VARIABLES DE CAA, COMO QUEDAN EN ESTADO CONTINUACION *
* *
******************************************************************
320000-INFORMAR-CAA-CONTIN.
*
SET CAA-88-ACCION-TERMINAL TO TRUE
SET CAA-88-CODTRAN-SIG-SAME TO TRUE
IF CAA-88-COD-ERROR-VACIO
IF PF6
SET CAA-88-ESTADO-CONFIR TO TRUE
ELSE
SET CAA-88-ESTADO-CONTIN TO TRUE
END-IF
ELSE
SET CAA-88-ESTADO-CONTIN TO TRUE
END-IF.
******************************************************************
* *
* 330000-INFORMAR-CAA-CONFIR *
* *
* SETEA VARIABLES DE CAA, COMO QUEDAN EN ESTADO CONFIRMACION *
* *
******************************************************************
*
330000-INFORMAR-CAA-CONFIR.
*
SET CAA-88-ACCION-TERMINAL TO TRUE
SET CAA-88-ESTADO-CONTIN TO TRUE
SET CAA-88-CODTRAN-SIG-SAME TO TRUE
IF CAA-88-COD-ERROR-VACIO
SET CAA-88-TIOPER-BAJA TO TRUE
END-IF.
******************************************************************
* *
* 999-INFORMAR-ANALITICA *
* *
* SE INFORMAN LOS CAMPOS DEL SEGMENTO CAA-ANALITICA DE LA *
* COMMAREA QGECCAA, CON LOS DATOS DE LA OPERACION QUE SERVIRAN *
* A ANALITICA. *
* *
******************************************************************
999-INFORMAR-ANALITICA.
*
MOVE CAA-ENTIDAD TO CAA-ENTIDAD-ANA
MOVE CAA-CENTRO-CONT TO CAA-CENTRO-ANA
MOVE CCT-TRANID TO CAA-PRODUCTO-ANA.
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 115
******************************************************************
* *
* 999999-ABEND-DB2 *
* *
* SE ABENDA LA TAREA CUANDO SE PRODUCE UN ERROR DB2 NO DESEADO *
* *
******************************************************************
999999-ABEND-DB2.
*
MOVE 'S' TO ABC-ABEND
MOVE 'FO2CTMA' TO ABC-PROGRAMA
MOVE SQLCODE TO ABC-SQLCODE
MOVE SQLERRM TO ABC-SQLERRM
*
EXEC CICS
LINK PROGRAM ('QG1CABC')
COMMAREA (QGECABC)
END-EXEC.
******************************************************************
* *
* 999999-ABEND-CICS *
* *
* SE ABENDA LA TAREA CUANDO SE PRODUCE UN ERROR CICS NO *
* DESEABLE *
* *
******************************************************************
999999-ABEND-CICS.
*
MOVE 'S' TO ABC-ABEND
MOVE 'FO2CTMA' TO ABC-PROGRAMA
MOVE EIBFN TO ABC-EIBFN
MOVE EIBRSRCE TO ABC-EIBRSRCE
MOVE EIBRCODE TO ABC-EIBRCODE
MOVE EIBRESP TO ABC-EIBRESP1
MOVE EIBRESP2 TO ABC-EIBRESP2
*
EXEC CICS
LINK PROGRAM ('QG1CABC')
COMMAREA (QGECABC)
END-EXEC.


Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 116
5. Desarrollo del ejemplo Transaccional

5.1 Conceptos para el desarrollo del ejemplo.

Para el desarrollo de la transaccin se debe considerar lo siguiente :
El formato de entrada de la transaccin ser :

0001 OM12 FORMACION TP01 21/05/96
0100 CICSUSER CONSULTA TRANSACCION FORMACION FOTC 13:49:33

TRANSACCION (01 ) =
* LIBRE (02 ) =

Para este formato de entrada no hay preformato.

El operador digitar el codigo de la transaccin que desea consultar, si
la transaccin existe, se mostrar en un formato de salida asociado a un
preformato, de lo contario de mostrar el error.
Si se digitara el prefijo de una transaccin con un asterisco al final de
esta, se generar un listado de transacciones que tengan el prefijo
solicitado hasta un mximo de 18 lineas. La salida sera asi :


29/04/96 BANCO PROVINCIAL CICSUSER

COD-TRAN__________DESCRIPCION___________________FORMATO_______________
BG MENU GENERAL
BGAI ACTIVACION DE INMOVILIZADO
BGAM ABONO MANUAL DE INTERESES
BGAN MANTTO NUMERACION PRODUCTO
BGAP MENU DE MANTENIMIENTO PREAP
BGAU MANTENIMIENTO AUXILIAR DE C
BGCA MTTO. COND.LIQ.STANDAR ADIC
BGCC CANVI DE LIMIT




Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 117

5.2 Transaccion FOTC Programa FO2CCTR (Transaccin)

5.2.1 Parametrizacin de la Transaccin.

Se daran de alta :

. Los preformatos (FOCTR1,FOCTR2)
. Los formatos de salida, asociados a las lineas de preformatos
FOMCTR1 con FOCTR1 y FOMCTR2 con FOCTR2
. Los formatos de entrada (FOMCTR)
. La transaccin en la tabla de transacciones (FOTC)

Luego se utilizara la funcin TSO QM para generar las copys para la
aplicain :

1 del formato de entrada
1 por formato de salida


Preformato FOCTR1


0001 OM12 ARQUITEC. PLATAFORMA TP01 21/05/96
0100 CICSUSER MANTENIMIENTO DE PREFORMATOS QMPM 09:43:11

NEW COPY
Preformato ........... = FOCTR1 : LINEA CABECERA FORMACION
Idioma ............... = E CASTELLANO
Margen izquierdo ..... = 0 ____VARIABLES USADAS____
Del sistema ........ 0
Campos de LOCAL .... 0
Maximo ancho columna . = 71 Campos de HOST ..... 0
Numero de lineas ..... = 0 ---
Num. caracteres aprox. = 0 Total 0

Modelo.........= FOCTR1
____________________STAMPS____________________
Alta ........... = 20/05/96 CICSUSER
Ult. Modific ... = 20/05/96 12:42 CICSUSER
Primer Uso ..... = 21/05/96
Ultimo Uso ..... = 21/05/96 FORMCTR

Transac. Ult.USO = FOTC CONSULTA TRANSACCION FORMACION

F2 Modificar F3 Alta F4 Limpiar F5 Lineas F6 Baja BORRA Salir

La nomenclatura del formato es : FORMXXX
del preformato : FOXXX

Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 118


Preformato FOCTR1 ( F5 Lineas) Pantalla 1

0001 OM12 ARQUITEC. PLATAFORMA TP01 21/05/96
0100 CICSUSER MANTTO. DE LINEAS DE PREFORMATOS QMPT 09:43:37
QCA0001 FIN DE DATOS
P SALTO FOCTR1 LINEA CABECERA FORMACION E CASTELLANO L 1: 3
C 1: 243
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----
01 @@@@@@@@ BANCO PROVINCIAL @@@@@@@@
02
03 COD-TRAN__________DESCRIPCION___________________FORMATO_______________




F2 Idioma F3 Salvar F4 Izqda. F5 Drcha. F7 Re.Pag F8 Av.Pag Cl Salir


Preformatos FOCTR1 ( F5 Lineas) Pantalla 2

0001 OM12 ARQUITEC. PLATAFORMA TP01 21/05/96
0100 CICSUSER MANTTO. DE LINEAS DE PREFORMATOS QMPT 09:44:39
QCA0001 FIN DE DATOS
P SALTO FOCTR1 LINEA CABECERA FORMACION CASTELLANO L 1: 3
C 78: 243
+----8----+----9----+---- CAMP-01 T ED CAMP-02 T ED CAMP-03 T ED
01 QGFHACO S QGUSUA S
02
03




F2 Idioma F3 Salvar F4 Izqda. F5 Drcha. F7 Re.Pag F8 Av.Pag Cl Salir



Preformato FOCTR2

0001 OM12 ARQUITEC. PLATAFORMA TP01 21/05/96
0100 CICSUSER MANTENIMIENTO DE PREFORMATOS QMPM 09:45:50
NEW COPY
Preformato ........... = FOCTR2 : LINEA DETALLE FORMACION
Idioma ............... = E CASTELLANO
Margen izquierdo ..... = 0 ____VARIABLES USADAS____
Del sistema ........ 0
Campos de LOCAL .... 0
Maximo ancho columna . = 49 Campos de HOST ..... 3
Numero de lineas ..... = 1 ---
Num. caracteres aprox. = 49 Total 3

Modelo.........= FOCTR2
____________________STAMPS____________________
Alta ........... = 20/05/96 CICSUSER
Ult. Modific ... = 21/05/96 06:01 CICSUSER
Primer Uso ..... = 21/05/96
Ultimo Uso ..... = 21/05/96 FORMCTR
Transac. Ult.USO = FOTC CONSULTA TRANSACCION FORMACION

F2 Modificar F3 Alta F4 Limpiar F5 Lineas F6 Baja BORRA Salir
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 119

Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 120
Preformato FOCTR2 ( F5 Lineas) Pantalla 1

0001 OM12 ARQUITEC. PLATAFORMA TP01 21/05/96
0100 CICSUSER MANTTO. DE LINEAS DE PREFORMATOS QMPT 09:46:15
QCA0001 FIN DE DATOS
P SALTO FOCTR2 LINEA DETALLE FORMACION E CASTELLANO L 1: 1
C 1: 243
----+----1----+----2----+----3----+----4----+----5----+----6----+--
01 @@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@



F2 Idioma F3 Salvar F4 Izqda. F5 Drcha. F7 Re.Pag F8 Av.Pag Cl Salir




Preformato FOCTR2 ( F5 Lineas) Pantalla 2

0001 OM12 ARQUITEC. PLATAFORMA TP01 21/05/96
0100 CICSUSER MANTTO. DE LINEAS DE PREFORMATOS QMPT 09:46:34
QCA0001 FIN DE DATOS
P SALTO FOCTR2 LINEA DETALLE FORMACION E CASTELLANO L 1: 1
C 78: 243
+----8----+----9----+---- CAMP-01 T ED CAMP-02 T ED CAMP-03 T ED
01 CODTRA H DESCRIP H FORMA H



F2 Idioma F3 Salvar F4 Izqda. F5 Drcha. F7 Re.Pag F8 Av.Pag Cl Salir


Formato Salida FOMCTR1

0001 OM08 ARQUITEC. PLATAFORMA TP01 21/05/96
0100 CICSUSER MANTENIMIENTO DE FORMATOS QMFM 22:16:31

Formato ........... = FOMCTR1 : FORMATO CABECERA FORMACION NEW COPY

Tipo (E/S/A) ...... = S Salida
Delimit. automatico = S (S/N) ____ESTADO________
(P/D) = D Definitiva
Num. campos .............. = 0
Longitud copy ............ = 0
Relacion campos / Ver.PS/2 = No / No
Rutinas Verific./ V.Listos = No / No
Idioma ............. = E CASTELLANO
Formato modelo: FOMCTR1
__________ SALIDA ________
Preformato de Pantalla ... = FOCTR1 / / (STD / 4700 / 5935)
Preformato de Documento .. = / / (STD / Doc. / NLin)
Mapa para LOCAL .......... = / (PS/2 / 4700)
Conexion Preform. =
______ALTA_______ _____ULTIMA MODIF______ __P.USO_ ___ULT.USO___
CICSUSER 21/05/96 CICSUSER 21/05/96 03:35 21/05/96 21/05/96 FOTC

F2 Modificar F3 Alta F4 Limpiar F5 Campos F6 Baja F7 Preform BORRA
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 121

Formato Salida FOMCTR2

0001 OM08 ARQUITEC. PLATAFORMA TP01 21/05/96
0100 CICSUSER MANTENIMIENTO DE FORMATOS QMFM 22:17:53

Formato .......... = FOMCTR2 : FORMATO DETALLE FORMACION NEW COPY

Tipo (E/S/A) ...... = S Salida
Delimit. automatico = S (S/N) ___ESTADO________
(P/D) = D Definitiva
Num. campos .............. = 3
Longitud copy ............ = 60
Relacion campos / Ver.PS/2 = No / No
Rutinas Verific./ V.Listos = No / No
Idioma ............. = E CASTELLANO
Formato modelo: FOMCTR2
__________ SALIDA ________
Preformato de Pantalla ... = FOCTR2 / / (STD / 4700 / 5935)
Preformato de Documento .. = / / (STD / Doc. / NLin)
Mapa para LOCAL .......... = / (PS/2 / 4700)
Conexion Preform. =
______ALTA_______ _____ULTIMA MODIF______ __P.USO_ ___ULT.USO___
CICSUSER 21/05/96 CICSUSER 21/05/96 03:37 21/05/96 21/05/96 FOTC

F2 Modificar F3 Alta F4 Limpiar F5 Campos F6 Baja F7 Preform BORRA




Formato Salida FOMCTR2 Campos del Formato



0001 OM08 ARQUITEC. PLATAFORMA TP01 21/05/96
0100 CICSUSER LISTADO DE CAMPOS QMCL 22:18:26
QCA0001 FIN DE DATOS
P SALTO FORMATO: FOMCTR2 FORMATO DETALLE FORMACION L 1: 3
CAMPO____LITERAL__________DELIM_ATT__LNG__TIP_RUTINA__VRUT_LIT4700_AYU
01 CODTRA CODIGO TRANSACCION 01 A 4 S N N
02 DESCRIP DESCR. TRANSACCION 02 A 27 S N N
03 FORMA FORMATO ASOCIADO 03 A 8 S N N




F2 Mantto F3 Alta F4 AyAct F6 Relac 10 Mover F7 Re.Pag F8 Av.Pag Cl

Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 122

Formato de entrada FOMCTR

0001 OM12 ARQUITEC. PLATAFORMA TP01 21/05/96
0100 CICSUSER MANTENIMIENTO DE FORMATOS QMFM 09:34:17

Formato .......... = FOMCTR : INGRESO CONSULTA TRANSACCIONES NEW COPY

Tipo (E/S/A) ...... = E Entrada
Delimit. automatico = N (S/N) ___ESTADO________
(P/D) = D Definitiva
Num. campos .............. = 2
Longitud copy ............ = 42
Relacion campos / Ver.PS/2 = No / No
Rutinas Verific./ V.Listos = No / No
Idioma ............. = E CASTELLANO
Formato modelo: FOMCTR
__________ SALIDA ________
Preformato de Pantalla ... = / / (STD / 4700 / 5935)
Preformato de Documento .. = / / (STD / Doc. / NLin)
Mapa para LOCAL .......... = / (PS/2 / 4700)
Conexion Preform. =
______ALTA_______ _____ULTIMA MODIF_____ __P.USO_ ___ULT.USO___
CICSUSER 20/05/96 CICSUSER 20/05/96 12:19 21/05/96 21/05/96 FOTC

F2 Modificar F3 Alta F4 Limpiar F5 Campos F6 Baja F7 Preform BORRA



Formato de entrada FOMCTR Campos del Formato

0001 OM12 ARQUITEC. PLATAFORMA TP01 21/05/96
0100 CICSUSER LISTADO DE CAMPOS QMCL 09:34:55
QCA0001 FIN DE DATOS

P SALTO FORMATO: FOMCTR INGRESO CONSULTA TRANSACCIONES L 1: 2

CAMPO____LITERAL__________DELIM_ATT__LNG__TIP_RUTINA__VRUT_LIT4700_AYU
01 TRANSAC TRANSACCION 01 A 4 R N N
02 LIBRE LIBRE 02 A 20 O N N








F2 Mantto F3 Alta F4 AyAct F6 Relac 10 Mover F7 Re.Pag F8 Av.Pag Cl

Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 123

Transaccin FOTC


0001 OM12 ARQUITEC. PLATAFORMA TP01 21/05/96
0100 CICSUSER MANTENIMIENTO DE TRANSACCIONES QMTM 09:33:50

Transaccion ..... = FOTC : CONSULTA TRANSACCION FORMACION NEW COPY
Idioma .......... = E CASTELLANO
Aplicacion ...... = FO FORMACION __ESTADO_________
Programa ........ = FO2CCTR (A/D) A Activada
Plan DB2 ........ = BNQMD __________ALTAMIRA___________
Formato/Mapa ent. = FOMCTR / Tipo Altamira.... = N (N/E/M)
Codigo de ayuda.. = Entrada.......... =
Longitud Commarea = 0000
Camb.Ses/Recuper. = N / N (S/N):(S/N) ______INFORM.ADICIONAL_____
Tipo (Trans/Conv) = T (T/C) Transac. local .. = FOTC
Contable / Cajero = N : (S/N) : (A/B/ ) Documentos ...... =
Tipos operacion.. = C (A-B-M-C-E-P-O) Diario Elec. .... = N (S/N)
Inicio desde TERM = S (S/N) APB 4700 ........ = S (S/N)
Inicio por Arquit.= N (S/N) ______________STAMPS__________________
PFs standard = S (S/N) Cambio estado = 20/05/96 12:21 CICSUSE
Actualizar tecleo = S (S/N) Alta ........ = 20/05/96 CICSUSE
Pintar fast-path = N (S/N) Ult.mod. .... = 20/05/96 12:21 CICSUSE
Pfs por Arquitec.= N (S/N) Primer Uso .. = 21/05/96
Tiene ayuda activa= N (S/N) Ultimo Uso .. = 21/05/96
F2 Modif F3 Alta F4 Limpia F5 Frmto F6 Baja F8 Pfs. 10 Altam. CL Borra


Se debe tomar en cuenta que para informar los formatos en una transaccin
de tipo no conversacional, como en nuestro ejemplo, el proceso de
inscripcin se efectua manualmente, es decir no se utiliza la facilidad
TSO QM Opcion 5 como se indic previamente, para informar los formatos ya
que no hay mapas BMS involucrados.

Despus de haber dado de alta los formatos, tenemos que generar una COPY
para incluir en nuestro programa de aplicacin a traves del comando TSO
QM Opcion 3 tenemos como resultado las sgtes estructuras :

******************************************************************
* FOMCTR :FORMATO DE ENTRADA.INGRESO CONSULTA TRANSACCIONES NC= 2
* TRANSAC TRANSACCION 16 *
* LIBRE LIBRE 23 *
******************************************************************
01 FONCCTR.
05 CTR-RELLENO PIC X(012).
05 CTR-TRANSACL PIC S9(4) COMP.
05 CTR-TRANSACA PIC X(001).
05 CTR-TRANSAC PIC X(004).
05 CTR-LIBREL PIC S9(4) COMP.
05 CTR-LIBREA PIC X(001).
05 CTR-LIBRE PIC X(020).

* LONGITUD TOTAL DEL REGISTRO EN BYTES : 42
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 124

*****************************************************************
* FOMCTR2 :FORMATO DE SALIDA .FORMATO DETALLE FORMACION NC= 3
* CODTRA CODIGO TRANSACCION 16 *
* DESCRIP DESCR. TRANSACCION 23 *
* FORMA FORMATO ASOCIADO 53 *
******************************************************************
01 FONCCTR2.
05 TR2-RELLENO PIC X(012).
05 TR2-CODTRAL PIC S9(4) COMP.
05 TR2-CODTRAA PIC X(001).
05 TR2-CODTRA PIC X(004).
05 TR2-DESCRIPL PIC S9(4) COMP.
05 TR2-DESCRIPA PIC X(001).
05 TR2-DESCRIP PIC X(027).
05 TR2-CODTRAL PIC S9(4) COMP.
05 TR2-CODTRAA PIC X(001).
05 TR2-CODTRA PIC X(004).
05 TR2-DESCRIPL PIC S9(4) COMP.
05 TR2-DESCRIPA PIC X(001).
05 TR2-DESCRIP PIC X(027).
05 TR2-FORMAL PIC S9(4) COMP.
05 TR2-FORMAA PIC X(001).
05 TR2-FORMA PIC X(008).

******************************************************************
*
* LONGITUD TOTAL DEL REGISTRO EN BYTES : 60 *
*
******************************************************************

Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 125

5.2.2 Anlisis del fuente

A continuacin se reproduce el fuente de la transaccin:

* FO2CCTR: CONSULTA DE DATOS DE UNA TRANSACCION. FORMACION.
******************************************************************
* *
* IDENTIFICATION DIVISION *
* *
******************************************************************
IDENTIFICATION DIVISION.
*
PROGRAM-ID. FO2CCTR.
AUTHOR. GRUPO ARQUITECTURA BC.
DATE-WRITTEN. 21/05/96.
******************************************************************
* FO2CCTR *
* ------- *
* *
* ESTE PROGRAMA OFRECE INFORMACION GENERAL ACERCA DE LA *
* TRANSACCION QUE SE PIDE POR PANTALLA. *
* *
* TABLAS DB2: *
* *
* NOMBRE E/S DESCRIPCION *
* -------- ----- ------------------------------------ *
* FODTCCT S TABLA DE TRANSACCIONES DE FORMACION *
* FODTDTA S TABLA DE DESCRIPCIONES DE FORMACION *
* *
******************************************************************
* L O G D E M O D I F I C A C I O N E S *
******************************************************************
* AUTOR FECHA DESCRIPCION *
* ------- ------- ---------------------------------------------- *
* USERID DDMMMAA *
* *
* *
******************************************************************
*
******************************************************************
* *
* ENVIRONMENT DIVISION *
* *
******************************************************************
ENVIRONMENT DIVISION.

CONFIGURATION SECTION.

SOURCE-COMPUTER.
IBM-3090.
OBJECT-COMPUTER.
IBM-3090.
SPECIAL-NAMES.
DECIMAL-POINT IS COMMA.
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 126
******************************************************************
* *
* DATA DIVISION *
* *
******************************************************************
DATA DIVISION.
******************************************************************
* *
* WORKING-STORAGE SECTION *
* *
******************************************************************

WORKING-STORAGE SECTION.
********** IDENTIFICADOR DE INICIO DE WORKING STORAGE **********

01 LT-INICIO-WS.

05 LT-INICIO-W PIC X(40) VALUE
'*** INICIO WORKING STORAGE (FO2CCTR) ***'.
/
********************* SQLCA ************************************

EXEC SQL
INCLUDE SQLCA
END-EXEC.
********** DECLARES DE TABLAS DB2 ******************************

EXEC SQL
INCLUDE FOEDCCT
END-EXEC.
********** COPYS COBOL DE TABLAS DB2 ***************************

EXEC SQL
INCLUDE FOECCCT
END-EXEC.
*************** COPYS COBOL ************************************
*
01 QGECABC-01.
*
COPY QGECABC.
******************************************************************
*
* CONSTANTES
*
******************************************************************
01 C-CONSTANTES.
05 C-ASTERISCO PIC X(01) VALUE '*'.
05 C-SUBRAYA PIC X(01) VALUE '_'.
05 C-SPACE PIC X(01) VALUE ' '.
05 C-NROTRA PIC 9(02) VALUE 18.
05 C-ERROR-WRITEQ PIC X(20) VALUE
'ERROR CICS WRITEQ '.
05 C-ERROR-IGNORE PIC X(20) VALUE
'ERROR CICS IGNORE '.
05 C-ERROR-DELETEQ PIC X(20) VALUE
'ERROR CICS DELETEQ '.
05 C-FECHA-INICIAL PIC X(10) VALUE
'0001-01-01'.
*
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 127
******************************************************************
*
* W-VARIABLES
*
******************************************************************
* W-TRANSAC CODIGO DE TRANSACCION
* W-CONTADOR PARA VERIFICAR CUANTOS FECTH SE HICIERON
* W-NAMETS. NOMBRE DE LA COLA TS CON LOS DATOS DE SALIDA
* W-DATOS-TS REGISTRO DE LA COLA TS
* W-NOM-FORMATO NOMBRE DEL FORMATO ASOCIADO AL REGISTRO
* W-COPY-BMS DATOS DEL REGISTRO PARA EL FORMATO
* W-CABECERA-TS REGISTRO PARA LA CABECERA DEL AL COLA TS
* W-NOM-CAB NOMBRE DEL FORMATO DE CABECERA
* W-LONG-DATOS-TS LONGITUD DE LOS DATOS DEL REGISTRO TS
* >> DOCUMENTAR LA NUEVAS VARIABLES
*
******************************************************************
*
01 W-VARIABLES.
05 W-TRANSAC PIC X(4) VALUE SPACES.
05 W-CONTADOR PIC 9(2) VALUE ZERO.
05 W-NAMETS.
10 FILLER PIC X(4) VALUE '+DC1'.
10 W-TERM-TS PIC X(4) VALUE SPACES.
*
05 W-DATOS-TS.
10 W-NOM-FORMATO PIC X(8) VALUE SPACES.
10 W-COPY-BMS PIC X(999) VALUE SPACES.
05 W-CABECERA-TS.
10 W-NOM-CAB PIC X(8) VALUE SPACES.
*
05 W-LONG-DATOS-TS PIC S9(4) COMP VALUE ZEROES.
******************************************************************
*
* INDICADORES
*
******************************************************************
01 W-SWITCH.
*
05 SW-FIN-CURSOR PIC X(01) VALUE 'N'.
88 SI-FIN-CURSOR VALUE 'S'.
88 NO-FIN-CURSOR VALUE 'N'.
05 SW-PIDEN-VARIOS PIC X(01) VALUE 'N'.
88 SI-PIDEN-VARIOS VALUE 'S'.
88 NO-PIDEN-VARIOS VALUE 'N'.
05 SW-RELLENAR-CABECERA PIC X(01) VALUE 'S'.
88 SI-RELLENAR-CABECERA VALUE 'S'.
88 NO-RELLENAR-CABECERA VALUE 'N'.
********** COPY DE LA COLA DE SALIDA ***********
COPY FONCCTR2.
********** IDENTIFICADOR DE FINAL DE WORKING STORAGE ***********

01 LT-FINAL-WS.

05 LT-FINAL-W PIC X(40) VALUE
'*** FINAL WORKING STORAGE (FO2CCTR) ***'.
/
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 128
******************************************************************
* *
* LINKAGE SECTION *
* *
******************************************************************
LINKAGE SECTION.

01 DFHCOMMAREA.
COPY QGECCAA.

COPY FONCCTR.
/
******************************************************************
* *
* PROCEDURE DIVISION *
* *
******************************************************************
PROCEDURE DIVISION.

PERFORM 10000-INICIO.

PERFORM 20000-PROCESO.

PERFORM 30000-FINAL.
/
******************************************************************
* *
* 10000-INICIO *
* *
* EN ESTE PARRAFO SE DIRECCIONA LA PANTALLA DE ENTRADA, Y *
* SE INICIALIZAN LAS VARIABLES DE LA COMMAREA DE LA ARQUITEC- *
* TURA (CAA) CON LOS VALORES POR DEFECTO. *
* *
******************************************************************
10000-INICIO.

EXEC CICS
IGNORE CONDITION ERROR
END-EXEC

IF EIBRESP EQUAL DFHRESP(NORMAL)
CONTINUE
ELSE
MOVE C-ERROR-IGNORE TO ABC-REFERENCIA
PERFORM 999-ERROR-CICS
END-IF
*
SET ADDRESS OF FONCCTR TO CAA-PTR-COPYIN
*
INITIALIZE QGECABC
MOVE EIBTRMID TO W-TERM-TS
PERFORM 11000-BORRAR-TS
MOVE SPACES TO CAA-CODTRAN-SIG
SET CAA-88-ACCION-TERMINAL TO TRUE.
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 129
******************************************************************
* *
* 11000-BORRAR-TS *
* *
* SE BORRA EL +DC1 PARA NO SACAR INFORMACIONES ERRONEAS DE *
* POSIBLES EJECUCIONES ANTERIORES. *
* *
******************************************************************
11000-BORRAR-TS.
EXEC CICS
DELETEQ TS
QUEUE(W-NAMETS)
END-EXEC
*
IF EIBRESP EQUAL DFHRESP(NORMAL) OR DFHRESP(QIDERR)
CONTINUE
ELSE
MOVE C-ERROR-DELETEQ TO ABC-REFERENCIA
PERFORM 999-ERROR-CICS
END-IF.

******************************************************************
* *
* 20000-PROCESO *
* *
* VALIDACION DE LOS DATOS DE ENTRADA. *
* *
* ACCESO A LA TABLA DE TRANSACCIONES DE FORMACION. *
* ESCRITURA DEL +DC1 *
* *
******************************************************************
20000-PROCESO.
PERFORM 21000-VALIDAR-ENTRADA
*
IF NO-PIDEN-VARIOS
PERFORM 22000-ACCEDER-FODTCCT
PERFORM 23000-RELLENAR-FORMATO
PERFORM 24000-ESCRIBIR-TS
ELSE
PERFORM 25000-DECLARAR-ABRIR-CURCCT
PERFORM 26000-LEER-CURCCT
PERFORM UNTIL SI-FIN-CURSOR OR
(W-CONTADOR GREATER C-NROTRA)
PERFORM 23000-RELLENAR-FORMATO
PERFORM 24000-ESCRIBIR-TS
PERFORM 26000-LEER-CURCCT
END-PERFORM
PERFORM 27000-CERRAR-CURCCT
END-IF.
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 130
/
******************************************************************
* *
* 21000-VALIDAR-ENTRADA *
* *
* SE VERIFICA QUE NO VENGAN LOW-VALUES EN TRANSACCION *
* *
* SE DETERMINA SI VIENE UN ASTERISCO EN LA TRANSACCION,ESO *
* SIGNIFICA QUE ESTA SOLICITANDO CONSULTA DE VARIOS TRANXS *
******************************************************************
21000-VALIDAR-ENTRADA.

INSPECT CTR-TRANSAC REPLACING ALL LOW-VALUES BY C-SPACE

IF CTR-TRANSAC EQUAL SPACES
MOVE 'QME0015' TO CAA-COD-ERROR
MOVE '@QM000011' TO CAA-VAR1-ERROR
PERFORM 30000-FINAL
END-IF

MOVE CTR-TRANSAC TO W-TRANSAC
INSPECT W-TRANSAC TALLYING W-CONTADOR FOR ALL C-ASTERISCO

IF W-CONTADOR GREATER THAN 0
SET SI-PIDEN-VARIOS TO TRUE
INSPECT W-TRANSAC REPLACING ALL C-ASTERISCO BY C-SPACE
INSPECT W-TRANSAC REPLACING ALL C-SPACE BY C-SUBRAYA
END-IF

MOVE ZERO TO W-CONTADOR.

******************************************************************
* *
* 22000-ACCEDER-FODTCCT *
* *
* SE SELECCIONA EN LA TABLA DE TRANSACCIONES EL REGISTRO DEL *
* LA TRANSACCION *
* *
* SI NO EXISTE, SE INFORMA EL CORRESPONDIENTE CODIGO DE ERROR. *
* *
******************************************************************
22000-ACCEDER-FODTCCT.

EXEC SQL
SELECT CCT_TRANID ,
CCT_DESCRIP ,
CCT_ENTRADA
INTO :CCT-TRANID ,
:CCT-DESCRIP ,
:CCT-ENTRADA
FROM FODTCCT
WHERE CCT_TRANID = :W-TRANSAC
END-EXEC
*
EVALUATE SQLCODE
WHEN 0
CONTINUE
WHEN +100
MOVE 'QGE0044' TO CAA-COD-ERROR
MOVE CTR-TRANSAC TO CAA-VAR1-ERROR
PERFORM 30000-FINAL
WHEN OTHER
MOVE 'FODTCCT' TO ABC-OBJETO-ERROR
PERFORM 9999-ABEND-DB2
END-EVALUATE.
/
******************************************************************
* *
* 23000-RELLENAR-FORMATO *
* *
* SE LLENA EL FORMATO CON LOS DATOS OBTENIDOS EN EL SELECT *
* DEL PARRAFO 22000 *
* *
******************************************************************
23000-RELLENAR-FORMATO.
MOVE CCT-TRANID TO TR2-CODTRA
MOVE CCT-DESCRIP TO TR2-DESCRIP
MOVE CCT-ENTRADA TO TR2-FORMA.

******************************************************************
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 131
* *
* 24000-ESCRIBIR-TS *
* *
* SE GRABA LA COLS +DC1 CON LOS DATOS DE RELLENAR FORMATO *
* SE GRABA LA CABECERA LA PRIMERA VEZ *
* *
******************************************************************
24000-ESCRIBIR-TS.
IF SI-RELLENAR-CABECERA
PERFORM 24000-GRABAR-CABECERA
SET NO-RELLENAR-CABECERA TO TRUE
END-IF.
MOVE ZEROS TO W-LONG-DATOS-TS
MOVE 'FOMCTR2' TO W-NOM-FORMATO
MOVE FONCCTR2 TO W-COPY-BMS
MOVE LENGTH OF FONCCTR2 TO W-LONG-DATOS-TS
ADD 8 TO W-LONG-DATOS-TS
EXEC CICS
WRITEQ TS
QUEUE(W-NAMETS)
FROM(W-DATOS-TS)
LENGTH(W-LONG-DATOS-TS)
MAIN
END-EXEC

IF EIBRESP EQUAL DFHRESP(NORMAL)
CONTINUE
ELSE
MOVE C-ERROR-WRITEQ TO ABC-REFERENCIA
PERFORM 999-ERROR-CICS
END-IF.
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 132
******************************************************************
* *
* 24000-GRABAR-CABECERA *
* *
******************************************************************
24000-GRABAR-CABECERA.
MOVE ZEROS TO W-LONG-DATOS-TS
MOVE 'FOMCTR1' TO W-NOM-CAB.
ADD 8 TO W-LONG-DATOS-TS
EXEC CICS
WRITEQ TS
QUEUE(W-NAMETS)
FROM(W-CABECERA-TS)
LENGTH(W-LONG-DATOS-TS)
MAIN
END-EXEC

IF EIBRESP EQUAL DFHRESP(NORMAL)
CONTINUE
ELSE
MOVE C-ERROR-WRITEQ TO ABC-REFERENCIA
PERFORM 999-ERROR-CICS
END-IF.

/
******************************************************************
* *
* 25000-DECLARAR-ABRIR-CURCCT *
* *
* DECLARA UN CURSOR PARA ACCEDER A LAS TRANSACCIONES SELECC. *
* *
******************************************************************
25000-DECLARAR-ABRIR-CURCCT.
*
EXEC SQL
DECLARE CURCCT CURSOR FOR
SELECT CCT_TRANID ,
CCT_DESCRIP ,
CCT_ENTRADA
FROM FODTCCT
WHERE CCT_TRANID LIKE :W-TRANSAC
* ORDER BY CCT_TRANID
END-EXEC.
*
EXEC SQL
OPEN CURCCT
END-EXEC.
*
EVALUATE SQLCODE
WHEN 0
CONTINUE
WHEN OTHER
MOVE 'OPEN FODTCCT' TO ABC-OBJETO-ERROR
PERFORM 9999-ABEND-DB2
END-EVALUATE.
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 133

******************************************************************
* *
* 26000-LEER-CURCCT *
* *
* FETCH DEL CURSOR QUE SE DECLARO PARA ACCEDER A LOS *
* TRANSACCIONES DE UNA ENTIDAD/CENTRO. *
* *
******************************************************************
26000-LEER-CURCCT.
*
EXEC SQL
FETCH CURCCT
INTO :CCT-TRANID ,
:CCT-DESCRIP ,
:CCT-ENTRADA
END-EXEC
EVALUATE SQLCODE
WHEN ZERO
CONTINUE
WHEN (+100)
SET SI-FIN-CURSOR TO TRUE
WHEN OTHER
MOVE 'FETCH FODTCCT' TO ABC-OBJETO-ERROR
PERFORM 9999-ABEND-DB2
END-EVALUATE.

ADD 1 TO W-CONTADOR.


******************************************************************
* *
* 27000-CERRAR-CURCCT *
* *
* CIERRA EL CURSOR QUE HABIAMOS DECLARADO. *
* *
******************************************************************
27000-CERRAR-CURCCT.
*
EXEC SQL
CLOSE CURCCT
END-EXEC.
*
EVALUATE SQLCODE
WHEN ZERO
CONTINUE
WHEN OTHER
MOVE 'CLOSE FODTCCT' TO ABC-OBJETO-ERROR
PERFORM 9999-ABEND-DB2
END-EVALUATE.
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 134
/
******************************************************************
* *
* 9999-ABEND-DB2 *
* *
* SE LLAMA AL PROGRAMA QG1CABC PARA QUE ESCRIBA EN LA *
* IMPRESORA DE SEGUIMIENTO E INSERTE UNA LINEA EN LA TABLA *
* DE LOG, SIN ABENDAR. *
* *
******************************************************************
9999-ABEND-DB2.
*
MOVE 'S' TO ABC-ABEND
MOVE 'FO2CCTR' TO ABC-PROGRAMA
MOVE SQLCODE TO ABC-SQLCODE
MOVE SQLERRM TO ABC-SQLERRM
*
EXEC CICS
LINK PROGRAM ('QG1CABC')
COMMAREA (QGECABC)
END-EXEC
*
IF EIBRESP EQUAL DFHRESP(NORMAL)
CONTINUE
ELSE
MOVE 'LINK QG1CABC' TO ABC-OBJETO-ERROR
PERFORM 999-ERROR-CICS
END-IF.
/
******************************************************************
* *
* 999-ERROR-CICS *
* *
* ERROR CICS NO CONTROLADO, SE LLAMA AL PROGRAMA QG1CABC *
* PARA QUE ABENDE DESPUES DE MANDAR UN MENSAJE A LA IMPRESORA *
* DE SEGUIMIENTO E INSERTAR UNA FILA EN LA TABLA DE LOG. *
* *
******************************************************************
*
999-ERROR-CICS.
*
MOVE 'S' TO ABC-ABEND
MOVE 'FO2CCTR' TO ABC-PROGRAMA
MOVE EIBFN TO ABC-EIBFN
MOVE EIBRCODE TO ABC-EIBRCODE
MOVE EIBRSRCE TO ABC-EIBRSRCE
MOVE EIBRESP TO ABC-EIBRESP1
MOVE EIBRESP2 TO ABC-EIBRESP2
*
EXEC CICS
LINK PROGRAM ('QG1CABC')
COMMAREA (QGECABC)
END-EXEC.
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 135
*
/
******************************************************************
* *
* 30000-FINAL *
* *
* INFORMAR LOS CAMPOS NECESARIOS EN LA QGECCAA PARA QUE LA *
* ARQUITECTURA GESTIONE EL MENSAJE DE SALIDA. *
* RETURN CICS *
* *
******************************************************************
30000-FINAL.
PERFORM 31000-INFORMAR-CAA
PERFORM 999-INFORMAR-ANALITICA
EXEC CICS
RETURN
END-EXEC.
/
******************************************************************
* *
* 31000-INFORMAR-CAA *
* *
* SI VIENE DEL PROGRAMA SIN ERRORES DE INFORMA EL TIPO *
* DE SALIDA A LA ARQUITECTURA PARA QUE LA GESTIONE *
******************************************************************
31000-INFORMAR-CAA.
IF CAA-COD-ERROR EQUAL SPACES
MOVE '+DC1' TO CAA-DESTINO(1)
MOVE 'P' TO CAA-IND-PANDOC(1)
END-IF.
/
******************************************************************
* *
* 999-INFORMAR-ANALITICA *
* *
* SE INFORMAN LOS CAMPOS DEL SEGMENTO CAA-ANALITICA DE LA *
* COMMAREA QGECCAA, CON LOS DATOS DE LA OPERACION QUE SERVIRAN *
* A ANALITICA. *
* *
******************************************************************
999-INFORMAR-ANALITICA.
*
MOVE CAA-ENTIDAD TO CAA-ENTIDAD-ANA
MOVE CAA-CENTRO-CONT TO CAA-CENTRO-ANA
SET CAA-88-TIOPER-CONSULTA TO TRUE
SET CAA-88-CONTABLE-NO TO TRUE.


Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 136
5.2.3 Gestin del Journal y Totales

La Arquitectura mantiene dos tablas que registran los movimientos
contables que se producen en el proceso on-line diario, tanto en la
divisa que se establece por defecto para la entidad como en aquellas
otras con las que se opere en una sesin. Estas tablas son:

* Tabla de Journal (QGDTJOU)
* Tabla de Totales Contables (QGDTTOT).

Para que la Arquitectura grabe la correspondiente fila de Journal, el
programa de aplicacin debe escribir una cola TS llamada

'+TOTxxxx' (xxxx: cdigo de terminal, es decir, campo
TERMINAL de la commarea de la Arquitectura -CAA-)

con el siguiente contenido por fila (esta plantilla queda recogida en el
manual tcnico de la Arquitectura con el nombre QGDTJUA {copy QGECJUA}):


* ENTIDAD: Cdigo de la entidad contable en 4 caracteres.

* CENTRO: Cdigo del centro contable en 4 caracteres.

* NETNAME: Cdigo del terminal contable en red en 8 caracteres.

* APLICACION: Cdigo de la aplicacin en 2 caracteres. (*)

* SECUENCIA: Nmero de secuencia para cada aplicacin. (*)

* IMPORTE: En formato numrico empaquetado de 7 caracteres de
longitud.

* INDICADOR DEBE O HABER: Indicador de si se debe acumular al debe o
al haber del total.

* INDICADOR CAJA O COMPENSACION: Indicador de si se debe acumular a
caja o compensacin del total.

* INDICADOR DE ACUMULAR TOTALES: Con valor 'S' o 'N', si se quiere
que se acumule en totales las cantidades ('S') o slamente quiere
que se escriba el journal ('N'). Tiene 1 carcter de longitud.

* PRODUCTO: Clave de producto asociado en 20 caracteres.

* REFERENCIA: Referencia de la operacin en la aplicacin, en 20
caracteres.

* MAS INFORMACION: Ms informacin adicional de la operacin en 20
caracteres. Para uso posterior por parte de las aplicaciones.

* SUBCLASIFICACION CONTABLE: En 3 caracteres.

* FECHA CONTABLE: Fecha contable de la aplicacin en formato DB2 DD-
MM-AAAA. La Arquitectura validar que la fecha contable aqu
informada coincide con la que est tratando la Arquitectura.

* DATOS PROPIOS DE LA APLICACION: Informacin propia para que le sea
grabada en la tabla de Journal por la Arquitectura. Puede tener
entre 0 y 750 caracteres de longitud.

(*) La aplicacion + un nmero de secuencia constituye la clave del
total contable. Si una aplicacin desea que se acumulen totales,
debe tener esta clave (aplicacin + secuencia) dada de alta en
la tabla de totales de referencia (QGDTRTO).
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 137

Para las aplicaciones que se definan como MULTIDIVISA, se debern
informar los campos necesarios de la siguiente manera:

* IMPORTE: Se informar con un valor 0.

* DATOS PROPIOS DE LA APLICACION: Dentro de este rea de informacin
propia de la aplicacin se debern incluir los valores siguientes:

* DIVISA: Cdigo de la divisa en la que se ha hecho la
operacin. Se debe informar siempre aunque se haya realizado en
la moneda por defecto de la entidad. Es de 3 posiciones
alfanumricas.
* IMPORTE-DIV: Valor numrico de la operacin en la divisa
indicada. Es un campo empaquetado que recoge un nmero de 15
enteros y 2 decimales con signo.
* El resto de la longitud del campo de datos propios se
utilizar para lo que requiera la aplicacin. Con
posterioridad, la Arquitectura se encargar de hacer las
transformaciones necesarias para grabar en la tabla del journal
slo esta informacin dentro del campo de datos propios, puesto
que los otros valores utilizados (divisa e importe) se grabarn
en los campos disponibles a tal efecto.

Se pueden escribir en la cola TS +TOTXXXX tantos registros como se desee,
resultando grabadas en el journal tantas filas como registros haya en la
cola TS.

La Arquitectura, antes de grabar el contenido de la cola TS en el
Journal, valida que la operacin sea contable (es decir, el indicador
CONTABLE de la CAA tenga valor 'S'). Adems, si la aplicacin est
definida como NO multidivisa, tomar como divisa de la operacin la que
se haya establecido por defecto para cada entidad.

Si adems de grabar en el Journal, la aplicacin desea mantener
sumarizados los totales, deber poner el indicador de "acumular totales"
de la cola TS con el valor 'S', y la Arquitectura acumular en el total
correspondiente de la tabla de Totales los importes y el nmero de
operaciones, en la divisa de la operacin.

Debido al nmero de totales que se deben generar para cada entidad y para
evitar problemas de bloqueos en las actualizaciones en cada operacin
contable, la tabla diaria de totales se preformatea para cada terminal y
tipo de total en la cadena batch de Arquitectura, dejando preparados
aquellos totales considerados como de preformateo esttico en la divisa
que se toma como defecto para la entidad.
Durante la sesin contable se crearn aquellos totales que estn
definidos como de creacin dinmica, junto con todos los necesarios en
las divisas distintas de la tomada por defecto con las que se vayan
realizando operaciones en cada terminal.

Asimismo, si se produce el alta de un nuevo terminal o un nuevo tipo de
referencia de totales, los totales contables se irn creando a medida que
se necesiten, independientemente de la divisa de la operacin a realizar.

Por ltimo indicar que, en dilogos conversacionales, la Arquitectura
grabar Journal y Totales solamente cuando la accin que devuelve el
programa de aplicacin sea "Terminal".



Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 138
6. Cambio de sesin

6.1 Cambio de sesin

Se denomina cambio de sesin al proceso en el que se realiza el cambio de
fecha contable en una Entidad.

El cambio de sesin en la Arquitectura se realiza de manera centralizada
para todas las aplicaciones, y se lleva a cabo mediante una transaccin
de cambio de sesin (de cdigo QGCS).

En esta transaccin de cambio de sesin, se van llamando a todas las
aplicaciones, para que se percaten de que se est realizando el cambio de
fecha contable, y puedan llevar a cabo cualquier tipo de procesos que
crean necesarios en dicha situacin. Tiene como campo de entrada la
entidad en la que se quiere realizar el cambio de sesin (que si no se
informa se tomar la asociada al terminal desde el que se ejecuta).

Para ello, la Arquitectura tiene una tabla llamada "de cambio de sesin"
(QGDTCSE), que contiene la informacin de todos los programas o
transacciones a los que se debe llamar durante la transaccin QGCS.


El cambio de sesin consta de dos fases:

- FASE PRELIMINAR (1): En la cual se realiza cualquier tipo de
verificacin para poder continuar con el cambio de sesin.

- FASE FINAL (2): En la cual se realiza el cambio de fecha, y todos
los dem s cambios que puedan venir asociados con este cambio de
fecha.


Durante el cambio de sesin, la transaccin QGCS ir llamando a los
procesos asociados a la fase 1 (preliminar), en el orden marcado en la
tabla de cambio de sesin. Una vez llamados a todos ellos, y si no ha
habido ninguna incidencia, se procede a llamar a todos los procesos
asociados a la fase 2 (final).

Si todo ha terminado correctamente, se da por terminado el cambio de
sesin.

La informacin de los procesos a ser llamados en las distintas fases, se
encuentra recogida en la tabla de cambio de sesin. Esta tabla contiene:

- ENTIDAD: Entidad asociada al proceso. En el cambio de sesin
solamente se llamar a los procesos asociados a la entidad en que
se est realizando el cambio. Si toma el valor '0000', querr decir
que el proceso debe ser llamado en cualquier entidad.

- FASE: Fase en que ser llamado el proceso (valor 1/2).

- ORDEN: Orden en que ser llamado el proceso dentro de la fase.

- CODIGO: Nombre del proceso. Puede ser:

. Un programa, en cuyo caso ser llamado mediante CICS LINK con
una commarea que veremos a continuacin.

. Una transaccin, en cuyo caso ser arrancada por CICS START.

- INDICADOR PROGRAMA/TRANSACCION: Indica si el cdigo anterior es un
programa o una transaccin (valores P/T).

Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 139
- INDICADOR ACTIVO: Indica si el proceso est activo o no (valores
S/N). Si el proceso no se encuentra activo, no se le llamar en el
cambio de sesin.

- CICS: Nombre del Cics que se verificar que est activo antes de
llamar al cdigo correspondiente (transaccin o programa).


De esta manera, si el contenido de la tabla de cambio de sesin es el
siguiente:

ENTIDAD FASE ORDEN CODIGO PR/TR ACTIVO CICS
0000 1 01 QC2CCSS P S
2103 1 02 BG2CCSS P S
2103 1 03 GC2CCSS P N
2058 1 04 XG2CCSS P S
0000 2 01 QC2CCSS P S
2103 2 02 BG2CCSS P N
2103 2 03 MG74 T S CC3A
2103 2 04 IRCS T N
2103 2 05 XGCS T S


Si se realiza el cambio de sesin de la entidad 2103, la transaccin de
cambio de sesin:

a.- Entrar en la fase 1 (preliminar), llamando a los procesos
asociados a la fase 1, en el orden indicado, que se encuentren
activos, para la entidad en la que se est cambiando la sesin:

1. Llamar mediante CICS LINK al programa QC2CCSS, ya que est
activo y est asociado a la entidad '0000' (todas las
entidades). Le pasar la commarea QGECCSS (que ms adelante
comentaremos). Si este programa no devuelve error:

2. Llamar mediante CICS LINK al programa BG2CCSS, ya que est
asociado a la entidad 2103. Si este programa no devuelve error:

3. Dar por terminada la fase preliminar, ya que el proceso de
orden 4 en la fase 1 no est activo, y el de orden 5 no est
asociado a la entidad 2103.

b.- Entrar en la fase 2 (final), llamando a los procesos asociados
a la fase 2, en el orden indicado, que se encuentren activos,
para la entidad en la que se est cambiando la sesin:

1. Llamar mediante CICS LINK al programa QC2CCSS, ya que est
activo y est asociado a la entidad '0000'. Si no le devuelve
error, y ya que el proceso siguiente (programa BG2CCSS) no esta
activo:

2. Se verificar que el cics CC3A est activo, ya que as lo
indica el registro del siguiente proceso. A continuacin, se
realizar un START de la transaccin MG74.

3. Por ltimo, se realizar un START de la transaccin XGCS, con
lo que se dar por terminado el cambio de sesin.


Siempre que algn programa de los llamados devuelva un error, se
realizar un ROLLBACK para deshacer los posibles cambios que algn
programa anterior hubiera hecho.

En el caso de que los procesos sean programas, se les pasar la commarea
QGECCSS, que contiene los campos:
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 140

FASE: Fase en la que se encuentra el cambio de sesin (puede se 1 2).

FECHA CONTABLE: Fecha contable actual (es decir, de antes del cambio de
sesin).

FECHA CONTABLE SIGUIENTE: Fecha contable que va a entrar como actual
despus del cambio de sesin.

CODIGO DE ERROR: Cdigo de error que devolver el programa en caso de que
haya ocurrido alguna incidencia. Si algn programa devuelve un cdigo de
error en este campo, se terminar el proceso de cambio de sesin,
mostrando este error por pantalla.

ENTIDAD ASOCIADA: Entidad en la que se est haciendo el cambio de sesin.

TIMESTAMP DE INICIO: Timestamp del inicio del cambio de sesin.


En el caso de que los procesos sean transacciones, se realizar un START
de la transaccin correspondiente, pasndole la siguiente informacin,
que le llegar como pantalla de entrada. Por lo tanto, la transaccin, si
se ejecuta bajo la Arquitectura, deber tener el formato de entrada
asociado llamado QGRMDST. Los campos de esta pantalla son:

FASE: Si se encuentra en la fase 1 2 (preliminar o final).

FECHA CONTABLE: Fecha contable actual (es decir, de antes del cambio de
sesin).

FECHA CONTABLE SIGUIENTE: Fecha contable que va a entrar como actual
despus del cambio de sesin.

ENTIDAD ASOCIADA: Entidad en la que se est haciendo el cambio de sesin.


Estos datos no contienen el cdigo de error, puesto que una vez arrancada
la transaccin, ya no le volver control al cambio de sesin. Por este
motivo, es aconsejable que si se desea que se interrumpa el cambio de
sesin por algn error que se pueda producir, se asocie un programa, y no
una transaccin.
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 141

6.2 Cambio de sesin de la Arquitectura

La Arquitectura, como cualquier otra aplicacin, realiza su propio cambio
de sesin. Para ello, tiene un programa, llamado QC2CCSS, que es llamado
tanto en fase preliminar como en fase final.

Este proceso se debe llamar siempre como primero de la fase preliminar y
como primero de la fase final, siendo los dems procesos a llamar
dependientes de la instalacin, y de las necesidades del cliente,
pudiendo llegar incluso a no haber ningn otro.

Los procesos que se llevan a cabo son:

* Cambio de la fecha contable: Actualiza la fecha contable del dia y
la del dia siguiente.

* Cambio de las tablas Flip-Flop: Para las tablas que tienen varias
versiones (Tecleos, Autorizaciones, Journal y Totales), cambia la
versin que figura como vaca despus de verificar que
efectivamente las tablas estn inicializadas.


El cambio de sesin de Arquitectura consiste en lo siguiente:


EN FASE PRELIMINAR se realizan las siguientes verificaciones:

La Arquitectura realiza las siguientes verificaciones para garantizar que
se haga una y slo una vez el cambio de sesin en el dia:

. Si la fecha contable que figura en las tablas de la Arquitectura
es inferior a la fecha de dia, no se ejecuta ninguna transaccin:
as se evita que no se realice el cambio de sesin un dia. Esto es
vlido slo para el entorno de produccin y se aplica a todas las
transacciones excepto las propias de cambio de sesin (QGCS y QGCF)
para poder ejecutar un cambio despus de las 12 de la noche si con
anterioridad no hubiera sido posible realizarlo.

. Si la fecha contable es la misma que la del dia, y es antes de la
hora puesta como mnima (HORACS) a la hora de definir los
parmetros on-line del entorno de cada entidad, tampoco permite el
cambio de sesin.

. Si es despus de esta hora mnima indicada, y el TIMESTAMP del
ltimo cambio es el dia de hoy, no permite realizar el cambio de
sesin en el entorno de produccin. Con estas dos ltimas
verificaciones, se impide que se cambie de sesin dos veces el
mismo dia.

Aparte de estas verificaciones, la Arquitectura comprobar, cuando
actualice la tabla de Totales, que la fecha contable que figura en dicha
tabla como la del da coincida con la de la tabla de control del sistema
(QGDTSWA). Si no ocurre as, es que no se ha realizado el proceso de
descarga de las tablas diarias del dia anterior despus del cambio de
sesin, y no se podr ejecutar ninguna transaccin que actualice la tabla
de Totales hasta que no se realice esta operacin (ejecucin completa
correcta de la cadena batch de Arquitectura del da anterior).


EN FASE FINAL se realiza:

. validaciones concretas que pudieron ser especificadas para esta
fase (fase de ejecucin).

Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 142
. cambio de la fecha contable y de la fecha contable siguiente en la
tabla de control de sesin (QGDTSWA).

. flip-flop de las tablas de tecleos, autorizaciones, journal y
totales.

. actualizacin del estado de las aplicaciones sobre la tabla
QGDTAPL y las colas TS asociadas.

. borrado de colas TS de terminales.

. nueva copia a la cola TS de control del sistema en todos los CICS
controlados por la Arquitectura.


101 QC2CCSS P N S
201 QC2CCSS P N S
202 QG2CCSA P N S
203 QC2CTRM P N S
______ ______ _______
PRG/TR START TERM-ACT


OPERACIONES CON LAS TABLAS DIARIAS DE ARQUITECTURA:

La Arquitectura ofrece una serie de utilidades contables y de
seguridad basndose en la informacin recogida en ciertas tablas.

Estas tablas tienen una vigencia de un da, por lo que el proceso de
cambio de sesin contable implica su preformateo. Los grupos de
tablas que se encuentran en esta situacin son las de
Autorizaciones (A y B), Tecleos (A y B), totales (A,B y C) y
Journal (A,B y C).

En cada momento existir una tabla por grupo activa (esta
informacin est presente en la tabla de control del sistema QGDTSWA
y es consultable por la opcin 9 del men). Esta tabla recibe el
nombre de TABLA ACTIVA y todos los procesos que necesiten una tabla
de su grupo actuarn contra ella durante todo el dia contable.

La TABLA VACIA es una tabla preformateada, lista para pasar a ser
la nueva tabla activa cuando se ejecute con xito la transaccin
QGCS.

Los grupos de tablas asociados al JOURNAL y a TOTALES tienen adems
otra tabla mas: la tabla de AYER, en la que aparecen los datos
correspondientes a la fecha contable inmediatamente anterior.


Supongamos que la situacin actual es:

FECHA CONTABLE: 12/07/95 Mircoles
FECHA CONTABLE SIG: 13/07/95 Jueves

ACTIVA AYER VACIA
TECLEOS B A
TOTALES B A C
JOURNAL C B A
AUTORIZACIONES B A

Ejecutamos la transaccin QGCS y se efecta el FLIP/FLOP
(intercambio) de tablas:

FECHA CONTABLE: 13/07/95 Jueves
FECHA CONTABLE SIG: 14/07/95 Viernes
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 143

ACTIVA AYER VACIA
TECLEOS A A
TOTALES C B A
JOURNAL A C B
AUTORIZACIONES A B


Donde:

. La tabla activa pasa a ser la de Ayer o la Vaca (dependiendo del
nmero de tablas asociado al grupo).

. La tabla vaca pasa a ser la tabla activa

. La tabla de ayer pasa a ser la tabla vaca


Nota: La tabla marcada como vaca seguir teniendo datos hasta que
pasen las cadenas de cambio de sesin, que son las que realmente
efectan el formateo.

Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 144
7. Preguntas y Respuestas
8. Ejercicios

1. Men. Inicio Conversacin.
2. Listado. Seleccin Mltiple en Conversacin.
3. Mantenimiento. Seleccin Simple.
4. Transaccional.
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 145
8. Anexos
Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 147
A.1. Generacin de Formatos y Copys Altamira


CONVERSACIONAL TRANSACCIONAL
FUENTE
BMS
COMPILACIN
COPY (COBOL) LOAD (CICS)
TSO QM
FORMATO
Opcion: 5
Clase: D
Parametro: Copy
Librera : ...MAPCPY
Delimitador Automatico: S
Estado: D
Tipo: A
PREFIJAR COPY
COBOL
CREACIN DEL
PREFORMATO
CON/SIN LINEAS
FORMATO
TSO QM
COPY COBOL
Opcion: 3
Clase: D
Parametro: Formato
Librera : ...COPYS
QM
Opcion: 4
QM
Opcion: 3
Si es Formato de Salida

Cuiso de Aiquilecluia AIlaniia Dicienlie 1997
Ig. 149
A.2. Estados Inicio / Continuacin / Confirmacin

CODTRAN-SIG SAME SAME SAME
ESTADO CONTINUACION CONTINUACIN CONTINUACION
ACCION TERMINAL TERMINAL TERMINAL
CADENA
PANTALLA
TERMINAL
PROGRAMA
APLICATIVO
ARQUITEC.
VARIABLES
MENU FO
INICIO
LST MNT
MNU
C
LST
I
LST
C
MTO
I
MNT
C
MNT
X
Arq Arq Arq
Arq
GP
Arq Arq Arq Arq Arq
MNU
I
MNT
CODTRAN-SIG CODTRAN 'LST' CODTRAN 'MTO' CODTRAN SAME
ESTADO CONTINUACION INICIO CONTIN INICIO CONTINUACION CONFIRMACION
ACCION TERMINAL PROGRAMA TERMINAL PROGRAMA TERMINAL TERMINAL
CADENA INICIO AADIR
TIPO-SALIDA PAGINACION
CODTRAN-SIG 'MTO'
ESTADO INICIO
ACCION PROGRAMA
CADENA AADIR
CODTRAN-SIG SAME
ESTADO CONTINUACION
ACCION TERMINAL
CADENA
MENU MENU LST LST MNT MNT
Arq

You might also like