Programación Bajo Altamira
Programación Bajo Altamira
DIALOGO CONVERSACIONAL:
MENSAJE:
Es el bloque de información que viaja entre los terminales y el Host a través de las líneas telefónicas
siendo la Arquitectura la encargada de decodificarlo en entrada y codificarlo en salida.
En entrada, la Arquitectura lo presenta a las aplicaciones en un formato estándar (formato tipo BMS)
de forma que a éstas les es transparente el tipo de terminal con el que están interactuando. Para
terminales 3270 la Arquitectura permite trabajar con BMS de entrada en distintos idiomas, según se
haya prefijado el terminal.
FORMATO:
Se denomina formato al conjunto de características de cada uno de los mensajes que viajan entre el
Host y los dispositivos locales en oficinas (terminal, impresora, dispensador, etc).
Las características son: campos asociados, preformatos a utilizar, validaciones a realizar, etc.
- Pantalla de salida. El que le llega de vuelta al terminalista. Puede ser el mismo que
el de entrada y normalmente lo será en una conversación. Es el formato asociado al
mensaje de salida a pantalla.
PREFORMATO:
Contiene la parte fija (literales fijos) de un mensaje. Se trabajará con los literales en el idioma que se
haya prefijado para el terminal o el elegido en la aplicación.
ERRORES Y AVISOS:
Son dos tipos de mensajes a pantalla que informan al terminalista sobre algún tipo de incidencia que
se haya producido durante el proceso.
Los avisos son mensajes puramente informativos sobre el proceso, mientras que los errores indican
algún problema que ha impedido que el proceso se desarrolle con normalidad.
Estos tipos de mensajes son susceptibles de mostrar la información en el idioma de trabajo del terminal, así
como mostrar partes variables dentro del mensaje de aviso o error, en un idioma fijo o en el idioma del
terminal.
TOTALES:
Son conceptos que se utilizan contablemente a nivel de terminal para sumarizar y cuadrar el debe y el
haber dentro y fuera de caja, tanto por terminal como por usuario.
La información que contienen es un bloque de datos para cada terminal, tipo de total y divisa de la operación,
así como el usuario que la ha realizado.
TECLEOS:
Conjunto de operaciones que se efectúan desde los terminales y telediscos, donde quedan registradas
todas las características de cada transacción que se ejecuta a través de la Arquitectura (terminal,
transacción, fecha y hora, datos de la operación, etc.).
TELEDISCO:
CAMBIO DE SESIÓN:
PROCESO DE AUTORIZACIÓN:
Permite realizar una serie de operaciones especiales previa identificación de un usuario que las
"autorice" y que quedará registrado como sujeto responsable de dicha operación.
Protección de los diferentes recursos manejados por la Arquitectura, desde el acceso a las
aplicaciones, transacciones, etc., a la posibilidad de realizar diferentes tipos de operaciones según el
nivel de autorización que tenga el usuario que las efectúe.
También las aplicaciones podrán utilizar la Arquitectura para desarrollar conversaciones (que siempre estarán
en modo pseudoconversacional).
A
R Informa los parámetros A
Q necesarios para el P
U desarrollo de sus L
I procesos Online I
T C
E A
C T
T Realiza peticiones de I
U salida de mensajes e V
informa el resultado de los
R porrcesos
O
A
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.
'O': on-line
'A': Activa
'D': Desactiva
'C': En cambio de sesión
'R': En recuperación (no utilizado en la actualidad).
'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:
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:
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:
'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").
Por ejemplo, un programa que consulte una cuenta de un cliente, puede que deba
consultar la cuenta por su código si le ha cedido el control un programa de consulta
de cuenta por pantalla, o por el código de cliente si le ha cedido el control un
programa de la aplicación de clientes.
* DATOS: Campo que pueden utilizar los programas de aplicación para pasar datos
entre ellos. Es una commarea entre programas de aplicación de 30 caracteres de
longitud. Si la commarea entre programas de aplicación es mayor de 30 caracteres,
o no se desea utilizar este campo, se pueden guardar dichos datos en la dirección
de memoria indicada en el campo PTRDATA.
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:
ACCION='PRG'; CODTRAN-SIG='MENU'
* VAR1-ERROR: Variable primera del mensaje de error. Se puede informar con una
variable válida como literal de error multi-idioma. Esto es válido para todos los
campos variables de los errores y avisos.
Las transacciones pueden tener dos tipos de salidas: la salida estándar, y la salida
no estándar.
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:
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 TIPO-SALIDA con valor 'P'. 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.
* MARGEN-FIJO: Margen que se debe fijar a la izquierda del listado cuando se hace
"scroll" a derecha e izquierda.
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:
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.
* 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.
Altamira opera con dos modalidades Online, los dialogos Conversacionales y los Transaccionales.
En los transaccionales el terminalista realiza una petición al sistema sin poder acruar sobre la respuesta de
este, existe un flujo único de datos.
Un dialogo conversacional es un conjunto de pantallas entrelazadas entre sí de modo que el terminalista tiene
la oportunidad de actuar sobre cualquiera de las respuestas que recibe. Como resultado de esto se obitiene
programas más complejos, pudiendo manejar distintos orígenes (CASO) y secuencias (ESTADO) de entrada.
Se controlará quíen les ha cedido el control ellos u otros programas , si es la primera vez que se ejecuta dentro
de la secuencia de llamada, etc.
La Arquitectura mantiene una relación de transacciones sucesivas que van tomando control en una
conversación, empezando por la que inicia la conversación (que normalmente será el menú principal), y que
constituyen la Cadena de la conversación.
De esta manera el terminalista puede realizar la petición de volver a la transacción inmediatamente anterior en
cualquier punto de la conversación, o bien volver a la transacción inicial que realizó.
Un código de transacción lleva asociado un sólo programa y éste a su vez una única pantalla.
Te c le o de l c ó dig o de Ce de c o ntro l al Pg m.
Trn. de Me nú as o c iado c o n la
trans ac c ió n Pro c e s o e n Es tado ‘I’.
Inic ializa e l c o nte nido
de la pantalla de s alida,
Envía a pantalla de po ne Ac c ió n ‘TER’,
S alida as o c iado a la c o dig o de trn. e lla
trans ac c ió n de me nú mis ma y Es tado ‘C’.
de s pué s de e valuar la
ac c ió n TER
S ale e n pantalla e l
me nú, s e e lig e una
o pc ió n y s e puls a Pro c e s o e n Es tado ’C’.
ENTER Ce de c o ntro l al Pg m.
as o c iado c o n la Evalúa la Opc ió n y la
trans ac c ió n Me nú te c la puls ada y de c ide
c ual e s la pró xima trn.
Po ne Ac c ió n ‘PRG’ y
Es tado ‘I’
Evalúa la Ac c ió n =
‘PRG’ y da c o ntro l al
pg m. as o c iado a la
s ig uie nte trn. que ha
s ido invo c ada
Entra e l prg . de
aplic ac ió n e n Es tado ‘I’.
Inic ializa e l c o nte nido
S ale e n pantalla e l Evalúa la Ac c ió n = de la pantalla de s alida,
me nú, s e e lig e una ‘TER’ y e nvía la po ne Ac c ió n ‘TER’,
o pc ió n y s e puls a pantalla as o c iada a c ó dig o de Trn. e lla
ENTER la nue va trans ac c ió n mis ma y Es tado ‘C’
FINAL Return
5.1. Funcionamiento
Se entiende por paginación la posibilidad de mostrar información repetitiva por pantalla de forma que el
usuario pueda desplazarse dentro del conjunto de datos en cuatro direcciones.
Todos los programas que empleen el módulo de paginación utilizan un mapa común y único (QCRMGTS) en
el cual el cuerpo de datos consta de:
Una parte fija compuesta por los siguientes campos:
Salto.
Contenido.
Línea .
Columna .
Cabecera de listado (de 1 a 5 líneas).
Un caracter de selección por cada línea.
Los datos a paginar almacenados en un único campo de 77 posiciones.
El programa de aplicación escribe las líneas a paginar en una cola TS, y al ceder el control a la Arquitectura,
ésta gestiona todas las funciones de paginación (hacia arriba, abajo, izquierda y derecha) de forma automática.
La arquitectura volverá a dar el control a la aplicación cuando se haya pulsado una tecla que no sea una de las
estándares de paginación.
La parte fija aparece protegida y brillante y no se moverá al hacer scroll arriba y abajo.
Las transacciones en la tabla de transacciones (QGDTCCT) llevan asociado el panel QCRMGTS que es el
mapa común a todas las paginaciones.
Los campos que intervienen en la commarea, además de los propios para la gestión de la conversación, son:
* CAA-TIPO-SALIDA: Se utiliza para indicar a la arquitectura que se trata de un listado (valor P).
* CAA-IND-AVPAG: Indicador de que existen más filas para listar. En caso de ponerlo con valor
‘S’, la arquitectura devolverá el control al programa de listado cuando se
llegue al final y se haya pulsado la tecla de “scroll” hacia abajo. El
programa de aplicación rellenará el listado con más líneas.
* CAA-IND-SCROLL-LAT: Indica si se desea que se pueda realizar “scroll”, a pesar de que las lineas
del listado ocupen más de una pantalla de anchura.
El programa aplicativo entra en estado inicio y borra la cola donde va a escribir las líneas de listado
(+GTSXXXX donde XXXX es la terminal).
A continuación accede a sus tablas y arma el listado como si se tratara de un listado en papel y escribiendolo
en la cola TS +GTSXXXX. La estructura del programa es similar al de un listado. Cada línea del TS
contendrá:
El atributo puede tomar diferentes valores que inciden sobre el campo opción y sobre la línea. Estos valores
son los siguientes:
El programa aplicativo devuelve el control a la arquitectura informando los campos de la commarea CAA:
El módulo de Arquitectura es en adelante el que realiza todo el trabajo y cumple las siguientes funciones:
Desplazamiento en 4 direcciones:
‘n’ caracteres (según el campo SALTO/SCROLL del panel de listado)
‘P’ Página completa
‘H’ Media Página
‘M’ Máximo a izda , derecha, etc.
Mantenimiento de un márgen fijo.
Valida que las teclas de función pulsadas sean las correctas.
Verifica que las teclas de función pulsadas son válidas y que no se haya informado más que uno cuando
no se permite multiselección.
Ilumina y/o protege las líneas que correspondan si procede.
Una vez que el usuario presiona una tecla que no es de paginación el módulo cede el control al aplicativo en
estado continuación y éste, si espera selección, lee la cola TS y actúa en consecuencia.
Los campos del panel de listado (QCRMGTS) comunes a cualquier listado son los siguientes:
6.1. Funcionamiento
Se denomina salida de una transacción a toda respuesta que el terminalista recibe cuando una transacción
finaliza.
Para gestionar una salida no estándar (por ejemplo la impresión de un documento) un aplicativo debe:
Escribir el contenido de dicha salida en una cola TS, comunicar a la Arquitectura a través de la commarea
CAA que existe una salida no estándar, dónde se encuentra el contenido del mensaje (la cola TS) y si la salida
es a pantalla o papel (grupo DESTINOS de la CAA).
Las salidas no estándar pueden a su vez tener o no un formato asociado y su tratamiento es diferente en cada
caso.
Los campos que intervienen en la commarea, además de los propios para la gestión de la conversación, son:
* CAA-IND-PANDOC: Indicador de salida a pantalla (P), documento (D) o disco local (H).
Se recomienda a las aplicaciones no usar éste tipo de formato con el objeto de que al Middleware le sea más
fácil reconstruir el mensaje de salida.
Al no tener el formato asociado se escribe la salida en la cola TS tal como se desea que aparezca en pantalla o
documento.
Para comunicar a la arquitectura la existencia de este tipo de salida se llenan los siguientes campos de la
commarea:
En la cola TS se escribirá, en las 8 primeras posiciones el nombre del formato asociado al mensaje de salida.
Debe existir en la tabla de formatos y a continuación el contenido de los campos variables del mensaje en
formato BMS.
La cola +DCnXXXX puede tener más de una línea, ya que una única salida puede tener varios formatos
asociados que definen partes de un mismo mensaje.
Para comunicar a la arquitectura la existencia de este tipo de salida se llenan los siguientes campos de la
commarea: