CICS - CARTE

BMS reçoit les données saisies par l'utilisateur puis les met en forme dans une zone cartographique symbolique. Le programme d'application n'a accès qu'aux données présentes dans la carte symbolique. Le programme d'application traite les données et la sortie est envoyée à la carte symbolique. BMS fusionnera la sortie des données symboliques avec la carte physique.

Carte physique

La carte physique est un module de chargement dans la bibliothèque de chargement qui contient des informations sur la façon dont la carte doit être affichée.

  • Il contient les détails sur les attributs de tous les champs de la carte et leurs positions.

  • Il contient le format d'affichage de la carte pour un terminal donné.

  • Il est codé à l'aide de macros BMS. Il est assemblé séparément et lié à la bibliothèque CICS.

Carte symbolique

Une carte symbolique est un livre de copie dans la bibliothèque. Le livre de copie est utilisé par le programme d'application CICS pour envoyer et recevoir des données du terminal.

  • Il contient toutes les données variables qui sont copiées dans la section WORKINGSTORAGE du programme.

  • Il a tous les champs nommés. Le programmeur d'application utilise ces champs pour lire et écrire des données dans la carte.

Champ Skipper et Stopper

Pour un champ nommé non protégé, dans une carte, si nous avons spécifié une longueur de 10, cela signifie que le champ de nom peut prendre des valeurs dont la longueur ne peut pas dépasser 10. Mais lorsque vous affichez cette carte à l'aide de CICS et commencez à saisir des valeurs pour ce champ sur l'écran, nous pouvons entrer plus de 10 caractères, c'est-à-dire jusqu'à la fin de l'écran et nous pouvons entrer même dans la ligne suivante. Pour éviter cela, nous utilisons le champ Skipper ou le champ stopper. Un champ Skipper serait généralement un champ Sans nom de longueur 1, spécifié après un champ nommé.

Champ de skipper

Si nous plaçons un champ skipper après le champ non protégé nommé, alors lors de la saisie de la valeur, une fois la longueur spécifiée atteinte, le curseur se positionnera automatiquement sur le champ non protégé suivant. L'exemple suivant montre comment ajouter un champ skipper -

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

Champ de butée

Si nous plaçons un champ stopper après le champ nommé non protégé, alors lors de la saisie de la valeur, une fois la longueur spécifiée atteinte, le curseur arrêtera son positionnement. L'exemple suivant montre comment ajouter un champ stopper -

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

Octet d'attribut

L'octet d'attribut de tout champ stocke des informations sur les propriétés physiques du champ. Le diagramme suivant et le tableau expliquent la signification de chaque bit.

Position du bit La description Paramètres de bit
0 et 1   Déterminé par le contenu des bits 2 à 7
2 et 3 Protection et décalage 00 - Alphanumérique non protégé
01 - Numérique non protégé
10 - Arrêt protégé
11 - Saut protégé
4 et 5 Intensité 00 - Normal
01 - Normal
10 - Lumineux
11 - Pas d'affichage (sombre)
6   Doit toujours être zéro
sept Balise de données modifiée 0 - Le champ n'a pas été modifié
1 - Le champ a été modifié

Balise de données modifiée

La balise de données modifiées (MDT) est le dernier bit de l'octet d'attribut.

  • MDT est un drapeau qui contient un seul bit. Il spécifie si la valeur doit être transférée vers le système ou non.

  • Sa valeur par défaut est 1, lorsque la valeur du champ est modifiée.

  • Si MDT vaut 0, les données ne peuvent pas être transférées; et si MDT vaut 1, les données peuvent être transférées.

Envoyer la carte

La commande send map écrit la sortie formatée sur le terminal. Il est utilisé pour envoyer la carte au terminal à partir du programme d'application. Le segment de code suivant montre comment envoyer une carte au 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

Le tableau suivant répertorie les paramètres utilisés dans une commande send map ainsi que leur signification.

Sr.Non Paramètre et description
1

Map-name

C'est le nom de la carte que nous voulons envoyer. C'est obligatoire.

2

Mapset-name

C'est le nom de l'ensemble de cartes qui contient le nom de la carte. Le nom du jeu de cartes est nécessaire sauf s'il est identique au nom de la carte.

3

FROM

Il est utilisé si nous avons décidé d'utiliser un nom DSECT différent, nous devons utiliser l'option FROM (dsect-name) avec la commande SEND MAP.

4

MAPONLY

Cela signifie qu'aucune donnée de votre programme ne doit être fusionnée dans la carte et que seules les informations de la carte sont transmises.

5

DATAONLY

C'est l'opposé logique de MAPONLY. Nous l'utilisons pour modifier les données variables dans un affichage qui a déjà été créé. Seules les données de votre programme sont envoyées à l'écran. Les constantes de la carte ne sont pas envoyées.

6

ERASE

Cela entraîne l'effacement de tout l'écran avant que ce que nous envoyons ne soit affiché.

sept

ERASEUP

Seuls les champs non protégés sont effacés.

8

FRSET

Flag Reset désactive la balise de données modifiée dans l'octet d'attribut pour tous les champs de l'écran avant que ce que vous envoyez y soit placé.

9

CURSOR

Il peut être utilisé pour positionner le curseur sur l'écran du terminal. Le curseur peut être défini en déplaçant -1 vers la partie L du champ, puis en envoyant la carte.

dix

ALARM

Il déclenche l'alarme sonore.

11

FREEKB.

Le clavier est déverrouillé si nous spécifions FREEKB dans la carte ou dans la commande SEND.

12

PRINT

Il permet d'imprimer la sortie d'une commande SEND sur une imprimante.

13

FORMFEED

Cela oblige l'imprimante à restaurer le papier en haut de la page suivante avant l'impression de la sortie.

Recevoir la carte

Lorsque nous voulons recevoir une entrée d'un terminal, nous utilisons la commande RECEIVE MAP. Les paramètres MAP et MAPSET ont exactement la même signification que pour la commande SEND MAP. Le segment de code suivant montre comment recevoir une carte -

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

Exécution de Mapset

Les étapes suivantes sont nécessaires pour développer et exécuter un ensemble de cartes -

  • Step 1 - Ouvrez une session TSO.

  • Step 2 - Créez un nouveau PDS.

  • Step 3 - Codez un ensemble de cartes dans un nouveau membre selon l'exigence.

  • Step 4 - Assemblez le jeu de cartes à l'aide du JCL fourni par l'administrateur CICS.

  • Step 5 - Ouvrez une session CICS.

  • Step 6 - Installez le programme à l'aide de la commande -

    CEMT SET PROG (mapset-name) NOUVEAU

  • Step 7 - Tapez la commande suivante pour envoyer la carte au terminal -

    CECI SEND MAP (nom de la carte) MAPSET (nom du jeu de cartes) EFFACEMENT