CICS - MAPA

BMS recibe los datos ingresados ​​por el usuario y luego los formatea en un área de mapa simbólico. El programa de aplicación tiene acceso solo a los datos presentes en el mapa simbólico. El programa de aplicación procesa los datos y la salida se envía al mapa simbólico. BMS fusionará la salida de los datos simbólicos con el mapa físico.

Mapa físico

Mapa físico es un módulo de carga en la biblioteca de carga que contiene información sobre cómo se debe mostrar el mapa.

  • Contiene los detalles sobre los atributos de todos los campos en el mapa y sus posiciones.

  • Contiene el formato de visualización del mapa para un terminal determinado.

  • Está codificado mediante macros BMS. Se ensambla por separado y se edita por enlace en la biblioteca CICS.

Mapa simbólico

Un mapa simbólico es un libro de copias en la biblioteca. El libro de copias lo utiliza el programa de aplicación CICS para enviar y recibir datos desde el terminal.

  • Contiene todos los datos variables que se copian en la sección WORKINGSTORAGE del programa.

  • Tiene todos los campos con nombre. El programador de aplicaciones usa estos campos para leer y escribir datos en el mapa.

Skipper y Stopper Field

Para un campo con nombre no protegido, en un mapa, si hemos especificado una longitud de 10, esto significa que el campo de nombre puede tomar valores cuya longitud no puede exceder 10. Pero cuando muestra este mapa usando CICS y comienza a ingresar valores para este campo en la pantalla, podemos ingresar más de 10 caracteres, es decir, hasta el final de la pantalla y podemos ingresar incluso en la siguiente línea. Para evitar esto, utilizamos el campo Skipper o el campo stopper. Un campo Skipper generalmente sería un campo Sin nombre de longitud 1, especificado después de un campo con nombre.

Campo de patrón

Si colocamos un campo skipper después del campo desprotegido con nombre, mientras ingresamos el valor, una vez que se alcanza la longitud especificada, el cursor se colocará automáticamente en el siguiente campo desprotegido. El siguiente ejemplo muestra cómo agregar un campo de patrón:

NUMBER  DFHMDF POS = (01,01), X
   LENGTH = 5, X
   ATTRB = (UNPROT,IC)
      DFHMDF POS = (01,07), X
      LENGTH = 1, X
      ATTRB = (ASKIP)

Campo de tapón

Si colocamos un campo de tope después del campo no protegido con nombre, mientras ingresamos el valor, una vez que se alcanza la longitud especificada, el cursor detendrá su posicionamiento. El siguiente ejemplo muestra cómo agregar un campo de tope:

NUMBER  DFHMDF POS = (01,01), X
   LENGTH = 5, X
	ATTRB = (UNPROT,IC)
	   DFHMDF POS = (01,07), X
      LENGTH = 1, X
      ATTRB = (PROT)

Byte de atributo

El byte de atributo de cualquier campo almacena información sobre las propiedades físicas del campo. El siguiente diagrama y la tabla explican el significado de cada bit.

Posición de bit Descripción Configuración de bits
0 y 1   Determinado por el contenido de los bits 2 a 7
2 y 3 Protección y cambio 00 - Alfanumérico sin protección
01 - Numérico sin protección
10 - Parada protegida
11 - Salto protegido
4 y 5 Intensidad 00 - Normal
01 - Normal
10 - Brillante
11 - Sin pantalla (oscuro)
6   Debe ser cero siempre
7 Etiqueta de datos modificada 0 - El campo no se ha modificado
1 - El campo se ha modificado

Etiqueta de datos modificada

La etiqueta de datos modificados (MDT) es el último bit del byte de atributo.

  • MDT es una bandera que contiene un solo bit. Especifica si el valor se transferirá al sistema o no.

  • Su valor predeterminado es 1, cuando se cambia el valor del campo.

  • Si MDT es 0, los datos no se pueden transferir; y si MDT es 1, los datos se pueden transferir.

Enviar mapa

El comando enviar mapa escribe la salida formateada en el terminal. Se utiliza para enviar el mapa al terminal desde el programa de aplicación. El siguiente segmento de código muestra cómo enviar un mapa a la terminal:

EXEC CICS SEND 
   MAP('map-name')
   MAPSET('mapset-name')
   [FROM(data-area)]
   [LENGTH(data_value)]
   [DATAONLY]
   [MAPONLY]
   [CURSOR]
   [ERASE/ERASEAUP]
   [FREEKB] 
   [FRSET]
END-EXEC

La siguiente tabla enumera los parámetros utilizados en un comando de mapa de envío junto con su significado.

No Señor Descripción de parámetros
1

Map-name

Es el nombre del mapa que queremos enviar. Es obligatorio.

2

Mapset-name

Es el nombre del conjunto de mapas que contiene el nombre del mapa. El nombre del conjunto de mapas es necesario a menos que sea el mismo que el nombre del mapa.

3

FROM

Se usa si hemos decidido usar un nombre DSECT diferente, debemos usar la opción FROM (dsect-name) junto con el comando SEND MAP.

4

MAPONLY

Significa que no se fusionará ningún dato de su programa en el mapa y solo se transmite la información del mapa.

5

DATAONLY

Es el opuesto lógico de MAPONLY. Lo usamos para modificar los datos variables en una pantalla que ya ha sido creada. Solo los datos de su programa se envían a la pantalla. Las constantes en el mapa no se envían.

6

ERASE

Provoca que se borre toda la pantalla antes de que se muestre lo que estamos enviando.

7

ERASEUP

Hace que solo se borren los campos desprotegidos.

8

FRSET

Flag Reset desactiva la etiqueta de datos modificada en el byte de atributo para todos los campos en la pantalla antes de que lo que está enviando se coloque allí.

9

CURSOR

Se puede utilizar para colocar el cursor en la pantalla del terminal. El cursor se puede configurar moviendo -1 a la parte L del campo y luego enviando el mapa.

10

ALARM

Hace que suene la alarma audible.

11

FREEKB.

El teclado se desbloquea si especificamos FREEKB en el mapa o en el comando SEND.

12

PRINT

Permite que la salida de un comando SEND se imprima en una impresora.

13

FORMFEED

Hace que la impresora restaure el papel al principio de la página siguiente antes de que se imprima la salida.

Recibir mapa

Cuando queremos recibir entrada de un terminal, usamos el comando RECEIVE MAP. Los parámetros MAP y MAPSET tienen exactamente el mismo significado que para el comando SEND MAP. El siguiente segmento de código muestra cómo recibir un mapa:

EXEC CICS RECEIVE 
   MAP('map-name')
   MAPSET('mapset-name')
   [INTO(data-area)]
   [FROM(data-area)]
   [LENGTH(data_value)]
END-EXEC

Ejecución del conjunto de mapas

Los siguientes pasos son necesarios para desarrollar y ejecutar un conjunto de mapas:

  • Step 1 - Abra una sesión de TSO.

  • Step 2 - Cree un nuevo PDS.

  • Step 3 - Codifique un conjunto de mapas en un miembro nuevo de acuerdo con el requisito.

  • Step 4 - Ensamble el conjunto de mapas utilizando el JCL proporcionado por el administrador de CICS.

  • Step 5 - Abra una sesión CICS.

  • Step 6 - Instale el programa usando el comando -

    CEMT SET PROG (mapset-name) NUEVO

  • Step 7 - Escriba el siguiente comando para enviar el mapa a la terminal -

    CECI SEND MAP (nombre-mapa) MAPSET (nombre-mapa-conjunto) BORRAR FREEKB