CICS – Macros BMS : DFHMSD

DFHMSD est utilisé pour définir un mapset avec ses caractéristiques et pour terminer un mapset. Vous trouverez donc deux DFHMSD dans n’importe quel codage BMS. Certains des opérandes importants sont ci-dessous :

  • TYPE
    Il doit être DSECT pour la génération de maps symboliques, MAP pour la génération de maps physiques et FINAL pour indiquer la fin de l’ensemble de maps. Alternativement, le paramètre symbolique &SYSPARM peut être codé dans le TYPE de définition de DFHMSD et la valeur peut être remplacée dans le paramètre PARM de la procédure d’assemblage. Cela évite la modification du codage BMS.
  • MODE
    IN pour les maps d’entrée comme les écrans de saisie de commande et OUT pour les maps de sortie comme les écrans d’affichage et INOUT pour les maps d’entrée-sortie comme les écrans de mise à jour.
  • LANG
    Il spécifie le langage dans lequel la map symbolique doit être générée. Il peut s’agir de COBOL, PLI, ASM ou RPG.
  • STORAGE
    AUTO est utilisé pour acquérir une zone de carte symbolique distincte pour chaque jeu de map. BASE=MAP-IOAREA permet à plusieurs maps de plusieurs jeux de maps de partager la même zone de stockage. MAP-IOAREA sera redéfini plusieurs fois pour y parvenir.
  • TIOAPFX
    Il doit être ‘OUI’ pour réserver l’espace de préfixe de 12 octets pour que les commandes BMS accèdent correctement à TIOA. Ceci est requis pour le niveau de commande CICS.
  • CTRL
    Les demandes de contrôle de périphérique sont placées ici. Plusieurs paramètres sont séparés par une virgule. FREEKB est utilisé pour déverrouiller le clavier. FRSET permet de remettre à zéro le MDT de tous les champs de toutes les cartes. ALARM est utilisé pour régler une alarme au moment de l’affichage de l’écran. PRINT est utilisé pour envoyer le jeu de maps à l’imprimante.
  • TERM
    Si autre chose que le terminal 3270 est utilisé pour l’affichage des écrans, il doit être codé ici. Cela garantit l’indépendance de l’appareil en fournissant le suffixe. SUFFIX est utilisé pour spécifier le suffixe du terminal et doit correspondre à l’entrée TCT du terminal.

Exemple

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

MPSET1 DFHMSD TYPE = &SYSPARM, X 
   CTRL = (FREEKB,FRSET), X 
   LANG = COBOL, X 
   STORAGE = AUTO, X 
   TIOAPFX = YES, X 
   MODE = INOUT, X 
   TERM = 3270 
   DFHMSD TYPE = FINAL 
END