C u r so s o d e F o r m a ci c i ó n d e Ar q ui ui te t e c t u r a Alt a mi mi r a pa p a r a d e s a r r o l l a d o r e s
C u r s o d e Arq u i t e c t u r a Alt a m i r a
Di c i e m b r e 1 9 9 7
Temario 1. Introducción
1.1 Concepto de Arquitectura Arquitectura 2. Commarea con Arquitectura
2.1 Concepto de Commarea 2.2 Información de Entrada 2.2.1 Datos Generales 2.2.2 Datos del Mensaje 2.3 Información de Entrada/Salida Entrada/Salida 2.3.1 Autorizaciones 2.3.2 Datos de Conversación 2.4 Información de Salida 2.4.1 Datos de siguiente transacción 2.4.2 Datos del mensaje de salida 2.4.3 Datos para gestión de paginación 2.4.4 Datos de analítica y estadísticas 2.4.5 Datos de error inesperado 3. Parametrizacion de la Arquitectura Arquitectura
3.1 Requisitos del CICS 3.2 Parámetros del Menu de Arquitectura 3.2.1 Parametrización de la aplicación 3.2.2 Aplicaciones 3.2.3 Formatos 3.2.4 Transacciones 3.2.5 Teclas (Ayuda de transacción) 3.2.6 Errores y Avisos 4. Desarrollo del ejemplo Diálogo Conversacional.
4.1 Conceptos para el desarrollo de ejemplo 4.2 Transaccion Transaccion FO FO Programa Programa FO2CMNU FO2CMNU Menu de Formación 4.2.1 Parametrizacion de la Transacción 4.2.2 Análisis del Mapa BMS
C u r s o d e Arq u i t e c t u r a Alt a m i r a
5.2 Transacción FOTC Programa FO2CCTR 5.2.1 Parametrización de la Transacción 5.2.2 Análisis del fuente 5.2.3 Gestión de Journal y Totales 6. Cambio de sesión
6.1 Cambio de sesión 6.2 Cambio de sesión de la Arquitectura 7. Preguntas y Respuestas 8. Ejercicios
Di c i e m b r e 1 9 9 7
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
1. Introducción al concepto de Arquitectura
1.1 Concepto
La arquitectura de aplicaciones es un sistema netamente on-line, cuya misión es básicamente centralizar la actividad del teleproceso de la entidad,cubriendo funciones tales como : - Simplificar diseños y desarrollo de otras aplicaciones online. - Independizar a las aplicaciones del tipo de terminal con el que se esta interactuando. Tratamiento de mensajes específicos (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 aplicación. - Centralizar la gestión de la información de : . Journal contable de Divisas . Tecleos del sistema . Totales de Oficina . Fechas contables actual y próxima . Entornos de trabajo parametrizados de la entidad - Posibilitar el desarrollo de la conversación - Tratamiento y control de telediscos - Gestión de la autorización de operaciones
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
2. COMMAREA DE LA ARQUITECTURA (CAA) 2.1 Concepto
El área de comunicación con la Arquitectura (CAA) es utilizada para el diálogo entre los programas de aplicación y la Arquitectura. Mediante esta commarea, la Arquitectura informa a las aplicaciones de los parámetros del sistema necesarios para el desarrollo de sus procesos online. Los programas de aplicación, 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 información de entrada, de salida y de entrada/salida de la aplicación. La información segmentos:
de
entrada
a
la
aplicación
consta de
los siguientes
DATOS GENERALES: Es el conjunto de información general del sistema que la Arquitectura proporciona como entrada al programa de aplicación. DATOS DEL MENSAJE: Contenido y conjunto mensaje de entrada a la aplicación.
de
características
del
La información de entrada/salida consta de: AUTORIZACIONES: Información sobre el proceso de autorizaciones. DATOS DE CONVERSACION: Utilizados para el desarrollo de una conversación. En la entrada contienen la información de la transacción en curso, y en la salida deberán contener la información de la siguiente transacción.
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
2.2 INFORMACION DE ENTRADA. 2.2.1 DATOS GENERALES
Los programas de aplicación podrán utilizar los campos de este segmento para recoger cualquier información general del sistema y en ningún caso podrán modificar su contenido. Los campos de que consta son: -ENTIDAD: Código de la entidad contable y del terminal que realiza la operación. -CENTRO-CONT: Código de oficina contable del terminal que realiza la operación. -NETNAME-CONT: El Netname es un código único para una red, mientras que el código de terminal puede, para un mismo terminal físico, ser diferente para cada CICS en el que trabaje (MRO). -TERMINAL-CONT: operación. -FECHA-CONT: AAAAMMDD. -FECHA-CONT2: AAAA-MM-DD.
Código
Fecha Fecha
del
contable
terminal asociada
contable a
contable asociada a
que
realiza
la
la
operación
en
formato
la
operación
en
formato
-FECHA-CONTED: Fecha contable asociada a la operación en el formato DD/MM/AAAA. -FECHA-OPER: Fecha de operación. Será la fecha de operación del proceso, a menos que el terminal tenga asociada una fecha de operación distinta, en cuyo caso será ésta la que figure. El
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
-SESION: Indicador de sesión de mañana ('M') o tarde ('T'). -TIPO-TERM: Tipo de terminal que realiza la operación. Los tipos de terminal válidos son: '11': tipo 4700 '12': tipo 5935 '13': tipo PS/2 Estándar '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 emulación (tipo 3270) '29': 4700 en emulación (tipo 3270) '51': impresoras y otros numerosos (a partir del tipo '40' para la aplicación de Centro Autorizador (CECA, SEMP, 4B, ATM´s y TPV´s). -CICS: Identificador de la sesión CICS (SYSID). -CODTRAN: Código de transacción que se ejecuta según 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 estaría ejecutando siempre la misma transacción, y sin embargo para la Arquitectura se estaría ejecutando en cada momento la transacción asociada a cada uno de los programas (dos distintas). -TIPO-PROCESO: Tipo de proceso que se está ejecutando. Puede ser: 'O': on-line
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
2.2.2 DATOS DEL MENSAJE.
Contiene toda la información necesaria sobre el mensaje de entrada en los campos: -TECLA: Código de la tecla pulsada. Este código 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 estándar para la Arquitectura y todas las aplicaciones que la utilicen: * PF1: Tecla de ayuda en conversaciones. Si la transacción que se está ejecutando en la conversación tiene ayuda asociada, al pulsar PF1 se mostrará la ayuda por pantalla. * Borra: Ir a la pantalla anterior en una conversación. * PF9:
Ir al menú inicial en conversaciones.
* PF11 o Shft-PF1:
Suspender la conversación en curso.
* PF12 o Shft-PF2:
Autorización en una conversación.
-CAJERO: Código 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.
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
2.3 INFORMACION DE ENTRADA/SALIDA 2.3.1 AUTORIZACIONES
En este segmento se recoge la información sobre el proceso de autorizaciones. Los programas de aplicación reconocen en este segmento las operaciones que ya han sido autorizadas por el terminalista para no volver a producir una solicitud de autorización 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 aplicación cuando necesita una autorización. Este bloque consta en primer lugar de 10 ocurrencias (una por cada uno de los "motivos" por los que se necesita autorizar). Estos campos vendrán sin informar la primera vez que se realice la operación, y tendrán que ser informados con los valores correspondientes de código de error y situación cuando se pida la autorización. Cuando el terminalista realice la autorización, estos campos llegarán al programa de aplicación con los valores que se informaron cuando se pidió dicha autorización. Estos campos son: -CODERR-AUT: Código autorización. -SITUACION-AUT: operación.
de
error
Situación
por
identificativo la
que
se
del
está
motivo
de
la
autorizando
la
Los siguientes campos de este segmento deben ser informados por el programa de aplicación cuando se produce la necesidad de autorizar una operación (Ver documento II.7.Funcionamiento de las Autorizaciones): -IND-AUTO: Indicador de pendiente de autorización: 'S': operación pendiente de autorizar 'N', ' ': operación no pendiente de autorizar
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
. 2.3.2 DATOS CONVERSACION ENTRADA/SALIDA Información utilizada en los programas conversacionales. controlar el flujo de la conversación. Consta de los campos:
Sirve
para
-ESTADO: Indicador del estado en que se encuentra la transacción en curso. Puede tomar los siguientes valores: 'I': Estado INICIO. Indica que se entra a ejecutar la transacción por primera vez, estando en el terminal una pantalla distinta a la correspondiente a dicha transacción. En consecuencia, la única información de entrada al programa válida en estado inicio es la de la commarea entre los programas aplicación (no hay pantalla de entrada a "leer"). 'C': Estado CONTINUACION. Indica que se entra a ejecutar transacción estando en el terminal la pantalla propia dicha transacción, por lo tanto son válidos los datos entrada tecleados desde el terminal como entrada a transacción. Dichos datos entran en formato BMS en dirección de memoria indicada en el campo PTR-COPYIN.
la de de la la
'X': Estado CONFIRMACION. Estado especial dentro de una continuación para permitir la confirmación de una operación en curso. Se puede considerar un caso especial del estado continuación, donde se espera, en primer lugar que no se modifique ningún dato de la pantalla, y en segundo lugar que se pulse una tecla determinada que signifique la confirmación de la operación. -CASO: Indicador utilizado cuando un programa de aplicación espera diferentes tipos de entrada dependiendo de los diferentes programas o estados que puedan cederle el control.
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
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 aplicación. En éste se encuentra la información sobre la siguiente transacción que debe ejecutarse. Consta de los campos: -CODTRAN-SIG: Código de la siguiente transacción que se debe ejecutar. Cuando se rellena a espacios querrá decir que no debe entrar ninguna transacción a continuación (este es el caso de un programa transaccional, o de la salida de una conversación). Existen varios valores que no son códigos de transacción y que la Arquitectura interpreta de manera especial: - 'SAME': Cuando debe entrar a continuación la transacción 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 transacción, que no se corresponde con la de la transacción en curso, y al darse un error, no debería aparecer la nueva pantalla, sino la que figura en el terminal enviando el mensaje de error correspondiente, por lo que la siguiente transacción que se debe ejecutar es la que mandó la pantalla al terminal. - 'ULTI': Cuando debe entrar a continuación la última transacción que se añadió en la cadena (ver campo CADENA). -
'MENU':
Cuando
debe
entrar
a
continuación
la
primera
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
De esta manera, en cualquier punto de la conversación, el terminalista puede realizar la petición de volver a la transacción inmediatamente anterior (con la tecla Borra en nuestro caso), o bien de volver a la transacción inicial que realizó (con la tecla PF9 en nuestro caso).
Gráfico 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 aplicación deben controlar la construcción de la cadena haciendo peticiones a la Arquitectura, bien de iniciarla, bien de añadirse a ella, o bien de volver a alguno de los pasos anteriores. El momento en que un programa de aplicación debe realizar alguna
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
Asimismo, si el terminalista realiza la petición de volver a la transacción inicial de la cadena, el programa de aplicación debería informar el campo CODTRAN-SIG con el valor 'MENU', con lo que la Arquitectura cedería el control a la primera transacción almacenada en la cadena. -CASO-CAD: En la cadena de transacciones, la Arquitectura guarda, junto al código de transacción, 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 pasarán a la transacción cuando se vuelva a ella por retroceder en la cadena (y que le llegarán en los campos CASO Y DATOS respectivamente). Se deben informar (si es necesario) cuando se realiza una petición de añadirse o de iniciar la cadena (es decir, cuando se informa el campo CADENA). -DATOS-CAD: Datos propios de entrada al retroceder en cadena.
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
2.4.2 DATOS DEL MENSAJE DE SALIDA.
En este segmento, los programas de aplicación proporcionan a la Arquitectura toda la información sobre las distintas salidas al terminal. Solamente se tendrán en cuenta cuando la acción sea terminal (ACCION='TER'). Consta de los campos: -COD-ERROR: Código del error producido. (Ver errores y avisos).
III.6.Mantenimiento de
-COD-AVISO1: Código del primer aviso. Hay posibilidad de mandar hasta dos avisos al terminal, que saldrán en la línea 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: Código del segundo aviso. -VAR1-ERROR: Variable primera del mensaje de error. Se puede informar con una variable válida como literal de error multiidioma. Esto es válido 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.
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
-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 aplicación no debe modificarlo. -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 aplicación no debe informarlo. -DESTINOS: (Ver documento II.5.Salidas no estándar ). Las transacciones pueden tener dos tipos de salidas: la salida estándar, y la salida no estándar. La salida estándar siempre va dirigida a pantalla y está constituida por el contenido de la dirección de memoria indicada en el campo PTR-COPYIN (es decir, el contenido de la pantalla estándar de salida en formato BMS) y por los mensajes de error / aviso. La salida no estándar está constituida por cualquier otro tipo de salida, y puede estar dirigida a pantalla o a documento. Los programas de aplicación deben pasar el contenido de estas salidas no estándares 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 estándares) y XXXX es el código del terminal (campo TERMINAL). Se utilizan estas colas cuando la salida está en modo "preformato", es decir, no tiene ningún 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
Curs o de Arquite c t u r a Alta mir a
* * * * *
'C': 'B': 'I': 'J': 'R':
Diciem b r e 199 7
Cheque Banda Importe Diario magnético Documento preimpreso
-PRILIN-DOCUM: Posición de la primera línea que se escribir en el documento (si la salida es a documento). -IMPRESO: Código financiera.
del
impreso
a
introducir
en
la
debe
impresora
-IDIOMA: Código del idioma en el que se van a imprimir los datos de la salida no estándar.
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
2.4.3 DATOS PARA GESTION DE PAGINACION.
Este segmento es utilizado por los programas de listado para permitir la gestión de paginación por la Arquitectura. Los campos de este segmento deben ser rellenados cuando el programa de listado informe el campo TIPOSALIDA con valor 'P'. (Ver documento II.4.Funcionamiento de la paginación). Los campos son: -CONTENID: Contenido genérico del listado, que puede indicar el tipo de selección por el que se ha accedido al programa de listado. -SELEC-PERMIT: Contiene 10 ocurrencias de 1 carácter de longitud que contienen los caracteres permitidos para seleccionar las líneas del listado. -IND-VARSEL: Indicador de si se permite marcar como seleccionadas mas de una línea ('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 gestión de listados hasta 8 teclas válidas que se pueden teclear, aparte de las propias del listado (PF4: izquierda, PF5: derecha, PF7: arriba, PF8: abajo). El programa de gestión de paginación de la Arquitectura devolverá el control al programa de aplicación de listado cuando se haya pulsado una de estas teclas, y las selecciones efectuadas sean válidas. Cada una de las ocurrencias consta de: * FKEY-NUM: Código de tecla permitido. * FKEY-LIT: Literal asociado a la tecla que debe aparecer por
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
-IND-MOD-DATO: Indicador (valores S/N) para el programa de gestión de listados, con el que un programa de aplicación puede pedirle que refresque el contenido de la cola TS que contiene las líneas de listado cada vez que tome el control dicho programa de gestión de listados. En realidad solamente tiene sentido cuando las líneas de listado están desprotegidas, para permitir teclear su contenido desde el terminal, y en ese caso se debe actualizar la información de dichas líneas de listado en la cola TS cada vez que se cambien por pantalla. -LÍNEA-PANT: Este campo lo utiliza exclusivamente el programa de gestión de listados, y los programas de aplicación no deben modificarlo. -COLUM-PANT: Este campo lo utiliza exclusivamente el programa de gestión de listados, y los programas de aplicación no deben modificarlo. -NUM-LIN-CAB: Número de líneas fijas para la cabecera del listado. Si no se informa este campo, se considerará siempre al menos 1 línea por defecto. Las líneas de cabecera permanecerán brillantes y protegidas, y no se moverán 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 líneas 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 paginación 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:
Número
de
item
seleccionado
(en
el
caso
de
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
2.4.4 DATOS PARA ANALITICA Y ESTADISTICAS.
En este segmento los programas de aplicación proporcionan a la Arquitectura información para ser explotada por alguna aplicación de contabilidad analítica y para recoger estadísticas gestionadas por la propia Arquitectura. Consta de los campos: -ENTIDAD-ANA: Entidad destino para analítica. -CENTRO-ANA: Centro destino para analítica. -PRODUCTO-ANA: Clave del producto asociado para analítica. -CLIENTE-ANA: Cliente para analítica. -IMPORTE-ANA: Importe para analítica. -SUBPROD-ANA: Subproducto para analítica. -FINALID-ANA: Finalidad para analítica. -GARANTIA-ANA: Garantía para analítica. -SUB-CLASIF: Subclasificación de la transacción para analítica. -TIOPER: Tipo de operación realizada. Puede tomar los valores: 'A': 'B': 'M': 'C': 'E': 'P': 'O':
Alta Baja Modificación Consulta Edición Petición al batch Operación de entrada / salida
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
2.4.5 DATOS DE ERROR INESPERADO.
Información 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: error.
Objeto
DB2
(Tabla,
índice.)
donde
se
produjo
el
-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 función CICS. Es el contenido de la variable EIBFN del grupo DFHEIBLK. -EIBRSRCE: Ultimo recurso CICS. EIBRSRCE del grupo DFHEIBLK.
Es
el
contenido
-EIBRCODE: Código de respuesta de CICS. variable EIBRCODE del grupo DFHEIBLK.
Es
el
de
la
variable
contenido
de
la
-EIBRESP1: Condición producida por la función CICS que produjo el error. Es el contenido de la variable EIBRESP del grupo DFHEIBLK. -EIBRESP2: Información adicional a EIBRESP1. Es el contenido de la variable EIBRESP2 del grupo DFHEIBLK.
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
3. Parametrización de la Arquitectura 3.1 Requisitos del CICS
Se deben definir en CICS los siguientes elementos: -
Mapa BMS (si es un conversacional). Transacción remota en TOR. Transacción local en AOR asociada siempre al programa QC1CENT. Entrada en la RCT (Resource Control Table) para definir la relación entre transacción y el plan DB2. - Programa.
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
3.2 Parámetros del Menu de Arquitectura 3.2.1 Parametrización de la aplicación.
A continuación se relacionan los pasos necesarios para parametrizar una aplicación que se desea integrar en la Arquitectura. Si se contempla una gestión multidivisa es imprescindible indicarlo a la hora de su definición puesto que existen nuevos tratamientos diferenciados. Las tablas de la Arquitectura que se deben actualizar para dar de alta una nueva aplicación son: - QGDTAPL: Tabla de aplicaciones. - QGDTCCT: Tabla de transacciones. - QGDTFDF: Tabla de formatos de transacciones. - QGDTPFK: Tabla de teclas de función admitidas para cada
transacción. - QGDTPFM : Tabla de preformatos de transacciones (implícitamente también se actualizará la tabla QGDTPFL de líneas de preformatos). - QGDTERR : Tabla de códigos de errores/avisos. -
: Tabla de descripciones multi-idioma. Se actualizará QGDTDTA automáticamente con cualquier cambio en las tablas anteriores realizando las altas y modificaciones a través de las conversaciones de mantenimiento de la Arquitectura.
Opcionalmente, será necesario informar también las siguientes tablas:
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
Los pasos a dar son los siguientes, por este orden: 1.-
Dar de alta la aplicación en la tabla de aplicaciones. Cambiar la descripción para cada idioma de la instalación.
2.-
Dar de alta los preformatos en la tabla de preformatos (si existen). Cambiar las descripciones de los literales para cada idioma de la instalación.
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 transacción, si esta fuera conversacional y se deseara utilizar una ayuda. Cambiar las descripciones de los literales para cada idioma de la instalación.
6.-
Dar de alta las transacciones en la tabla de transacciones. No se permite dar de alta una transacción sin su correspondiente formato de entrada (si lo tiene) dado de alta en la tabla de formatos, ni su correspondiente código de ayuda (si tuviera ayuda on-line asociada). Cambiar las descripciones de los literales para cada idioma de la instalación.
7.-
Definir las teclas de función asociadas a cada transacción, si se desea un control de las mismas por parte de la Arquitectura. Cambiar las descripciones de los literales para cada idioma de
Curs o de Arquite c t u r a Alta mir a
-
QC2CSQ1 QC2CSQ2 QC2CFTO QC2CATL QC2CHLP
- QC2CHLC - QC2CREA - QC2CAUT - QC2CAUS -
QC2CSQ3 QG2CTLD QC2CLIS QC2CIMP
Diciem b r e 199 7
(Si se utilizan literales de error/aviso multi-idioma) (En conversaciones que utilicen la ayuda de transacción) (En conversaciones que utilicen la ayuda activa) (*) (En conversaciones, para suspender una conversación) (En conversaciones, cuando se pide autorización por Arquitectura Extendida) (En conversaciones, cuando se pide autorización por Arquitectura Estándar) (Si alguna transacción del plan es de tipo Estándar) (Si se utiliza el teledisco) (Si utiliza listados dinámicos de tablas) (Si se requiere la utilidad de impresión 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.
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
3.2.2 Parametrizacion de las Aplicaciones
Las aplicaciones nuevas deberán ser dadas de alta en la Arquitectura ejecutando la transacción QM, ingresando la opcion 1 (Aplicaciones). Se deberán ingresar los datos que solicite el mapa del Menu de Mantenimiento de Aplicaciones ______________________________________________________________________ 0001 OM27 0100 CICSUSER
ARQUITEC. PLATAFORMA MANTENIMIENTO DE APLICACIONES
TP01 16/05/96 QMAM 07:54:09 NEW COPY
Codigo Aplicacion .. = Descripcion en 20 .. = Descripcion en 30 .. =
FO FORMACION FORMACION
ESTADO (A/D/C) ..... = Cambio Sesion Autom. = Multidivisa .........=
A Activada N (S/N) S (S/N)
Aplicacion Altamira. = Idioma ............ = Origen aplic.(P/O) ..=
FO E P
CASTELLANO 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 _____________________________________________________________________
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
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 transacción 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=':' *
Curs o de Arquite c t u r a Alta mir a
01
Diciem b r e 199 7
FORMTMA. 02 02 02 02
FILLER TRANIDL COMP TRANIDF FILLER REDEFINES 03 TRANIDA 02 TRANIDI 02 DESCRIPL COMP 02 DESCRIPF 02 FILLER REDEFINES 03 DESCRIPA 02 DESCRIPI 02 NEWCOPYL COMP 02 NEWCOPYF 02 FILLER REDEFINES 03 NEWCOPYA 02 NEWCOPYI 02 IDIOMAL COMP 02 IDIOMAF 02 FILLER REDEFINES 03 IDIOMAA
PIC X(12). PIC S9(4). PICTURE X. TRANIDF. PICTURE X. PIC X(4). PIC S9(4). PICTURE X. DESCRIPF. PICTURE X. PIC X(35). PIC S9(4). PICTURE X. NEWCOPYF. PICTURE X. PIC X(1). PIC S9(4). PICTURE X. IDIOMAF. PICTURE X.
el mapa generado por este BMS es el siguiente : Transaccion ..... Idioma........... Aplicacion ...... Programa ........ Plan DB2 ........ Formato/Mapa ent. Codigo de ayuda.. Longitud Commarea Camb.Ses/Recuper.
= = = = = = = = =
:
NEW COPY
/
/ (S/N):(S/N)
________ESTADO_________ (A/D) __________ALTAMIRA___________ Tipo Altamira.... = (N/E/M) Entrada.......... = ______INFORM.ADICIONAL_____
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
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 continuación :
---------------------- 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
===>
PARAMETRO
===> FORMTMA Clave deseada (Neces.para opcion 3,4,5,8 ).
LIBRERIA
===> MBVD.FOA.MAPCPY
Iniciales de la tabla (necesario para opcion 2 ). Valores posibles tabla: CCT,PFM,FDF,ERR,HLP.
(Neces.para opcion 3,4,5 ).
Pulse PF3 para salir de las utilidades de arquitectura.
C u r s o d e Arq u i t e c t u r a Alt a m i r a
Di c i e m b r e 1 9 9 7
Este formato formato se crea como provision provisional, al, y antes antes de ser usado deberá deberá ser puesto como Definitivo. 0001 AL14 0100 CICSUSER
ARQUITEC. PLATAFORMA MANTENIMIENTO MANTENIMIENTO DE FORMATOS
TP01 16/05/96 QMFM 23:58:35
Formato ........... =
FORMTMA : MATENIMIENTO MATENIMIENTO FORMACION
Tipo (E/S/A) ...... = Delimit. automatico =
A Entrada/Salida Entrada/Salida S (S/N)
Num. campos .............. ............ .. Longitud copy ............ ............ Relacion campos / Ver.PS/2 Ver.PS/2 Rutinas Verific./ V.Listos Idioma ............. ............ . = E
= = = =
NEW COPY
________ESTADO________ ________ESTADO________ (P/D) = P Definitiva
45 392 No / No No / No No CASTELLANO Formato modelo: FORMTMA
__________ SALIDA SA LIDA ________ _______ _ Preformato de Pantalla ... = Preformato de Documento .. = Mapa para LOCAL LOC AL .......... ........ .. = ______ALTA_______ ______ALTA___ ____ QG4CCHK 13/05/96
/ / /
/ /
_____ULTIMA MODIF______ CICSUSER 13/05/96 22:43
(STD (STD (PS/2 Conexion __P.USO_ 13/05/96
/ 4700 / 5935) / Doc. / NLin) / 4700) Preform. = ___ULT.USO___ ___ULT.USO_ __ 13/05/96 FOTM
F2 Modificar F3 Alta F4 Limpiar F5 Campos F6 Baja F7 Prefm BORRA Salir
C u r s o d e Arq u i t e c t u r a Alt a m i r a
Di c i e m b r e 1 9 9 7
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 MATENIMIENTO FORMACION
L
1:
45
CAMPO____LITERAL________ CAMPO____LITERAL__________DELIM_ATT__ __DELIM_ATT__LNG__TIP_RUTI LNG__TIP_RUTINA__VRUT_LIT NA__VRUT_LIT4700_AYU 4700_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 part partir ir de aqui aqui se mant mantie iene nen n camp campos os selección de mantienen ayudas de campos.
sele selecc ccio iona nand ndo o
F2, F2,
y
con con
F4 y
Hasta aqui se ha logrado informar a la Arquitectura, el FORMATO y sus campos. A continuación de procedera a prefijar los campos de Copy Cobol gene genera rada da dura durant nte e la comp compil ilac ació ión n para para que que pued pueda a ser ser incl inclui uida da en el
C u r s o d e Arq u i t e c t u r a Alt a m i r a
01
FORMTMA. 02 FILLER PIC X(12). 02 TMA-TRANIDL COMP PIC S9(4). 02 TMA-TRANIDF PICTURE X. 02 FILLER REDEFINES TMA-TRANIDF. TMA-TRANIDF. 03 TMA-TRANIDA PICTURE X. 02 TMA-TRANIDI PIC X(4). 02 TMA-DESCRIPL TMA-DESCRIPL COMP PIC S9(4). 02 TMA-DESCRIPF TMA-DESCRIPF PICTURE X. 02 FILLER REDEFINES TMA-DESCRIPF. TMA-DESCRIPF. 03 TMA-DESCRIPA PICTURE X. 02 TMA-DESCRIPI TMA-DESCRIPI PIC X(35). 02 TMA-NEWCOPYL TMA-NEWCOPYL COMP PIC S9(4). 02 TMA-NEWCOPYF TMA-NEWCOPYF PICTURE X. 02 FILLER REDEFINES TMA-NEWCOPYF. TMA-NEWCOPYF. 03 TMA-NEWCOPYA PICTURE X. 02 TMA-NEWCOPYI TMA-NEWCOPYI PIC X(1). 02 TMA-IDIOMAL COMP PIC S9(4).
Di c i e m b r e 1 9 9 7
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
3.2.4 Parametrizacion de las Transacciones
Las transacciones se daran de alta en la Arquitectura transacción QM, Mantenimiento de Arquitectura, Opción 2, 0001 OM28 0100 CICSUSER
ARQUITEC. PLATAFORMA MANTENIMIENTO DE TRANSACCIONES
Transaccion ..... = Idioma .......... = Aplicacion ...... = Programa ........ = Plan DB2 ........ = Formato/Mapa ent. = Codigo de ayuda.. = Longitud Commarea = Camb.Ses/Recuper. = Tipo (Trans/Conv) = Contable / Cajero = Tipos operacion.. = Inicio desde TERM = Inicio por Arquit.= PFs standard = Actualizar tecleo = Pintar fast-path = Pfs por Arquitec.= Tiene ayuda activa= F2 Modif F3 Alta
mediante
la
TP01 19/05/96 QMTM 22:32:34
FO : MENU DE FORMACION NEW COPY E CASTELLANO FO FORMACION ________ESTADO_________ FO1CMNU (A/D) A Activada BNQMD __________ALTAMIRA___________ FORMMNU / FORMMNU Tipo Altamira.... = N (N/E/M) Entrada.......... = MEN-HA 1000 N / N (S/N) : (S/N) ______INFORM.ADICIONAL_____ C (T/C) Transac. local .. = FO N : (S/N) (A/B/ ) Documentos ...... = O (A-B-M-C-E-P-O) Diario Elec. .... = N (S/N) S (S/N) APB 4700 ........ = N (S/N) N (S/N) _______________STAMPS__________________ S (S/N) Cambio estado = 13/05/96 03:05 CICSUSER S (S/N) Alta ........ = 13/05/96 CICSUSER N (S/N) Ult.mod. .... = 13/05/96 21:18 CICSUSER S (S/N) Primer Uso .. = N (S/N) Ultimo Uso .. =
F4 Limpia F5 Frmto. F6 Baja F8 Pfs.10 Altam.CL Borra
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
3.2.4 Parametrizacion de las Teclas de Función.
Se accede a este menú a traves del menu de mantenimiento de transacciones presionando la tecla PF8, ejemplo : 0001 OM28 ARQUITEC. PLATAFORMA 0100 CICSUSER LISTADO DE TECLAS DE FUNCION QCA0001 FIN DE DATOS P SALTO LISTADO DE PFS DE LA TRANSACCION
TP01 19/05/96 QMLF 23:05:49 PE11
L C
1: 1:
9 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 mediante el sgte menu : 0001 OM28 0100 CICSUSER
a la transacción
ARQUITEC. PLATAFORMA MANTTO. DE TECLAS DE FUNCION
Transaccion .... = PE11 : MANTENIMIENTO DE DATOS BASICOS
TP01 19/05/96 QMMF 23:14:01 NEW COPY
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
3.2.5 Parametrización de los Errores y Avisos
Los errores y avisos se daran de alta en la Arquitectura mediante la transacción QM (Mantenimiento de Arquitectura) Opción 5, 0001 OM28 0100 CICSUSER P
ARQUITEC. PLATAFORMA LISTADO DE ERRORES/AVISOS
SALTO
TP01 19/05/96 QMEL 23:34:54
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 0100 CICSUSER
ARQUITEC. PLATAFORMA MANTENIMIENTO DE ERRORES/AVISOS
TP01 19/05/96 QMEM 23:38:57
Codigo de Mensaje .. = BGA0018 AVISO / CUENTAS PERSONALES
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
4. Desarrollo del ejemplo diálogo Conversacional 4.1 Conceptos para el desarrollo del ejemplo.
Para el ejemplo programas:
del
diálogo
conversacional
se
han
considerado
tres
1. FO1CMNU Menú de Formación. Este programa contendrá varias opciones, la única que estará habilitada para el ejemplo es la opción 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 transacción específica se dará control al programa O2CTMA (Mantenimiento de Transacciones de Formación), en caso contrario se dará control al programa FO2CTLI (Listado de transacciones), con el propósito de ubicar la transacción y seleccionarla. Transacción asociada : FO Mapa asociado : FORMMNU Copy de MapaBMS : FORMMNU Descripción de Programa : Se ingresa al programa en estado continuación (el inicio lo efectua la Arquitectura). Verifica que la tecla digitada haya sido la correcta, luego evalua que la opcion también sea conforme, informa a la CAA los datos para la sgte transacción, FOTL si es listado y FOTM si es mantenimiento. 2. FO2CTLI Listado de Transacciones Formación. Cuando del menu de formación no se indique una transacción específica, programa FO1CMNU le dará control a este programa. El objetivo de este programa es visualizar las transacciones a través un ‘browse’ para facilitar la identificación de estas con el propósito consultar, añadir, dar de baja, o insertar transacciones en las tablas Arquitectura.
el de de de
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
3. FO2CTMA Mantenimiento de Formación. Este programa controla el alta, baja, modificación y consulta de transacciones. Transacción asociada : FOTM Mapa asociado : FORMTMA Descripción del programa : Este programa tiene tres estados : Inicio, Continuación y Confirmación. En el estado Inicio valida que la transacción dada en el menú exista o no, según sea consulta o alta el tipo de operación seleccionada. Para ello se accede a la tabla de transacciones de formación (FODTCTT), en caso de que exista y la operación sea alta enviará a la pantalla de entrada un mensaje de error. Si existe y la operación es modificación, la pantalla se completará y devolvera el control en estado continuación.En estado continuación 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 leídos 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 (Modificación), se valida la información de la pantalla. Si no se ha modificado ningún 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 transacción no exista, sobre los campos se hacen las sgtes validaciones : transacción y programa (1:2) y que la new copy sea blanco. Si por el contrario, se produce algún error se muestra el mismo panel con el mensaje de error correspondiente. Cuando estando en estado continuación se pulse F6 (Baja), se valida que la transacción exista, luego se procede a realizar la baja una vez que se ha pedido confirmación F7.
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
4.2 Transacción FO programa FO1CMNU Menú de Formación. 4.2.1 Parametrización de la Transacción.
Los parámetros definidos para la transaccion FO son los sgtes : Aplicación
0001 OM12 0100 CICSUSER
ARQUITEC. PLATAFORMA MANTENIMIENTO DE TRANSACCIONES
TP01 21/05/96 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
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
Formatos
0001 OM12 0100 CICSUSER Formato ........ =
ARQUITEC. PLATAFORMA MANTENIMIENTO DE FORMATOS
TP01 21/05/96 QMFM 09:22:42
FORMMNU : MENU DE FORMACION
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 Preformato de Documento .. = / / (STD Mapa para LOCAL .......... = / (PS/2 Conexion Preform. ______ALTA_______ QG4CCHK 02/05/96
____ULTIMA MODIF______ CICSUSER 20/05/96 09:00
__P.USO_ 03/05/96
NEW COPY
/ 4700 / 5935) / Doc. / NLin) / 4700) = ___ULT.USO___ 21/05/96 FO
F2 Modificar F3 Alta F4 Limp F5 Campos F6 Baja F7 Preform BORRA Salir Campos
0001 OM12 ARQUITEC. PLATAFORMA 0100 CICSUSER LISTADO DE CAMPOS QCA0001 FIN DE DATOS P SALTO FORMATO: FORMMNU MENU DE FORMACION
TP01 21/05/96 QMCL 09:23:39 L
1:
3
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
Teclas de Función
0001 OM12 ARQUITEC. PLATAFORMA 0100 CICSUSER LISTADO DE TECLAS DE FUNCION QCA0001 FIN DE DATOS P SALTO LISTADO DE PFS DE LA TRANSACCION
TP01 21/05/96 QMLF 09:24:39
L C _TECLA____LITERAL________ACTIVA___VIS.__PF.FIC__PROGRAMA_ INT INTRO S S F2 MODIF. S S F3 ALTA S S
F2 Mantto F3 Alta
FO
1: 1:
F4 Izqda. F5 Drcha. F7 Re.Pag F8 Av.Pag Cl
3 90
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
4.2.2 Análisis del Mapa BMS
El mapa asociado a la transaccion FO Menu de Formación de Arquitectura es el FORMMNU el cual se detalla a continuación : ______________________________________________________________________ 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 FORMMNU
DFHMSD TYPE=MAP,LANG=COBOL,TIOAPFX=YES,MODE=INOUT, STORAGE=AUTO,CTRL=(FREEKB,FRSET),TERM=ALL DFHMDI SIZE=(19,80),EXTATT=NO,LINE=4
X
DFHMDF POS=(01,12),LENGTH=6,ATTRB=(BRT,PROT), INITIAL='OPCION' DFHMDF POS=(01,27),LENGTH=27,ATTRB=(BRT,PROT), INITIAL='_______ DESCRIPCION _______' DFHMDF POS=(01,62),LENGTH=16,ATTRB=(BRT,PROT), INITIAL='CAMPO A INFORMAR'
X
DFHMDF POS=(02,14),LENGTH=1,ATTRB=(NORM,PROT), INITIAL='1' DFHMDF POS=(02,27),LENGTH=12,ATTRB=(NORM,PROT),
X
*
X X
*
X
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
INITIAL='(01)' *
*
*
* *
DFHMDF POS=(06,14),LENGTH=1,ATTRB=(NORM,PROT), INITIAL='5' DFHMDF POS=(06,27),LENGTH=16,ATTRB=(NORM,PROT), INITIAL='Errores y Avisos' DFHMDF POS=(06,68),LENGTH=4,ATTRB=(NORM,PROT), INITIAL='(01)'
X
DFHMDF POS=(07,14),LENGTH=1,ATTRB=(NORM,PROT), INITIAL='6' DFHMDF POS=(07,27),LENGTH=17,ATTRB=(NORM,PROT), INITIAL='Totales contables' DFHMDF POS=(07,68),LENGTH=4,ATTRB=(NORM,PROT), INITIAL='(01)' DFHMDF POS=(08,14),LENGTH=1,ATTRB=(NORM,PROT), INITIAL='7' DFHMDF POS=(08,27),LENGTH=23,ATTRB=(NORM,PROT), INITIAL='Ayudas de Transacciones' DFHMDF POS=(08,68),LENGTH=4,ATTRB=(NORM,PROT), INITIAL='(01)'
X
DFHMDF POS=(09,14),LENGTH=1,ATTRB=(NORM,PROT), INITIAL='8' DFHMDF POS=(09,27),LENGTH=10,ATTRB=(NORM,PROT), INITIAL='Terminales' DFHMDF POS=(09,68),LENGTH=4,ATTRB=(NORM,PROT), INITIAL='(01)'
X
DFHMDF POS=(10,14),LENGTH=1,ATTRB=(NORM,PROT), INITIAL='9' DFHMDF POS=(10,27),LENGTH=27,ATTRB=(NORM,PROT), INITIAL='Control del Sistema '
X
DFHMDF POS=(11,13),LENGTH=2,ATTRB=(NORM,PROT),
X
X X
X X X X X
X X
X
*
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
DFHMDF POS=(15,27),LENGTH=14,ATTRB=(NORM,PROT), INITIAL='Otros Procesos'
X
DFHMDF POS=(17,27),LENGTH=09,ATTRB=(NORM,PROT), INITIAL='OPCION ='
X
DFHMDF POS=(17,37),LENGTH=2,ATTRB=(BRT,UNPROT,NUM,IC), JUSTIFY=(LEFT,BLANK) DFHMDF POS=(17,40),LENGTH=1,ATTRB=ASKIP
X
DFHMDF POS=(18,24),LENGTH=12,ATTRB=(NORM,PROT), INITIAL='01 Codigo ='
X
DFHMDF POS=(18,37),LENGTH=9,ATTRB=(NORM,UNPROT) JUSTIFY=(LEFT,BLANK) DFHMDF POS=(18,47),LENGTH=1,ATTRB=ASKIP
X
DFHMDF POS=(18,50),LENGTH=28,ATTRB=(NORM,PROT), INITIAL='("*" indica que empiece por)'
X
DFHMDF POS=(19,24),LENGTH=12,ATTRB=(NORM,PROT), INITIAL='02 Idioma ='
X
DFHMDF POS=(19,37),LENGTH=1,ATTRB=(NORM,UNPROT) JUSTIFY=(LEFT,BLANK) DFHMDF POS=(19,39),LENGTH=1,ATTRB=ASKIP
X
* * OPCION * * CODIGO
* * IDIOMA * DFHMSD TYPE=FINAL END ______________________________________________________________________ Despues de haber efectuado el proceso de dar de alta al formato FORMMNU en Arquitectura segun lo indicado en la opción 3.2.3, se tienen el formato del punto 4.2.1 Formato y 4.2.1 Campos. Durante la compilación de este mapa se habrá generado la sgte estructura,
Curs o de Arquite c t u r a Alta mir a
01
FOMMNUEI.
02 02 02 02
01
FILLER PIC X(12). MNU-OPCIONL COMP PIC S9(4). MNU-OPCIONF PICTURE X. 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). 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).
Diciem b r e 199 7
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
4.2.3 Análisis de la CMA
La CMA es el area que utiliza la aplicación 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.
05 05
05
05 05
**---------------------------------------** **--CAMPOS DE ENTRADA DESDE MENU ---** **---------------------------------------** CMA-CLAVE. 10 CMA-TRANSAC PIC X(04). CMA-CAMPOS. 10 CMA-IDIOMA PIC X(1). 10 CMA-TIPO-OPER PIC X(01). 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 ---** **---------------------------------------** CMA-MNU-CLAVE. 10 CMA-MNU-TRANSAC PIC X(04). CMA-MNU-CAMPOS.
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
4.2.4 Análisis del Programa fuente, estandares y comentarios
A continuación se incluye el fuente del Menu de Formación. ****************************************************************** * 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 *
Curs o de Arquite c t u r a Alta mir a
****************************************************************** * 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 '.
Diciem b r e 199 7
Curs o de Arquite c t u r a Alta mir a
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.
* ******************************************************************
Diciem b r e 199 7
Curs o de Arquite c t u r a Alta mir a
****************************************************************** * * * 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 * * *
Diciem b r e 199 7
Curs o de Arquite c t u r a Alta mir a
****************************************************************** * * * 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
Diciem b r e 199 7
Curs o de Arquite c t u r a Alta mir a
*
PERFORM 300000-FIN-PROGRAMA ELSE MOVE ZEROS TO W-CONTADOR 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.
Diciem b r e 199 7
Curs o de Arquite c t u r a Alta mir a
IF MNU-OPCIONL = -1 OR MNU-CODIGOL = -1 OR MNU-IDIOMAL = -1 CONTINUE ELSE MOVE -1 TO MNU-OPCIONL 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.
*
Diciem b r e 199 7
Curs o de Arquite c t u r a Alta mir a
****************************************************************** * * * 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 *
Diciem b r e 199 7
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
4.3 Transacción FOTL programa FO2CTLI Listado de la Aplicación. 4.3.1 Parametrización de la Transacción.
Los parámetros definidos para la transaccion FOTL son los sgtes : Aplicación
0001 OM12 ARQUITEC. PLATAFORMA 0100 CICSUSER MANTENIMIENTO DE TRANSACCIONES
TP01 21/05/96 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
C u r s o d e Arq u i t e c t u r a Alt a m i r a
Di c i e m b r e 1 9 9 7
Formato
0001 OM12 0100 CICSUSER
ARQUITEC. PLATAFORMA MANTENIMIENTO MANTENIMIENTO DE FORMATOS
TP01 21/05/96 QMFM 09:26:26
Formato ........... =
QCRMGTS : MAPA DE LISTADOS
Tipo (E/S/A) ...... = Delimit. automatico =
A Entrada/Salida Entrada/Salida N (S/N)
Num. campos .............. .............. Longitud copy ............ ............ Relacion campos / Ver.PS/2 Rutinas Verific./ V.Listos Idioma ............. ............. = E
= = = =
NEW COPY
________ESTADO________ ________ESTADO________ (P/D) = D Definitiva
53 1632 No / No No / No CASTELLANO Formato modelo: QCRMGTS
__________ SALIDA ________ _____ ___ Preformato de Pantalla ... = Preformato de Documento .. = Mapa para LOCAL .......... =
/ / @GTS
/ / /
(STD / 4700 / 5935) (STD / Doc. / NLin) (PS/2 / 4700) Conexion Preform. =
______ALTA_______ ______ALTA__ _____ _____ULTIMA MODIF____ __P.USO_ ___ULT.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 0100 CICSUSER P
SALTO
FORMATO:
ARQUITEC. PLATAFORMA LISTADO DE CAMPOS QCRMGTS
MAPA DE LISTADOS
TP01 21/05/96 QMCL 09:27:15 L
1:
53
C u r s o d e Arq u i t e c t u r a Alt a m i r a
Di c i e m b r e 1 9 9 7
Teclas de Función
0001 OM12 ARQUITEC. PLATAFORMA 0100 CICSUSER LISTADO DE TECLAS DE FUNCION QCA0001 FIN DE DATOS P SALTO LISTADO DE PFS DE LA TRANSACCION TRANSACCION
TP01 21/05/96 QMLF 09:28:08 FOTL
L C
1: 1:
0 90
_TECLA____LITERAL______ _TECLA____LI TERAL________ACTIVA___ __ACTIVA___VIS.__PF.FIC VIS.__PF.FIC__PROGRAMA_ __PROGRAMA_
QME0038 NO EXISTEN DATOS A LISTAR F2 Mantto Mantto F3 Alta Alta F4 Izqda. Izqda. F5 Drcha. Drcha. F7 Re.Pag Re.Pag F8 Av.Pag Av.Pag Cl Salir Salir
C u r s o d e A r q u i t e c t u r a Al t a m i r a
Di c i e m b r e 1 9 9 7
4.3.2 Estados Inicio / Continuación
P á g. g. 56
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
4.3.3 Análisis de la Paginación. CODTRAN-SIG= SAME ESTADO=CONTIN ACCION = TERMINAL
ARQUITECTURA/ APLICACIÓN
MAPA MNU
CODTRAN-SIG = CODTRAN ESTADO= CONTIN ACCION = TERMINAL
MAPA MNU
MNU I
CODTRAN-SIG = 'MTO' ESTADO= INICIO ACCION = PROGRAMA
MNU C CODTRAN-SIG = ULTI ESTADO= CONTIN ACCION = TERMINAL
CODTRAN-SIG= ULTI ESTADO= CONTIN ACCION= TERMINAL
CODTRAN-SIG = 'LST' ESTADO= INICIO ACCION =PROGRAMA
MAPA MNU
CODTRAN-SIG = 'MTO' ESTADO = INICIO ACCION =PROGRAMA
LST I
LST C
LISTADO
CODTRAN-SIG =CODTRAN ESTADO = CONTIN ACCION=TERMINAL TIPO-SALIDA = PAGINACIÓN
CODTRAN-SIG= ULTI ESTADO= CONTIN ACCION= TERMINAL
LISTADO
CODTRAN-SIG= SAME ESTADO= CONTIN ACCION = TERMINAL
MAPA MTO
MTO X
CODTRAN-SIG= SAME ESTADO = CONFIR ACCION= TERMINAL
CODTRAN-SIG= SAME ESTADO = CONTIN ACCION= TERMINAL
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
La cabecera de listado constará de tantas líneas como informe el programa de aplicación. Podrán ser un mínimo de 1 y un máximo de 15; estas líneas aparecerán brillantes y protegidas en primer lugar, y no se moverán al hacer scroll arriba o abajo. Las transacciones de listado, pues, llevarán en la tabla de transacciones de la Arquitectura (QM - 2) como formato y panel asociado el "QCRMGTS", que es el nombre del mapa común a todos los listados. Este proceso, que normalmente implica una notable complejidad de programación, es realizado completamente por el módulo de Arquitectura QC1CGTS. El funcionamiento sigue el siguiente esquema: - Se arranca la transacción asociada al programa de paginación, en adelante "de listado". - El programa de listado entra en estado inicio y borra la cola donde va a escribir las líneas 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 módulo QR1CMTS, que borra, lee, escribe o reescribe colas TS. - A continuación accede a sus tablas para capturar la información a listar, escribiéndola 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 línea del TS contendrá: |O|A|CONTENIDO DE LA LÍNEA ...| | | | --> Contenido de la línea | ---------> Atributo de la línea (*)
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
- Segmento completo de datos para gestión de paginación en la CAA (Ver II.1.Área de Comunicación con la Arquitectura (CAA)). En este segmento se encuentra la siguiente información: * Cabecera descriptiva de los datos a paginar. * Caracteres con los que se permite selección de una línea de listado, por ejemplo, 'X', 'S', etc., hasta 10 caracteres diferentes. * Si se permite al terminalista multiselección o no, es decir, que el módulo de Arquitectura permita que se seleccione más de una fila antes de devolver control al programa de listado. *
Margen fijo a mantener en desplazamientos laterales, decir, cuando se pida desplazamiento a derecha e izquierda, el número de caracteres que se mantienen siempre visibles a izquierda de la información de pantalla; normalmente será información clave de cada uno de los datos paginables.
es es la la
* Teclas de función permitidas al terminalista para el programa en curso, excepto las estándar (avanzar: PF8, retroceder: PF7, izquierda: PF4, derecha: PF5). Si el programa de paginación QC1CGTS no gestiona el scroll lateral (bien porque la anchura de las líneas en la cola TS sea menor o igual que la anchura de la pantalla, o bien porque se le haya indicado al programa de paginación que no se desea utilizar dicho scroll expresamente), el programa QC1CGTS permitirá que las teclas PF4 y PF5 las pueda gestionar el programa de aplicación de listado. * Si el modulo QC1CGTS debe dar control al programa de listado cuando se pulse la tecla PF8 (Scroll abajo) y no existan más datos en la cola TS.
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
* 'P' página completa (''). * 'H' media página (''). * 'M' Máximo a izda., derecha, etc. ( " ). - Mantenimiento de un margen fijo. - Valida que las teclas de función pulsadas sean correctas. - Verifica que los caracteres de selección utilizados son válidos y que no se haya informado más que uno cuando no se permita multiselección. - Ilumina y/o protege las líneas que correspondan si procede. Una vez que el terminalista pulsa una tecla de función válida y no de paginación (PF4, PF5, PF7 o PF8), el módulo cede control al programa de aplicación (que entra en estado continuación), el cual, si espera alguna selección, leerá la cola TS +GTSxxxx para verificar qué‚ opción/es ha/n sido seleccionada/s, actuando en consecuencia. Normalmente este se limitará a llamar a un programa mantenimiento mostrando la información completa seleccionado.
de consulta o del registro
Los campos del panel general de listados (QCRMGTS) comunes a todos ellos son: * LÍNEAS DE SELECCION Y SALTO: Esta primera línea es común a todos los listados, y contiene los campos: -
SALTO: Salto que se desea cuando se pulsa una de las teclas estándar del listado: PF4, PF5, PF7 y PF8. Es un campo modificable y sus valores pueden ser:
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
- COLUMNA: Aparece justo debajo de la línea, y solamente cuando se gestione el scroll lateral. Tiene la forma: C ZZ9:ZZ9 donde la C es indicativo de "Columna" y el primer número indica el número relativo de la columna primera del listado dentro del total de anchura de la línea, que es indicado en el segundo número. No es modificable por pantalla. * LÍNEAS DE CABECERA DEL LISTADO: Dependiendo de los valores informados por la aplicación para el número de líneas de cabecera, éstas apareceran en modo protegido brillante, sin campo de opción/selección. * LÍNEAS DE DETALLE DEL LISTADO: A continuación aparecen las líneas de detalle del listado, que variarán en contenido de un listado a otro. Para cada línea del listado existen dos campos: * El campo de la selección. * El campo de contenido de las líneas.
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
4.3.4 Análisis 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 *
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
****************************************************************** * 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 ************************************
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
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
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
05 C-SEL-TODO PIC X(50) VALUE 'A:** T:**** C:* T:* P:******** F:******** D:*****'. 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 10 W-GTS-SUFI 05 W-GTS-DATOS.
10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
W-GTS-OPCION W-GTS-ATRIBUTO W-GTS-TRANID FILLER W-GTS-IND-ACTIVA FILLER W-GTS-DESCRIP FILLER W-GTS-APLICACION FILLER W-GTS-PGMID FILLER W-GTS-COPY-IN FILLER W-GTS-PLAN FILLER W-GTS-ANIO. 15 W-GTS-ANIODD
PIC X(4) PIC X(4)
VALUE '+GTS'. VALUE SPACES.
PIC PIC PIC PIC PIC PIC PIC PIC PIC PIC PIC PIC PIC PIC PIC PIC
VALUE VALUE VALUE VALUE VALUE VALUE VALUE VALUE VALUE VALUE VALUE VALUE VALUE VALUE VALUE VALUE
X(1) X(1) X(4) X(1) X(1) X(1) X(35) X(1) X(2) X(2) X(8) X(1) X(8) X(1) X(8) X(4)
PIC X(2)
SPACES. SPACES. SPACES. SPACES. SPACES. SPACES. SPACES. SPACES. SPACES. SPACES. SPACES. SPACES. SPACES. SPACES. SPACES. SPACES.
VALUE SPACES.
Curs o de Arquite c t u r a Alta mir a
10 FILLER 10 W-GTS-PFS-STANd 10 FILLER 10 W-GTS-ACT-TECLEO 10 FILLER 10 W-GTS-PIN-FASTP 10 FILLER 10 W-GTS-IND-APB 10 FILLER 10 W-GTS-LONG-COMMAREA 10 FILLER 05 W-FECULT. 10 FILLER 10 W-FECULTAA 10 FILLER 10 W-FECULTMM 10 FILLER 10 W-FECULTDD 05 W-CODIGO. 10 W-TRANID. 15 W-TRANID-O 20 W-TRANID-BYTE 10 W-TRANID-SEL 05 W-PF-NUM 88 PF-03 88 PF-02-03 88 PF-BORRA
Diciem b r e 199 7
PIC PIC PIC PIC PIC PIC PIC PIC PIC PIC PIC
X(7) X(2) X(6) X(2) X(7) X(2) X(5) X(2) X(6) X(4) X(4)
VALUE VALUE VALUE VALUE VALUE VALUE VALUE VALUE VALUE VALUE VALUE
SPACES. SPACES. SPACES. SPACES. SPACES. SPACES. SPACES. SPACES. SPACES. SPACES. SPACES.
PIC PIC PIC PIC PIC PIC
X(2) X(2) X(1) X(2) X(1) X(2)
VALUE VALUE VALUE VALUE VALUE VALUE
SPACES. SPACES. '/'. SPACES. '/'. SPACES.
OCCURS 4 TIMES. PIC X. PIC X(4) VALUE PIC 9(2). VALUE VALUE VALUE
SPACES. 03. 02 03. 99.
* ********** IDENTIFICADOR DE FINAL DE WORKING STORAGE *********** 01 LT-FINAL-WS. 05 LT-FINAL-W PIC X(40) VALUE '*** FINAL WORKING STORAGE (FO2CTLI) ***'. * ****************************************************************** * *
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
* 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 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
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
****************************************************************** * * * 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 *
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
PERFORM 3-FINAL ELSE PERFORM 213-LLENAR-CAA-PAGINACION MOVE 'FOTL' TO CAA-CODTRAN-SIG END-IF.
****************************************************************** * * * 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. ****************************************************************** * *
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
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 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
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
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 , :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 ,
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
*
*
INITIALIZE W-GTS-DATOS MOVE CCT-TRANID MOVE CCT-IND-ACTIVA IF CCT-88-IND-ACTIVA-NO MOVE 'B' MOVE CCT-IND-ACTIVA ELSE MOVE SPACES
TO TO
W-GTS-TRANID W-GTS-IND-ACTIVA
TO TO
W-GTS-ATRIBUTO W-GTS-IND-ACTIVA
TO
W-GTS-ATRIBUTO W-GTS-IND-ACTIVA
MOVE CCT-APLICACION TO MOVE CCT-PGMID TO MOVE CCT-COPY-IN TO MOVE CCT-PLAN TO MOVE CCT-FECHA-ULTUSO TO MOVE W-FECULTDD TO MOVE W-FECULTMM TO MOVE W-FECULTAA TO EVALUATE TRUE WHEN CCT-88-IND-CONTABLE-SI MOVE 'SI' TO WHEN CCT-88-IND-CONTABLE-NO MOVE 'NO' TO END-EVALUATE EVALUATE TRUE WHEN CCT-88-IND-4700-SI MOVE 'SI' TO WHEN CCT-88-IND-4700-NO MOVE 'NO' TO END-EVALUATE EVALUATE TRUE
W-GTS-APLICACION W-GTS-PGMID W-GTS-COPY-IN W-GTS-PLAN W-FECULT W-GTS-ANIODD W-GTS-ANIOMM W-GTS-ANIOAA
END-IF PERFORM 2122-ACCESO-DTA
*
W-GTS-IND-CONT W-GTS-IND-CONT
W-GTS-IND-APB W-GTS-IND-APB
Curs o de Arquite c t u r a Alta mir a
*
IF CCT-RECUPERACION MOVE 'SI' ELSE MOVE 'NO' END-IF
Diciem b r e 199 7
EQUAL 'S' TO W-GTS-RECUPERACION TO W-GTS-RECUPERACION
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 MOVE 'SI' ELSE MOVE 'NO' END-IF
EQUAL 'S'
IF
EQUAL 'S'
CCT-PIN-FASTP MOVE 'SI' ELSE MOVE 'NO' END-IF
TO W-GTS-PFS-STAND TO W-GTS-PFS-STAND
TO W-GTS-PIN-FASTP TO W-GTS-PIN-FASTP
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
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
* 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.
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
****************************************************************** * * * 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
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
****************************************************************** * * * 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. *
Curs o de Arquite c t u r a Alta mir a
MOVE 'Alta MOVE 'N'
'
Diciem b r e 199 7
TO CAA-FKEY-LIT(2) TO CAA-FKEY-SEL(2).
****************************************************************** * * * 22-CONTINUACION * * * * 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 * * *
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
****************************************************************** * * * 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
Curs o de Arquite c t u r a Alta mir a
*
END-IF ELSE SET CAA-88-CADENA-ANADIR MOVE 'A' SET CAA-88-ESTADO-INICIO SET CAA-88-ACCION-PROGRAMA MOVE 'FOTM' END-IF
Diciem b r e 199 7
TO TO TO TO TO
TRUE CAA-CASO-CAD TRUE TRUE CAA-CODTRAN-SIG
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.
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
* * * 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. 4.4 Transacción FOTM programa FO2CTMA Mantenimiento de la Aplicación Formación. 4.4.1 Parametrización de la Transacción.
Los parámetros definidos para la transaccion FOTM son los sgtes : Aplicación
0001 OM12 0100 CICSUSER
ARQUITEC. PLATAFORMA MANTENIMIENTO DE TRANSACCIONES
TP01 21/05/96 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 ...... =
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
Formatos
0001 OM1 0100 CICSUSER
ARQUITEC. PLATAFORMA MANTENIMIENTO DE FORMATOS
Formato ....... =
FORMTMA
Tipo (E/S/A) ...... = Delimit. automatico =
: MATENIMIENTO FORMACION
A Entrada/Salida S (S/N)
Num. campos .............. Longitud copy ............ Relacion campos / Ver.PS/2 Rutinas Verific./ V.Listos Idioma ............. = E
TP01 21/05/96 QMFM 09:30:30
= = = =
NEW COPY
________ESTADO________ (P/D) = D Definitiva
45 392 No / No No / No CASTELLANO Formato modelo: FORMTMA
__________ SALIDA ________ Preformato de Pantalla ... = Preformato de Documento .. = Mapa para LOCAL .......... =
/ / /
/ /
(STD / 4700 / 5935) (STD / Doc. / NLin) (PS/2 / 4700) Conexion Preform. =
______ALTA____ _____ULTIMA MODIF______ QG4CCHK 13/05/96 CICSUSER 13/05/96 22:43
__P.USO_ 13/05/96
___ULT.USO___ 21/05/96 FOTM
F2 Modificar F3 Alta F4 Limpiar F5 Campos F6 Baja F7 Preform
BORRA
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
Campos
0001 OM12 0100 CICSUSER P
SALTO
FORMATO:
ARQUITEC. PLATAFORMA LISTADO DE CAMPOS FORMTMA
TP01 21/05/96 QMCL 09:31:03
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 Función
0001 OM12 ARQUITEC. PLATAFORMA 0100 CICSUSER LISTADO DE TECLAS DE FUNCION QCA0001 FIN DE DATOS P SALTO LISTADO DE PFS DE LA TRANSACCION
TP01 21/05/96 QMLF 09:32:27 OTM
L C _TECLA____LITERAL________ACTIVA___VIS.__PF.FIC__PROGRAMA_
1: 1:
5 90
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
4.4.2 Análisis del Mapa BMS
El mapa asociado a la transaccion FOTM Mantenimiento de Transacciones Formación es el FOMTMAE el cual se detalla a continuación : ______________________________________________________________________ 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 *
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
INITIAL='________ESTADO_________' DFHMDF POS=(04,03),LENGTH=19,ATTRB=(NORM,PROT), INITIAL='Programa ........ =' * PGMID * ACTIVA * DESCACT * PLAN
DFHMDF POS=(04,23),LENGTH=8,ATTRB=(NORM,UNPROT), JUSTIFY=(LEFT,BLANK) DFHMDF POS=(04,32),LENGTH=1,ATTRB=ASKIP DFHMDF POS=(04,57),LENGTH=5,ATTRB=(NORM,PROT), INITIAL='(A/D)'
X X X
DFHMDF POS=(04,64),LENGTH=1,ATTRB=(NORM,UNPROT), JUSTIFY=(LEFT,BLANK) DFHMDF POS=(04,66),LENGTH=1,ATTRB=ASKIP
X
DFHMDF POS=(04,68),LENGTH=11,ATTRB=(NORM,PROT), JUSTIFY=(LEFT,BLANK) DFHMDF POS=(05,03),LENGTH=19,ATTRB=(NORM,PROT), INITIAL='Plan DB2 ........ ='
X
DFHMDF POS=(05,23),LENGTH=8,ATTRB=(NORM,UNPROT), JUSTIFY=(LEFT,BLANK) DFHMDF POS=(05,32),LENGTH=1,ATTRB=ASKIP DFHMDF POS=(05,50),LENGTH=29,ATTRB=(BRT,PROT), INITIAL='__________ALTAMIRA___________' DFHMDF POS=(06,03),LENGTH=19,ATTRB=(NORM,PROT), INITIAL='Formato/Mapa ent. =' * COPYIN DFHMDF POS=(06,23),LENGTH=8,ATTRB=(NORM,UNPROT), JUSTIFY=(LEFT,BLANK) DFHMDF POS=(06,32),LENGTH=1,ATTRB=(NORM,PROT,ASKIP), INITIAL='/' * PANELIN DFHMDF POS=(06,34),LENGTH=8,ATTRB=(NORM,UNPROT), JUSTIFY=(LEFT,BLANK) DFHMDF POS=(06,43),LENGTH=1,ATTRB=ASKIP
X X X X X X X
Curs o de Arquite c t u r a Alta mir a
* CAMBSES * RECUPER
* TRNCONV * TRANIDL
* CONTABL
Diciem b r e 199 7
DFHMDF POS=(09,03),LENGTH=19,ATTRB=(NORM,PROT), INITIAL='Camb.Ses/Recuper. ='
X
DFHMDF POS=(09,23),LENGTH=1,ATTRB=(NORM,UNPROT), JUSTIFY=(LEFT,BLANK) DFHMDF POS=(09,25),LENGTH=1,ATTRB=(NORM,PROT,ASKIP), INITIAL='/'
X
DFHMDF POS=(09,27),LENGTH=1,ATTRB=(NORM,UNPROT), JUSTIFY=(LEFT,BLANK) DFHMDF POS=(09,29),LENGTH=1,ATTRB=ASKIP DFHMDF POS=(09,31),LENGTH=13,ATTRB=(NORM,PROT), INITIAL='(S/N) : (S/N)' DFHMDF POS=(09,51),LENGTH=27,ATTRB=(BRT,PROT), INITIAL='______INFORM.ADICIONAL_____' DFHMDF POS=(10,03),LENGTH=19,ATTRB=(NORM,PROT), INITIAL='Tipo (Trans/Conv) =' DFHMDF POS=(10,23),LENGTH=1,ATTRB=(NORM,UNPROT), JUSTIFY=(LEFT,BLANK) DFHMDF POS=(10,25),LENGTH=1,ATTRB=ASKIP DFHMDF POS=(10,31),LENGTH=5,ATTRB=(NORM,PROT), INITIAL='(T/C)' DFHMDF POS=(10,51),LENGTH=19,ATTRB=(NORM,PROT), INITIAL='Transac. local .. =' DFHMDF POS=(10,71),LENGTH=4,ATTRB=(NORM,UNPROT), JUSTIFY=(LEFT,BLANK) DFHMDF POS=(10,76),LENGTH=1,ATTRB=ASKIP DFHMDF POS=(11,03),LENGTH=19,ATTRB=(NORM,PROT), INITIAL='Contable / Cajero =' DFHMDF POS=(11,23),LENGTH=1,ATTRB=(NORM,UNPROT), JUSTIFY=(LEFT,BLANK) DFHMDF POS=(11,25),LENGTH=1,ATTRB=(NORM,PROT,ASKIP),
X X X X X X X X X X X X
Curs o de Arquite c t u r a Alta mir a
* DIARIOE * INICIO * APB4700 * INIARQ
Diciem b r e 199 7
DFHMDF POS=(12,51),LENGTH=19,ATTRB=(NORM,PROT), INITIAL='Diario Elec. .... ='
X
DFHMDF POS=(12,71),LENGTH=1,ATTRB=(NORM,UNPROT), JUSTIFY=(LEFT,BLANK) DFHMDF POS=(12,73),LENGTH=5,ATTRB=(NORM,PROT,ASKIP), INITIAL='(S/N)' DFHMDF POS=(13,03),LENGTH=19,ATTRB=(NORM,PROT), INITIAL='Inicio desde TERM ='
X
DFHMDF POS=(13,23),LENGTH=1,ATTRB=(NORM,UNPROT), JUSTIFY=(LEFT,BLANK) DFHMDF POS=(13,25),LENGTH=1,ATTRB=ASKIP DFHMDF POS=(13,31),LENGTH=5,ATTRB=(NORM,PROT), INITIAL='(S/N)' DFHMDF POS=(13,51),LENGTH=19,ATTRB=(NORM,PROT), INITIAL='APB 4700 ........ =' DFHMDF POS=(13,71),LENGTH=1,ATTRB=(NORM,UNPROT), JUSTIFY=(LEFT,BLANK) DFHMDF POS=(13,73),LENGTH=5,ATTRB=(NORM,PROT,ASKIP), INITIAL='(S/N)' DFHMDF POS=(14,03),LENGTH=19,ATTRB=(NORM,PROT), INITIAL='Inicio por Arquit.=' DFHMDF POS=(14,23),LENGTH=1,ATTRB=(NORM,UNPROT), JUSTIFY=(LEFT,BLANK) DFHMDF POS=(14,25),LENGTH=1,ATTRB=ASKIP DFHMDF POS=(14,31),LENGTH=5,ATTRB=(NORM,PROT), INITIAL='(S/N)' DFHMDF POS=(14,39),LENGTH=41,ATTRB=(BRT,PROT), INITIAL='_________________STAMPS__________________' DFHMDF POS=(15,03),LENGTH=19,ATTRB=(NORM,PROT), INITIAL='PFs standard ='
X X X X X X X X X X X X
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
INITIAL='Alta ........ =' * STAMALT * USERALT PINFSP * STAMMOD * TIMEMOD * USERMOD
DFHMDF POS=(16,55),LENGTH=8,ATTRB=(NORM,PROT), JUSTIFY=(LEFT,BLANK)
X
DFHMDF POS=(16,71),LENGTH=8,ATTRB=(NORM,PROT), JUSTIFY=(LEFT,BLANK) DFHMDF POS=(17,03),LENGTH=19,ATTRB=(NORM,PROT), INITIAL='Pintar fast-path =' DFHMDF POS=(17,23),LENGTH=1,ATTRB=(NORM,UNPROT), JUSTIFY=(LEFT,BLANK) DFHMDF POS=(17,25),LENGTH=1,ATTRB=ASKIP DFHMDF POS=(17,31),LENGTH=5,ATTRB=(NORM,PROT), INITIAL='(S/N)' DFHMDF POS=(17,39),LENGTH=15,ATTRB=(NORM,PROT), INITIAL='Ult.mod. .... ='
X X X X X
DFHMDF POS=(17,55),LENGTH=8,ATTRB=(NORM,PROT), JUSTIFY=(LEFT,BLANK)
X
DFHMDF POS=(17,65),LENGTH=5,ATTRB=(NORM,PROT), JUSTIFY=(LEFT,BLANK)
X
DFHMDF POS=(17,71),LENGTH=8,ATTRB=(NORM,PROT), JUSTIFY=(LEFT,BLANK) DFHMDF POS=(18,03),LENGTH=19,ATTRB=(NORM,PROT), INITIAL='Pfs por Arquitec.= ' PFSARQ DFHMDF POS=(18,23),LENGTH=1,ATTRB=(NORM,UNPROT), JUSTIFY=(LEFT,BLANK) DFHMDF POS=(18,25),LENGTH=1,ATTRB=ASKIP DFHMDF POS=(18,31),LENGTH=5,ATTRB=(NORM,PROT), INITIAL='(S/N)' DFHMDF POS=(18,39),LENGTH=15,ATTRB=(NORM,PROT), INITIAL='Primer Uso .. =' *
X X X X X
Curs o de Arquite c t u r a Alta mir a
01
FORMTMAI. 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). 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).
Diciem b r e 199 7
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
********** 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
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
****************************************************************** * * * 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.
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
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. 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 *
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
****************************************************************** * * * 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
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
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 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. *
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
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 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,
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
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, 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. ****************************************************************** * *
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
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 * 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. ******************************************************************
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
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 * 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
Curs o de Arquite c t u r a Alta mir a
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 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
Diciem b r e 199 7
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
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
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
****************************************************************** * * * 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.
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
EVALUATE SQLCODE WHEN ZEROS PERFORM 222100-VALIDAR-CAMPOS PERFORM 222200-FORMATEA-FILA PERFORM 222400-UPDATE 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 *
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
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) 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
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
* * ****************************************************************** 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 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 *
C u r s o d e Arq u i t e c t u r a Alt a m i r a
Di c i e m b r e 1 9 9 7
MOVE TMA-APB4700I TMA-APB4700I TO CCT-IND-4700 CCT-IND-4700 MOVE TMA-LONCMMI TO CCT-LONG-COMMAREA CCT-LONG-COM MAREA MOVE 'N' TO CCT-IND-LIBRE3 CCT-IND-LIBR E3 MOVE 'N' TO CCT-IND-LIBRE4 CCT-IND-LIBR E4 MOVE TMA-INIARQI TO CCT-INICIO-ARQ CCT-INICIO-ARQ MOVE TMA-PFSTANI TO CCT-PFS-STAND CCT-PFS-STAN D MOVE TMA-PINFSPI TO CCT-PIN-FASTP CCT-PIN-FAST P MOVE TMA-ACTTCLI TO CCT-ACT-TECLEO CCT-ACT-TECL EO MOVE TMA-PFSARQI TO CCT-PFS-ARQ MOVE TMA-AYUDAAI TO CCT-AYUDA-ACT. CCT-AYUDA-AC T. ************************ ************************************* ************************** ************************* **************** **** * * * 222400-UPDATE 222400-UPDATE * * * * - UPDATE ACTUALIZANDO ACTUALIZANDO EL STAMP DE CAMBIO DE ESTADO * * * ************************ ************************************* ************************** ************************* **************** **** 222400-UPDATE. * MOVE CAA-USERID TO CCT-USERID-ACTV CCT-USERID-ACTV CCT-USERID-MOD * EXEC SQL UPDATE FODTCCT SET CCT_DESCRIP = :CCT-DESCRIP, :CCT-DESCRIP, CCT_APLICACION CCT_APLICACION = :CCT-APLICACION, :CCT-APLICACION, CCT_PGMID = :CCT-PGMID, CCT_PLAN = :CCT-PLAN, CCT_COPY_IN CCT_COPY_IN = :CCT-COPY-IN, :CCT-COPY-IN, CCT_PANEL_IN CCT_PANEL_IN = :CCT-PANEL-IN, :CCT-PANEL-IN, CCT_COD_HELP CCT_COD_HELP = :CCT-COD-HELP, :CCT-COD-HELP, CCT_TRANID_LOCAL CCT_TRANID_LOCAL = :CCT-TRANID-LOCAL, :CCT-TRANID-LOCAL, CCT_DOCUM_1 CCT_DOCUM_1 = :CCT-DOCUM-1, :CCT-DOCUM-1, CCT_DOCUM_2 CCT_DOCUM_2 = :CCT-DOCUM-2, :CCT-DOCUM-2, CCT_IND_DIARIO CCT_IND_DIARIO = :CCT-IND-DIARIO, :CCT-IND-DIARIO,
C u r s o d e Arq u i t e c t u r a Alt a m i r a
*
Di c i e m b r e 1 9 9 7
CCT_HORA_MOD CCT_HORA_MOD = CURRENT TIME, CCT_USERID_MOD CCT_USERID_MOD = :CCT-USERID-MOD, :CCT-USERID-MOD, CCT_TIMEST_ACTV CCT_TIMEST_ACTV = CURRENT TIMESTAMP, CCT_USERID_ACTV CCT_USERID_ACTV = :CCT-USERID-ACTV, :CCT-USERID-ACTV, CCT_CAMBIO_SESION CCT_CAMBIO_SESION = :CCT-CAMBIO-SESION, :CCT-CAMBIO-SESION, CCT_PFS_ARQ CCT_PFS_ARQ = :CCT-PFS-ARQ, :CCT-PFS-ARQ, CCT_AYUDA_ACT CCT_AYUDA_ACT = :CCT-AYUDA-ACT, :CCT-AYUDA-ACT, CCT_INICIO_ARQ CCT_INICIO_ARQ = :CCT-INICIO-ARQ, :CCT-INICIO-ARQ, CCT_PFS_STAND CCT_PFS_STAND = :CCT-PFS-STAND :CCT-PFS-STAND , CCT_PIN_FASTP CCT_PIN_FASTP = :CCT-PIN-FASTP :CCT-PIN-FASTP , CCT_ACT_TECLEO CCT_ACT_TECLEO = :CCT-ACT-TECLEO, :CCT-ACT-TECLEO, CCT_LONG_COMMAREA CCT_LONG_COMMAREA = :CCT-LONG-COMMAREA, :CCT-LONG-COMMAREA, CCT_RECUPERACION CCT_RECUPERACION = :CCT-RECUPERACION :CCT-RECUPERACION WHERE CCT_TRANID = :CCT-TRANID END-EXEC
EVALUATE SQLCODE WHEN ZEROS MOVE 'QMA0001' TO CAA-COD-AVISO1 CAA-COD-AVISO1 SET CAA-88-TIOPER-MODIF CAA-88-TIOPER-MODIF TO TRUE PERFORM 222500-MODIFICAR-DESCRIP 222500-MODIFICAR-DESCRIP PERFORM 213000-COMPLETAR-PANTALLA 213000-COMPLETAR-PANTALLA WHEN OTHER MOVE 'UPDATE FODTCCT ' TO ABC-REFERENCIA ABC-REFERENCIA MOVE 'FODTCCT' TO ABC-OBJETO-ERROR ABC-OBJETO- ERROR PERFORM 999999-ABEND-DB2 999999-ABEND-DB2 END-EVALUATE. ************************ ************************************* ************************** ************************* **************** **** * * * 222500-MODIFICAR-DESCRIP * * * * EN EL CASO DE QUE SE HAYAN MODIFICADO LAS DESCRIPCIONES DESCRIPCIONES * * POR PANTALLA, SE MODIFICARAN TAMBIEN EN LA TABLA DE * * DESCRIPCION DE TABLAS. * * *
C u r s o d e Arq u i t e c t u r a Alt a m i r a
Di c i e m b r e 1 9 9 7
UPDATE FODTDTA SET DTA_DESC_LARGA DTA_DESC_LARGA = :DTA-DESC-LARGA, :DTA-DESC-LARGA, DTA_DESC_CORTA DTA_DESC_CORTA = :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 CAA-COD-AVIS O2 WHEN OTHER MOVE '1ER UPDATE FODTDTA' TO ABC-REFERENCIA ABC-REFERENCIA MOVE 'FODTDTA' TO ABC-OBJETO-ERROR ABC-OBJETO- ERROR PERFORM 999999-ABEND-DB2 999999-ABEND-DB2 END-EVALUATE. ************************ ************************************* ************************** ************************* **************** **** * * * 223000-ALTA 223000-ALTA * * * * - VER SI LA TRANSACCION TRANSACCION EXISTE * * -SI NO EXISTE VALIDAREMOS LOS CAMPOS, FORMATEAREMOS FORMATEAREMOS LA * * FILA Y LA INSERTAREMOS INSERTAREMOS EN LA TABLA * * -SI HAY ALGUN ERROR Y MANTENDREMOS 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, MANTENIMIENTO, SI NO TOMA EL QUE POR DEFECTO TENGA EL * * TERMINAL. * * * ************************ ************************************* ************************** ************************* **************** **** 223000-ALTA. * MOVE TMA-TRANIDI TO CCT-TRANID *
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
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,
Curs o de Arquite c t u r a Alta mir a
INITIALIZE QGECABC MOVE '1ER INSERT FODTCCT' MOVE 'FODTCCT' PERFORM 999999-ABEND-DB2 END-EVALUATE.
Diciem b r e 199 7
TO ABC-REFERENCIA TO ABC-OBJETO-ERROR
* ****************************************************************** * * * 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
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
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
Curs o de Arquite c t u r a Alta mir a
*
Diciem b r e 199 7
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 * * *
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
* * ****************************************************************** * 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. * ****************************************************************** * *
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
* 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 *
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
* 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 *
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
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 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. *
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
****************************************************************** * * * 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
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
****************************************************************** * * * 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
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
5. Desarrollo del ejemplo Transaccional 5.1 Conceptos para el desarrollo del ejemplo.
Para el desarrollo de la transacción se debe considerar lo siguiente : El formato de entrada de la transacción será : 0001 OM12 0100 CICSUSER TRANSACCION * LIBRE
FORMACION CONSULTA TRANSACCION FORMACION (01 (02
TP01 21/05/96 FOTC 13:49:33
) = ) =
Para este formato de entrada no hay preformato. El operador digitará el codigo de la transacción que desea consultar, si la transacción 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 transacción con un asterisco al final de esta, se generará un listado de transacciones que tengan el prefijo solicitado hasta un máximo 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
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
5.2 Transaccion FOTC Programa FO2CCTR (Transacción) 5.2.1 Parametrización de la Transacción.
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 transacción en la tabla de transacciones (FOTC) Luego se utilizara la función TSO QM para generar las copys para la aplicaión : 1 del formato de entrada 1 por formato de salida Preformato FOCTR1
0001 OM12 0100 CICSUSER
ARQUITEC. PLATAFORMA MANTENIMIENTO DE PREFORMATOS
TP01 21/05/96 QMPM 09:43:11 NEW COPY
Preformato ........... = Idioma ............... = Margen izquierdo ..... =
FOCTR1 : LINEA CABECERA FORMACION
E 0
Maximo ancho columna . = Numero de lineas ..... = Num. caracteres aprox. =
CASTELLANO
71 0 0
____VARIABLES USADAS____ Del sistema ........ 0 Campos de LOCAL .... 0 Campos de HOST ..... 0 --Total 0
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
Preformato FOCTR1 ( F5 Lineas) Pantalla 1
0001 OM12 ARQUITEC. PLATAFORMA 0100 CICSUSER MANTTO. DE LINEAS DE PREFORMATOS QCA0001 FIN DE DATOS P
SALTO
FOCTR1 LINEA CABECERA FORMACION
TP01 21/05/96 QMPT 09:43:37
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
Curs o de Arquite c t u r a Alta mir a
F2 Modificar
F3 Alta
F4 Limpiar
Diciem b r e 199 7
F5 Lineas
F6 Baja
BORRA Salir
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
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
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
Formato Salida FOMCTR2
0001 OM08 0100 CICSUSER
ARQUITEC. PLATAFORMA MANTENIMIENTO DE FORMATOS
Formato .......... = Tipo (E/S/A) ...... = Delimit. automatico =
FOMCTR2
TP01 21/05/96 QMFM 22:17:53
: FORMATO DETALLE
FORMACION
NEW COPY
S Salida
S (S/N)
Num. campos .............. Longitud copy ............ Relacion campos / Ver.PS/2 Rutinas Verific./ V.Listos Idioma ............. = E
=
= = =
___ESTADO________ (P/D) = D Definitiva 3 60
No / No No / No CASTELLANO Formato modelo: FOMCTR2
__________ SALIDA ________ Preformato de Pantalla ... = FOCTR2 / Preformato de Documento .. = / Mapa para LOCAL .......... = /
(STD / 4700 / 5935) (STD / Doc. / NLin) (PS/2 / 4700) Conexion Preform. = _____ULTIMA MODIF______ __P.USO_ ___ULT.USO___ CICSUSER 21/05/96 03:37 21/05/96 21/05/96 FOTC
______ALTA_______ CICSUSER 21/05/96 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
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
Formato de entrada FOMCTR
0001 OM12 0100 CICSUSER
ARQUITEC. PLATAFORMA MANTENIMIENTO DE FORMATOS
Formato .......... =
TP01 21/05/96 QMFM 09:34:17
FOMCTR : INGRESO CONSULTA TRANSACCIONES NEW COPY
Tipo (E/S/A) ...... = Delimit. automatico =
E Entrada
N (S/N)
Num. campos .............. Longitud copy ............ Relacion campos / Ver.PS/2 Rutinas Verific./ V.Listos Idioma ............. = E
= = = =
___ESTADO________ (P/D) = D Definitiva
2 42 No / No No / No CASTELLANO Formato modelo: FOMCTR
__________ SALIDA ________ Preformato de Pantalla ... = Preformato de Documento .. = Mapa para LOCAL .......... = ______ALTA_______ CICSUSER 20/05/96
/ / /
/ /
(STD / 4700 / 5935) (STD / Doc. / NLin) (PS/2 / 4700) Conexion Preform. = _____ULTIMA MODIF_____ __P.USO_ ___ULT.USO___ 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 0100 CICSUSER LISTADO DE CAMPOS QCA0001 FIN DE DATOS
TP01 21/05/96 QMCL 09:34:55
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
Transacción FOTC
0001 OM12 0100 CICSUSER
ARQUITEC. PLATAFORMA MANTENIMIENTO DE TRANSACCIONES
Transaccion ..... = Idioma .......... = Aplicacion ...... = Programa ........ = Plan DB2 ........ = Formato/Mapa ent. = Codigo de ayuda.. = Longitud Commarea = Camb.Ses/Recuper. = Tipo (Trans/Conv) = Contable / Cajero = Tipos operacion.. = Inicio desde TERM = Inicio por Arquit.= PFs standard = Actualizar tecleo = Pintar fast-path = Pfs por Arquitec.= Tiene ayuda activa= F2 Modif F3 Alta F4
TP01 21/05/96 QMTM 09:33:50
FOTC : CONSULTA TRANSACCION FORMACION NEW COPY E CASTELLANO FO FORMACION __ESTADO_________ FO2CCTR (A/D) A Activada BNQMD __________ALTAMIRA___________ FOMCTR / Tipo Altamira.... = N (N/E/M) Entrada.......... = 0000 N / N (S/N):(S/N) ______INFORM.ADICIONAL_____ T (T/C) Transac. local .. = FOTC N : (S/N) : (A/B/ ) Documentos ...... = C (A-B-M-C-E-P-O) Diario Elec. .... = N (S/N) S (S/N) APB 4700 ........ = S (S/N) N (S/N) ______________STAMPS__________________ S (S/N) Cambio estado = 20/05/96 12:21 CICSUSE S (S/N) Alta ........ = 20/05/96 CICSUSE N (S/N) Ult.mod. .... = 20/05/96 12:21 CICSUSE N (S/N) Primer Uso .. = 21/05/96 N (S/N) Ultimo Uso .. = 21/05/96 Limpia F5 Frmto F6 Baja F8 Pfs. 10 Altam. CL Borra
Se debe tomar en cuenta que para informar los formatos en una transacción de tipo no conversacional, como en nuestro ejemplo, el proceso de inscripción 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.
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
***************************************************************** * 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 * * ******************************************************************
Curs o de Arquite c t u r a Alta mir a
5.2.2 Análisis del fuente
A continuación se reproduce el fuente de la transacción: * 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 * * *
Diciem b r e 199 7
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
****************************************************************** * * * 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 * ******************************************************************
Curs o de Arquite c t u r a Alta mir a
****************************************************************** * * 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'.
Diciem b r e 199 7
Curs o de Arquite c t u r a Alta mir a
****************************************************************** * * * 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
Diciem b r e 199 7
Curs o de Arquite c t u r a Alta mir a
****************************************************************** * * * 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
Diciem b r e 199 7
Curs o de Arquite c t u r a Alta mir a
/ ****************************************************************** * * 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
,
Diciem b r e 199 7
*
Curs o de Arquite c t u r a Alta mir a
MOVE
CCT-ENTRADA
TO
TR2-FORMA.
****************************************************************** * * * 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.
Diciem b r e 199 7
Curs o de Arquite c t u r a Alta mir a
****************************************************************** * * * 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
Diciem b r e 199 7
Curs o de Arquite c t u r a Alta mir a
****************************************************************** * * * 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
Diciem b r e 199 7
Curs o de Arquite c t u r a Alta mir a
/ ****************************************************************** * * * 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
Diciem b r e 199 7
Curs o de Arquite c t u r a Alta mir a
* / ****************************************************************** * * * 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
Diciem b r e 199 7
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
5.2.3 Gestión 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 sesión. 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 aplicación debe escribir una cola TS llamada '+TOTxxxx' (xxxx: código de terminal, es TERMINAL de la commarea de la Arquitectura -CAA-)
decir,
campo
con el siguiente contenido por fila (esta plantilla queda recogida en el manual técnico de la Arquitectura con el nombre QGDTJUA {copy QGECJUA}): * ENTIDAD: Código de la entidad contable en 4 caracteres. * CENTRO:
Código del centro contable en 4 caracteres.
* NETNAME: Código del terminal contable en red en 8 caracteres. * APLICACION: Código de la aplicación en 2 caracteres. (*) * SECUENCIA: Número de secuencia para cada aplicación. (*) *
IMPORTE: longitud.
En
formato
numérico
empaquetado
de
7
caracteres
de
* INDICADOR DEBE O HABER: Indicador de si se debe acumular al debe o al haber del total.
Curs o de Arquite c t u r a Alta mir a
(*)
Diciem b r e 199 7
La aplicacion + un número de secuencia constituye la clave del total contable. Si una aplicación desea que se acumulen totales, debe tener esta clave (aplicación + secuencia) dada de alta en la tabla de totales de referencia (QGDTRTO).
Para las aplicaciones que se definan como MULTIDIVISA, se deberán 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 información propia de la aplicación se deberán incluir los valores siguientes: *
DIVISA: Código de la divisa en la que se ha hecho la operación. Se debe informar siempre aunque se haya realizado en la moneda por defecto de la entidad. Es de 3 posiciones alfanuméricas. * IMPORTE-DIV: Valor numérico de la operación en la divisa indicada. Es un campo empaquetado que recoge un número 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 aplicación. Con posterioridad, la Arquitectura se encargará de hacer las transformaciones necesarias para grabar en la tabla del journal sólo esta información dentro del campo de datos propios, puesto que los otros valores utilizados (divisa e importe) se grabarán 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 operación sea contable (es decir, el indicador
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
Por último indicar que, en diálogos conversacionales, la Arquitectura grabará Journal y Totales solamente cuando la acción que devuelve el programa de aplicación sea "Terminal".
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
6. Cambio de sesión 6.1 Cambio de sesión
Se denomina cambio de sesión al proceso en el que se realiza el cambio de fecha contable en una Entidad. El cambio de sesión en la Arquitectura se realiza de manera centralizada para todas las aplicaciones, y se lleva a cabo mediante una transacción de cambio de sesión (de código QGCS). En esta transacción de cambio de sesión, 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 situación. Tiene como campo de entrada la entidad en la que se quiere realizar el cambio de sesión (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 sesión" (QGDTCSE), que contiene la información de todos los programas o transacciones a los que se debe llamar durante la transacción QGCS. El cambio de sesión consta de dos fases: - FASE PRELIMINAR (1): En la cual se realiza cualquier tipo de verificación para poder continuar con el cambio de sesión. - 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 sesión, la transacción QGCS irá llamando a los procesos asociados a la fase 1 (preliminar), en el orden marcado en la
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
- INDICADOR PROGRAMA/TRANSACCION: Indica si el código anterior es un programa o una transacción (valores P/T). - 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 sesión. - CICS: Nombre del Cics que se verificará que está activo antes de llamar al código correspondiente (transacción o programa). De esta manera, si el contenido de la tabla de cambio de sesión es el siguiente: ENTIDAD 0000 2103 2103 2058 0000 2103 2103 2103 2103
FASE 1 1 1 1 2 2 2 2 2
ORDEN 01 02 03 04 01 02 03 04 05
CODIGO PR/TR QC2CCSS BG2CCSS GC2CCSS XG2CCSS QC2CCSS BG2CCSS MG74 IRCS XGCS
P P P P P P T T T
ACTIVO CICS S S N S S N S N S
CC3A
Si se realiza el cambio de sesión de la entidad 2103, la transacción de cambio de sesión: 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 sesión: 1. Llamará mediante CICS LINK al programa QC2CCSS, ya que está
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
3. Por último, se realizará un START de la transacción XGCS, con lo que se dará por terminado el cambio de sesión. Siempre que algún programa de los llamados devuelva un error, se realizará un ROLLBACK para deshacer los posibles cambios que algún programa anterior hubiera hecho. En el caso de que los procesos sean programas, se les pasará la commarea QGECCSS, que contiene los campos: FASE: Fase en la que se encuentra el cambio de sesión (puede se 1 ó 2). FECHA CONTABLE: Fecha contable actual (es decir, de antes del cambio de sesión). FECHA CONTABLE SIGUIENTE: Fecha contable que va a entrar como actual después del cambio de sesión. CODIGO DE ERROR: Código de error que devolverá el programa en caso de que haya ocurrido alguna incidencia. Si algún programa devuelve un código de error en este campo, se terminará el proceso de cambio de sesión, mostrando este error por pantalla. ENTIDAD ASOCIADA: Entidad en la que se está haciendo el cambio de sesión. TIMESTAMP DE INICIO: Timestamp del inicio del cambio de sesión. En el caso de que los procesos sean transacciones, se realizará un START de la transacción correspondiente, pasándole la siguiente información, que le llegará como pantalla de entrada. Por lo tanto, la transacción, si se ejecuta bajo la Arquitectura, deberá tener el formato de entrada asociado llamado QGRMDST. Los campos de esta pantalla son:
Curs o de Arquite c t u r a Alta mir a
Diciem b r e 199 7
6.2 Cambio de sesión de la Arquitectura
La Arquitectura, como cualquier otra aplicación, realiza su propio cambio de sesión. 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 demás procesos a llamar dependientes de la instalación, y de las necesidades del cliente, pudiendo llegar incluso a no haber ningún 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 versión que figura como vacía después de verificar que efectivamente las tablas están inicializadas. El cambio de sesión 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 sólo una vez el cambio de sesión 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 transacción: así se evita que no se realice el cambio de sesión un dia. Esto es válido sólo para el entorno de producción y se aplica a todas las
Curs o de Arquite c t u r a Alta mir a
•
Diciem b r e 199 7
EN FASE FINAL se realiza: . validaciones concretas que pudieron ser especificadas para esta fase (fase de ejecución). . cambio de la fecha contable y de la fecha contable siguiente en la tabla de control de sesión (QGDTSWA ). . flip-flop de las tablas totales. .
de tecleos, autorizaciones,
actualización del estado de las QGDTAPL y las colas TS asociadas.
aplicaciones
sobre
journal y la
tabla
. 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 201 202 203
•
QC2CCSS QC2CCSS QG2CCSA QC2CTRM
P P P P ______ PRG/TR
N N N N ______ START
S S S S _______ TERM-ACT
OPERACIONES CON LAS TABLAS DIARIAS DE ARQUITECTURA: La Arquitectura ofrece una serie de utilidades contables y de seguridad basándose en la información recogida en ciertas tablas. Estas tablas tienen una vigencia de un día, por lo que el proceso de cambio de sesión contable implica su preformateo. Los grupos de
Curs o de Arquite c t u r a Alta mir a
TECLEOS TOTALES JOURNAL AUTORIZACIONES
Diciem b r e 199 7
ACTIVA B B C B
Ejecutamos la transacción (intercambio) de tablas:
QGCS
FECHA CONTABLE: 13/07/95 FECHA CONTABLE SIG: 14/07/95 TECLEOS TOTALES JOURNAL AUTORIZACIONES
ACTIVA A C A A
AYER
VACIA A C A A
A B y
se
efectúa
el
FLIP/FLOP
Jueves Viernes AYER B C
VACIA A A B B
Donde: . La tabla activa pasa a ser la de Ayer o la Vacía (dependiendo del número de tablas asociado al grupo). . La tabla vacía pasa a ser la tabla activa . La tabla de ayer pasa a ser la tabla vacía Nota: La tabla marcada como vacía seguirá teniendo datos hasta que pasen las cadenas de cambio de sesión, que son las que realmente efectúan el formateo.
C u r s o d e Arq u i t e c t u r a Alt a m i r a
7. Preguntas y Respuestas 8. Ejercicios
1. 2. 3. 4.
Menú. Inicio Conversación. Listado. Selección Múltiple en Conversación. Mantenimiento. Selección Simple. Transaccional.
Di c i e m b r e 1 9 9 7
C u r s o d e Arq u i t e c t u r a Alt a m i r a
8. Anexos
Di c i e m b r e 1 9 9 7
C u r s o d e A r q u i t e c t u r a Al t a m i r a
Di c i e m b r e 1 9 9 7
A.1. Generación Generación de Formatos Formatos y Copys Altamira Altamira
P á g. g. 149
Curso de Arquit e ct u r a Alta mir a
A.2. Estados Inicio /
Dicie m br e 199 7
CONVERSACIONAL
TRANSACCIONAL
S F!*&+! 0 S&%0&
FUENTE BMS
CREACIÓN DEL PREFORMATO CON/SIN LINEAS
QM Opc!"#4
COMPILACIÓN FORMATO
COPY (COBOL)
LOAD (CICS) TSO QM
TSO QM
FORMATO
Opc!"#$ C%&#D P&&*+!# C!p, L.MAPCPY
COPY COBOL
D%*+&0!A1+!*&+c!#S E+&0!#D Tp!# A
PREFI2AR COPY COBOL Continuación / Confirmación
P á g. 151
QM Opc!"#3
Opc!"#3 C%&#D P&&*+!# F!*&+! L.COPYS