CICS – Macro BMS : DFHMDF

DFHMDF est utilisé pour définir un champ avec sa caractéristique dans une map. Le nom du champ est mentionné par rapport auquel la macro DFHMDF est codée. Ce nom de champ est utilisé à l’intérieur du programme. Nous n’écrivons pas le nom du champ contre un champ constant que nous ne voulons pas utiliser dans le programme. Il peut y avoir n’importe quel nombre de DFHMDF dans DFHMDI. Certains des opérandes importants de DFHMDF sont ci-dessous :

  • POS
    Il a deux arguments qui ont décidé de la position du champ. Les deux arguments sont ligne et colonne. C’est la position où commence l’octet d’attribut du champ.
    Donc, si vous codez POS = (1,1), l’octet d’attribut pour ce champ est sur la ligne 1 dans la colonne 1, et les données réelles commencent dans la colonne 2.
  • LENGTH
    La longueur du champ est codée ici. Il exclut le caractère d’attribut.
  • ATTRIB
    Tous les champs d’entrée et de sortie sont préfixés par un champ d’attribut d’un octet qui définit les attributs du champ. Certains des attributs sont :
    1. ASKIP/PROT/UNPROT
      Paramètres mutuellement exclusifs qui définissent le type du champ.
      UNPROT est codé pour les champs d’entrée et d’entrée-sortie.
      PROT est codé pour les champs de sortie et d’arrêt.
      ASKIP est codé pour les littéraux d’écran et les champs de saut. Le curseur saute automatiquement au champ suivant et vous ne pouvez donc pas entrer de données dans le champ de saut.
    2. NUM
      0-9, Période et – sont les seuls caractères autorisés.
    3. BRT/NORM/DRK
      Paramètres mutuellement exclusifs qui définissent l’intensité du champ.
    4. IC
      Insérer le curseur. Le curseur sera positionné sur l’affichage de la carte. Si IC est spécifié dans plus d’un champ d’une carte, le curseur sera placé dans le dernier champ.
    5. FSET
      Que le champ soit modifié ou non, il sera transmis au programme. MDT est défini pour le champ.
  • JUSTIFY
    RIGHT est la valeur par défaut. Code LEFT pour les champs numériques.
  • PICIN et PICOUT
    Il définit la clause Picture de la map symbolique en COBOL et est utile pour l’édition de champs numériques.
  • INITIAL
    La valeur par défaut du champ est codée ici. Lorsque le MAP est envoyé, cette valeur apparaîtra dans le champ. Les informations constantes telles que TITRE sont codées à l’aide du mot-clé INITIAL de la définition de champ.Pour éviter le trafic de données, ces champs d’information constants ne doivent pas être codés sans paramètre LABEL. S’il n’y a pas de paramètre LABEL, la carte symbolique ne sera pas générée pour ces champs car ce sont des champs sans nom.

Exemple

L’exemple suivant montre comment coder une définition de champ :

DFHMDF POS = (01,01), X
   LENGTH = 18, X
   INITIAL = ‘SAMPLE CICS SCREEN’, X
      ATTRB = (PROT,NORM)
      STDID DFHMDF POS = (01,70), X
      LENGTH = 08, X
      ATTRB = (PROT,NORM)