Tivoli Service Desk 6.0 Developer's Toolkit - Guide du concepteur d'interfaces (Interface Designer)

Chapitre 3 : Fichiers de mappe et utilitaire de mappage EHLLAPI

Retour à la table des matières


Introduction

Généralités

Les fichiers de mappe exploités par l'interface EHLLAPI sont des fichiers texte ASCII. Ils comportent deux sections : une section d'en-tête (Header) et une section de zones (Fields).

Section d'en-tête (Header)

Les informations contenues dans l'en-tête concernent les paramètres généraux d'un fichier de mappe. Vous pouvez par exemple désirer que l'interpréteur de TSD Script provoque l'enfoncement de la touche ERASE_EOF avant que chacune des zones soit renseignée.

Le format d'un en-tête se présente comme suit :

*HEADER
CLEAR_FIRST = {{TRUE ou ON}|{FALSE ou OFF}}
MOVE_CURSOR = {{TRUE ou ON}|{FALSE ou OFF}}
LIBRARY = {bibliothèque KBC à utiliser comme valeur par défaut
pour les fonctions de formatage définies par l'utilisateur}

L'en-tête doit toujours constituer la première section du fichier de mappe. Les spécifications sont les suivantes :

Section de zones (Fields)

Cette section définit les zones hôtes, ainsi que leurs relations avec les données de TSD Script. Chaque ligne de la section de zones relie essentiellement un point unique d'un champ de données hôte à une zone unique d'enregistrement de TSD Script. En variante, si les données à transférer correspondent à une variable TSD Script unique, il existe alors une ligne de la section Fields qui relie un point d'un champ de données d'hôte au nom de la variable TSD Script correspondante. Chaque ligne de la section Fields s'appelle une entrée de mappe.

Le format de la section de zones d'un fichier de mappe se présente comme suit :

*FIELDS
{field}[, ]{row}[, ]{{col}[, ]{{len} {{USERFORMAT
[, ]{[file:]routinename}|{SYSFORMAT[, ]{constant [constant
...]}}

Chaque segment d'une entrée de mappe doit être séparé par un emplacement vide (espace(s) ou tabulation(s)) ou par une virgule. Chaque segment est décrit de la manière suivante :

Tous les champs de données de l'hôte doivent être convertis depuis ou vers un type TSD Script.

Formats système

Pour chaque type de zone simple de TSD Script, il existe certains formats système applicables.

Les formats système peuvent être combinés de manière à ce que plusieurs formats système apparaissent sous forme de liste dans une zone particulière. Si par exemple vous souhaitez définir une chaîne de caractères alignée à gauche et complétée par une rangée de zéros lorsque vous la téléchargez, vous pouvez définir une portion de code TSD Script pour exécuter cette tâche, ou définir LEFT_JUSTIFY ZERO_PAD comme étant le format système du fichier de mappe. L'emploi des formats système est plus simple et s'exécute plus rapidement qu'une routine de conversion de TSD Script. Si vous ne devez pas écrire de routine de conversion TSD Script particulière, utilisez le format système.

L'emploi d'un format système dépend du type TSD Script simple formaté. Les types simples de TSD Script, les formats système applicables et les descriptions associées sont respectivement décrits dans le tableau ci-dessous.

Type Description
STRING
  • DEFAULT_FORMAT signifie que la chaîne de caractères est alignée à droite et complétée par des espaces.
  • LEFT_JUSTIFY signifie que la chaîne de caractères est alignée à gauche et complétée par des espaces.
  • ZERO_PAD signifie que la chaîne de caractères est complétée par des zéros (et non des espaces).
INTEGER
  • DEFAULT_FORMAT est utilisé lorsque la valeur entière est uniquement précédée d'un signe lorsqu'elle est négative, alignée à droite, complétée par des espaces et chiffrée en base 10 (valeur décimale).
  • LEFT_JUSTIFY signifie que la valeur entière est alignée à gauche.
  • ZERO_PAD signifie que la valeur entière est complétée par des zéros.
  • PREPEND_SIGN signifie que la valeur entière est précédée d'un signe, positif ou négatif.
  • RADIX_16 signifie que la valeur entière est chiffrée en base 16 (valeur hexadécimale).
  • GROUP_BY_3 signifie que la valeur entière est séparée en groupes de trois chiffres (milliers) par une virgule, sauf lorsqu'un autre séparateur est spécifié (par exemple, 1000000 devient 1,000,000).
  • GROUP_SEPR_DOT signifie que le format GROUP_BY_3 utilise un point comme séparateur.
  • GROUP_SEPR_SPACE signifie que le séparateur utilisé est un espace.
  • GROUP_BY_3 signifie que le format est un espace.
BOOLEAN
  • DEFAULT_FORMAT signifie que la valeur affichée est TRUE ou FALSE et est alignée à droite.
  • LEFT_JUSTIFY signifie que la valeur est alignée à gauche.
  • YES_NO signifie que la valeur indiquée correspond à OUI ou NON.
  • 1_0 signifie que la valeur indiquée est 1 ou 0.
REAL
  • DEFAULT_FORMAT signifie que le nombre affiché est aligné à droite, complété par des espaces, que les chiffres ne sont pas regroupés par blocs, qu'un point détermine l'emplacement de la décimale et qu'un signe précède la valeur uniquement lorsque celle-ci est négative.
  • LEFT_JUSTIFY signifie que le nombre est aligné à gauche.
  • ZERO_PAD signifie que le nombre est complété par des zéros.
  • PREPEND_SIGN signifie que la valeur entière est précédée d'un signe, positif ou négatif.
  • DECIMAL_COMMA signifie que l'emplacement de la décimale est déterminé par une virgule.
  • GROUP_BY_3 signifie que la valeur entière est divisée en blocs de trois chiffres (milliers) par des virgules, sauf lorsqu'un autre séparateur est spécifié. Par exemple, 1000000.00 devient 1,000,000.00.
  • GROUP_SEPR_DOT signifie que le séparateur à utiliser avec le format GROUP_BY_3 est un point.
  • GROUP_SEPR_SPACE signifie que le séparateur utilisé avec le format GROUP_BY_3 est un espace.
TIME
  • DEFAULT_FORMAT signifie que la valeur affichée est alignée à droite, complétée par des espaces, indique les secondes et se présente au format 24 heures.
  • LEFT_JUSTIFY signifie que la valeur est alignée à gauche.
  • ZERO_PAD signifie que la valeur entière est complétée par des zéros.
  • WITHOUT_SECONDS signifie que la valeur indique uniquement les heures et les minutes.
  • AM_PM signifie que la valeur est indiquée au format 12 heures, suivi des indications matin ou après-midi (AM, PM).
DATE
  • DEFAULT_FORMAT signifie que la valeur affichée est alignée à droite, complétée par des espaces, adopte le format américain, que les séparateurs sont des barres obliques et que l'année est complète (avec le siècle, par exemple : 1999), les mois étant indiqués sous forme numérique.
  • LEFT_JUSTIFY signifie que la valeur est alignée à gauche.
  • ZERO_PAD signifie que la valeur entière est complétée par des zéros.
  • EUROPEAN_FORMAT signifie que la valeur adopte la convention jour/mois/année.
  • YMD_FORMAT signifie que la valeur adopte la convention année/mois/jour.
  • DASH_SEPARATORS signifie que les séparateurs utilisés sont des tirets ("--").
  • NO_SEPARATORS signifie que la valeur indiquée ne comporte aucun séparateur.
  • TRUNCATE_CENTURY signifie que l'indication de l'année concerne uniquement les deux derniers chiffres (en supposant que la valeur correspondant au siècle est 19).
  • NAMED_MONTHS signifie que la valeur affichée indique le nom du mois approprié. Par exemple, 1er janvier 1999.
  • SHORT_NAMES signifie que les noms de mois sont abrégés. Par exemple, 1er jan. 1999.
  • ALL_CAPS signifie que le mois est affiché en majuscules, par exemple : 1er janvier 1999 ou 1er JAN 1999.

Fonctions de formatage définies par l'utilisateur

Vous pouvez être amené, dans certaines circonstances, à définir vos propres fonctions de formatage dans TSD Script. Une fonction de formatage définie par l'utilisateur reconnaît les entrées de données, convertit ces dernières au nouveau format et renvoie une valeur booléenne indiquant le succès de l'opération. Les fonctions de formatage définies par l'utilisateur se présentent généralement de la manière suivante :

FUNCTION {funcname}(VAL {source}:{sourcetype}, REF
                  {target}:{targettype}):BOOLEAN

Les fonctions de formatage définies par l'utilisateur sont décrites ici plus en détail.

Fonction de formatage définie par l'utilisateur Description
sourcetype
  • Download signifie que la valeur du paramètre sourcetype doit toujours être STRING.
  • Upload signifie que le paramètre sourcetype doit nécessairement correspondre au type de la variable TSD Script ou à la zone d'enregistrement qui fait l'objet de la conversion.
targettype
  • Download signfie que le paramètre targettype doit nécessairement correspondre au type de la variable TSD Script ou à la zone d'enregistrement qui fait l'objet de la conversion.
  • Upload signifie que la valeur du paramètre targettype doit toujours être STRING.
returntype La valeur renvoyée doit être conforme au type BOOLEAN. Si la fonction renvoie la valeur FALSE, l'interpréteur de TSD Script suppose qu'une erreur s'est produite et renvoie une erreur EMUERR_FORMAT_FN_FAILURE (-7005) à l'émetteur de l'appel. Si la fonction de conversion renvoie la valeur TRUE mais définit la valeur cible comme étant $Unknown, l'interpréteur de TSD Script suppose que la conversion a abouti et lance la validation de l'opération. Dans le cas d'un téléchargement en aval, la variable ou la zone d'enregistrement de TSD Script contient une valeur $Unknown. Dans le cas d'un téléchargement en amont, cette zone n'est pas prise en compte par l'interpréteur de TSD Script.

Du fait que les règles changent en fonction du sens du flux de données, une mappe comportant des fonctions définies par l'utilisateur doit être respcetivement dédiée aux téléchargements vers l'amont ou vers l'aval, sauf lorsque les données source et cible sont du type STRING.

A titre d'exemple, supposez que vous souhaitiez convertir un niveau de sévérité de Tivoli Problem Management (TPM), qui se trouve au format numérique, sous forme d'échelle alphabétique (telle que 1 pour A, 2 pour B, et ainsi de suite). Parallèlement, pour les téléchargements en aval, vous souhaitez convertir l'échelle alphabétique afin qu'elle redevienne une échelle numérique. En premier lieu, vous devez définir une fonction TSD Script destinée à changer la valeur numérique en valeur alphabétique (pour les téléchargements vers l'amont) :

FUNCTION ToAlpha(VAL inSeverity:INTEGER, REF
                 outSeverity:STRING):BOOLEAN IS
    ACTIONS
outSeverity := Char(64 + inSeverity);
Exit(TRUE);
END; -- ToAlpha

Vous devez ensuite créer une routine visant à convertir les données alphabétiques au format numérique (pour les téléchargements en aval) :

FUNCTION ToNumeric(VAL inSeverity:STRING, REF
                  outSeverity:INTEGER):BOOLEAN IS
    ACTIONS
outSeverity := CharCode(StrUpper(inSeverity)) - 64;
END; -- ToNumeric

Supposons que ces fonctions soient sauvegardées dans un fichier intitulé CONVERT. Pour définir la sévérité dans la zone de mappe des téléchargements vers l'amont, la fonction ToAlpha est configurée comme suit :

SEVERITY 10 10 1 USERFORMAT CONVERT:TOALPHA

Pour définir la sévérité dans la zone de mappe des téléchargements vers l'aval, la fonction ToNumeric est configurée comme suit :

SEVERITY 10 10 1 USERFORMAT CONVERT:TONUMERIC

Fonctionnement de l'utilitaire de mappage EHLLAPI

Introduction

Bien que les fichiers de mappe soient caractérisés par leur simplicité, leur création manuelle pour les besoins d'une interface entière peut nécessiter un investissement temporel important.

Pour déterminer correctement des points de l'écran hôte en comptant des lignes et des colonnes, le développeur augmente son risque d'erreur, notamment lorsqu'il se trouve en présence d'un grand nombre d'écrans contenant chacun de multiples zones.

La plupart des développeurs d'interface préféreront donc au contraire consacrer leur temps à étudier la logistique de l'interface.

La modification du fichier de mappe à une date ultérieure ou par un autre utilisateur est difficile à effectuer lorsque cet utilisateur ne dispose que d'un fichier texte en consultation.

Pour résoudre ces difficultés, Tivoli Systems a mis au point l'utilitaire de mappage EHLLAPI (Map Utility).

Présentation de l'utilitaire de mappage (Map Utility)

L'utilitaire de mappage EHLLAPI permet de créer de façon intuitive des fichiers de mappe exploités par les fonctions EMUMapUpload et EMUMapDownload de TSD Script.

L'utilitaire de mappage EHLLAPI rend également possible la capture d'écrans hôtes et leur sauvegarde sous forme de fichiers texte (fichiers SCR). La création des fichiers de mappe à partir des captures d'écrans s'effectue lorsque vous sélectionnez les zones pour lesquelles vous désirez créer des entrées. Pour sélectionner les entrées de zones, vous pouvez cliquer sur ces dernières et les déplacer.

En outre, l'utilitaire de mappage EHLLAPI s'avère intéressant pour la maintenance des interfaces, car cet outil charge les fichiers SCR constitués lors des captures précédentes, et applique tous les fichiers de mappe sur l'écran. Grâce à l'utilitaire de mappage EHLLAPI Map Utility, vous pouvez créer, visualiser, éditer et effacer des entrées de zone, de manière visuelle et intuitive.

L'utilitaire de mappage EHLLAPI a été entièrement créé à l'aide de TSD Script. Si vous souhaitez apporter des modifications au code de TSD Script, Tivoli Systems vous conseille d'effectuer une copie de sauvegarde des fichiers du code d'origine (maputil.kb, mapentry.df) avant de procéder au moindre changement.

Démarrage

Pour lancer l'utilitaire de mappage EHLLAPI, la boîte à outils du développeur (TSD Developer's Toolkit) doit être installée sur votre machine. Pour utiliser l'option de capture d'écrans, vous devez également procéder à l'installation des extensions EHLLAPI pour TSD Developer's Toolkit.

Pour lancer l'outil, procédez comme suit :

  1. Placez-vous dans le répertoire d'installation de l'utilitaire de mappage EHLLAPI (ce répertoire contient le fichier maputil.kb).
  2. Analysez le fichier maputil.kb.
  3. A l'invite de commande, tapez :
    KML MAPUTIL
  4. Appuyez sur ENTREE.
    Résultat : Une fenêtre vide de l'utilitaire de mappage de la boîte à outils TSD s'affiche, accompagnée d'une fonction de défilement.

Caractères spéciaux

Lorsque des captures d'écran ont été effectuées sur l'hôte, certains caractères, qui n'étaient pas visibles dans la fenêtre de terminal, s'affichent. Ils sont masqués par les caractères de l'hôte, lesquels se comportent comme des délimiteurs de zones. L'utilitaire de mappage EHLLAPI n'efface pas ces caractères, car ils peuvent servir à déterminer les emplacements de début et de fin des champs de données.

Capture d'un écran de l'hôte

La capture d'un écran d'hôte est la première opération avec laquelle vous devez vous familiariser. La définition des opérations de téléchargement vers l'amont ou vers l'aval nécessite toujours une étape initiale, quel que soit l'écran d'hôte concerné.

Lorsqu'une capture d'écran est effectuée, elle est :

La convention adoptée par Tivoli Systems consiste à attribuer l'extension .SCR aux fichiers de capture d'écran. Toutefois, il vous est permis de nommer les fichiers en leur associant n'importe quelle autre extension.

Pour effectuer une capture d'écran de l'hôte, procédez comme suit :

  1. Dans votre session d'émulation de terminal, ouvrez l'écran d'hôte dont vous souhaitez réaliser une capture.
  2. Dans le menu Fichier de l'utilitaire de mappage EHLLAPI, choisissez l'option Capture d'écran hôte.
    Résultat : Vous êtes invité à indiquer un nom de fichier.
  3. Indiquez un nom de fichier valide dans la fenêtre de saisie.
    Résultat : Vous êtes invité à indiquer la session de terminal (nom abrégé) à utiliser.
  4. Cliquez sur OK.
    Résultat : La capture d'écran est réalisée et sauvegardée. Elle s'affiche ensuite dans la fenêtre de l'utilitaire de mappage EHLLAPI de la boîte à outils TSD.

Remarque : Une fois que vous avez effectué la capture d'écran, la commande du menu Capture d'écran hôte devient inactive.

Si vous souhaitez procéder à la capture d'un autre écran hôte :

Il est possible de redimensionner la fenêtre de l'utilitaire de mappage EHLLAPI. Lorsque l'écran hôte n'est pas totalement visible, vous pouvez redimensionner la fenêtre jusqu'à ce que l'écran entier soit affiché. Si la fenêtre est trop grande, vous ne pouvez pas mapper les entrées situées à l'extérieur de l'écran hôte.

Remarque : Les sessions d'émulation de terminal ne sont utilisées que pour effectuer des captures d'écrans. Toutes les autres opérations de l'utilitaire de mappage EHLLAPI sont accomplies à l'aide de la boîte à outils du développeur TSD. Vous pouvez ainsi effectuer simultanément un grand nombre de captures, puis créer des mappes ultérieurement, et ce même si Communications Manager n'est pas installé sur votre machine.

Chargement d'un fichier de capture d'écran

Si vous souhaitez charger le fichier d'une capture d'écran effectuée précédemment, procédez comme suit :

Après avoir chargé un fichier de capture d'écran, la fonction Chargement de fichier de capture d'écran devient inactive. Si vous souhaitez charger le fichier d'une autre capture d'écran, procédez comme suit :

Création d'entrées de mappe

Une fois qu'un fichier de capture d'écran a été chargé, vous pouvez créer un fichier de mappe correspondant à cet écran.

Procédez comme suit pour sélectionner la zone dont l'entrée de mappe est créée :

  1. Positionnez le pointeur de la souris sur le bord gauche du premier emplacement de la zone.
  2. Déplacez le pointeur à la fin de la zone, puis relâchez le bouton de la souris.
    Résultat : La zone sélectionnée est mise en surbrillance à l'aide des couleurs définies sur votre système.

Si le pointeur est déplacé trop rapidement, la zone en surbrillance peut éventuellement ne pas contenir le premier caractère de la zone. Lorsque cette situation se produit, répétez les étapes précédentes.

Pour créer une entrée correspondant à la zone concernée :

  1. Dans le menu Mappe, sélectionnez Création d'entrée (ou enfoncez la touche INSER).
    Résultat : Une boîte de dialogue s'affiche.
  2. Complétez les informations indiquées dans les fenêtres de texte.
  3. Cliquez sur OK.
    Résultat : La zone en surbrillance devient un objet actif. L'objet actif s'affiche dans le texte de la barre de titre active du système, ainsi qu'en arrière-plan du texte de la barre de titre active.

Edition des entrées de mappe

Pour éditer une entrée de mappe, procédez comme suit :

  1. Sélectionnez l'entrée de mappe en cliquant dessus.
    Résultat : L'entrée de mappe devient l'objet actif.
  2. Dans le menu Mappe, sélectionnez Edition d'entrée.
    Résultat : Une boîte de dialogue s'affiche pour vous inviter à modifier les paramètres de l'entrée de mappe.
  3. Effectuez les modifications nécessaires.
  4. Cliquez sur OK.

Remarque : Si vous cliquez deux fois sur un objet, cela revient à cliquer dessus une fois et à sélectionner l'option Edition d'entrée.

Suppression d'entrées de mappe

Pour supprimer une entrée de mappe, procédez comme suit :

  1. Sélectionnez l'entrée de mappe en cliquant dessus.
    Résultat : L'entrée de mappe devient l'objet actif.
  2. Appuyez sur la touche SUPPR.

Définition des attributs de l'en-tête de mappe

Pour définir les informations d'en-tête du fichier de mappe, procédez comme suit :

Sauvegarde d'un fichier de mappe

Pour sauvegarder un fichier de mappe ne portant pas de nom, ou pour enregistrer le fichier sous un nom différent :

  1. Dans le menu Fichier, sélectionnez Sauvegarde de la mappe en.
    Résultat : La boîte de dialogue Nom de fichier s'affiche.
  2. Dans la fenêtre de texte, indiquez le nom du fichier.
  3. Cliquez sur OK.

Si vous souhaitez sauvegarder un fichier de mappe déjà nommé, procédez comme suit :

Application d'un fichier de mappe

L'application d'un fichier de mappe sur un écran permet à un utilisateur de consulter le fichier de mappe spécifié et de mettre en surbrillance les entrées de mappe rencontrées dans le fichier correspondant. Cette option s'avère utile lorsque les uilisateurs souhaitent ajouter ou modifier un fichier de mappe.

Pour appliquer un fichier de mappe à un écran :

  1. Dans le menu Mappe, sélectionnez Application d'une mappe.
    Résultat : Une boîte de dialogue s'affiche et vous invite à indiquer le nom du fichier de mappe.
  2. Dans la fenêtre de texte, indiquez le nom du fichier de mappe.
  3. Cliquez sur OK.

Après avoir appliqué la mappe, vous pouvez l'éditer, la supprimer et y ajouter des entrées.

Réinitialisation de l'utilitaire de mappage EHLLAPI

Lorsque vous affichez un écran ou qu'une mappe est appliquée à un écran, certaines commandes du menu Fichier deviennent indisponibles. Si vous devez effectuer une nouvelle capture d'écran ou charger un fichier de capture d'écran différent, vous devez au préalable réinitialiser l'affichage en cours.

Pour réinitialiser l'affichage en cours, procédez comme suit :

Utilitaire de mappage EHLLAPI - Choix des polices

Pour changer la police de caractères utilisée dans la fenêtre de l'utilitaire :

Remarque : Le choix de la police n'est pas sauvegardé lorsque vous quittez l'utilitaire de mappage EHLLAPI.

Sortie de l'utilitaire de mappage EHLLAPI

Pour quitter l'utilitaire de mappage EHLLAPI en cours d'exécution, employez l'une des méthodes suivantes :

  1. Dans le menu Fichier, choisissez Sortie.
  2. Cliquez deux fois sur le menu système de la fenêtre.
  3. Dans le menu système de la fenêtre, sélectionnez Fermer.

Si vous décidez de quitter l'application mais que vous n'avez pas sauvegardé vos dernières modifications, un message vous demande si vous souhaitez sauvegarder le fichier.

Si vous sélectionnez Oui et qu'aucun nom n'a été défini pour ce fichier, une boîte de dialogue Fichier s'affiche, vous invitant à indiquer un nom de fichier.

Exemple d'utilitaire de mappage EHLLAPI

Exemple d'écran AS/400

Cet exemple illustre l'emploi d'un écran AS/400 pour afficher les paramètres de réseau. Cet exemple indique les procédures vous permettant de :

  1. Réaliser une capture d'écran.
  2. Créer une mappe.
  3. Créer le segment de code nécessaire au téléchargement vers l'aval à partir de l'écran.

Les fichiers d'exemples (intitulés example.scr, example.kb et example.map) sont accessibles depuis le répertoire OS2ASE.

L'écran d'hôte est semblable à l'exemple suivant :

Affichage des paramètres réseau du système :

Système :
S1028662
Nom actuel du système . . . . . . . .. . . : S1028662
Nom du système en attente . . . . . . . . . . . .:
ID de réseau local . . . . . . . . . . . . . : APPN
Nom du point de contrôle local. . . . . . . . . : S1028662
Emplacement local par défaut. . . . . . . . . . : S1028662
Mode par défaut . . . . . . . . . . . . . . . : BLANK
Type de noeud APPN . . . . . . . . . . . . . . :*ENDNODE
Nombre maximal de sessions intermédiaires. . : 200
Résistance d'ajout de routage . . . . . . . . .: 128
Point de contrôle/ID réseau serveur.. . .:

Suite...
Appuyez sur ENTREE pour continuer.

F3=Sortie F12=Annulation

Démarrage de l'utilitaire de mappage EHLLAPI

Pour lancer l'exemple de l'utilitaire de mappage EHLLAPI, accomplissez les étapes suivantes :

  1. Démarrez l'utilitaire de mappage EHLLAPI.
  2. Lancez une session d'émulation de terminal Communications Manager (le nom de cette session est "A").
  3. Connectez-vous et lancez les commandes d'affichage des paramètres réseau AS/400.

Création d'une mappe à l'aide de l'utilitaire de mappage EHLLAPI

Une fois les procédures de la section précédente exécutées, vous pouvez réaliser une capture d'écran.

Le nom du fichier sélectionné est Example.scr, bien qu'une interface porte généralement un nom plus évocateur, tel que dnetattr.scr. Sur la base du nom du fichier de capture d'écran, vous créez une mappe intitulée Example.map.

Pour créer cet exemple de manière simple et efficace :

La liste suivante indique le détail des informations relatives à chaque entrée de mappe :

Entrée de mappe Description
currentSystemName Longueur : 8 - Format système : DEFAULT_FORMAT - Type TSD Script : STRING.
pendingSystemName Longueur : 8 - Format système : DEFAULT_FORMAT - Type TSD Script : STRING.
localNetworkID Longueur : 8 - Format système : LEFT_JUSTIFY - Type TSD Script : STRING.
localCPName Longueur : 8 - Format système : DEFAULT_FORMAT - Type TSD Script : STRING.
dfltLocalLocation Longueur : 8 - Format système : DEFAULT_FORMAT - Type TSD Script : STRING.
dfltMode Longueur : 8 - Format système : LEFT_JUSTIFY.
APPNNodeType Longueur : 8 - Format système : DEFAULT_FORMAT - Type TSD Script : INTEGER.
maxNbrIntSess Longueur : 4 - Format système : LEFT_JUSTIFY - Type TSD Script : INTEGER.
routeAddRes Longueur : 3 - Format système : LEFT_JUSTIFY - Type TSD Script : INTEGER.

Ces formats système (autres que DEFAULT_FORMAT) sont utilisés pour les opérations de téléchargement vers l'amont. Dans le cas des téléchargements vers l'aval, l'espace vide est délimité par les valeurs saisies. Les attributs d'en-tête ne sont pas définis pour cette mappe, mais les paramètres utilisés sont les valeurs par défaut.

Lorsque vous avez créé toutes les entrées, vous devez sauvegarder la mappe sous le nom EXAMPLE.MAP. L'utilitaire de mappage EHLLAPI crée un fichier semblable à l'exemple qui suit. Cet exemple effectue un téléchargement simple vers l'aval. Il illustre les étapes fondamentales de la création de mappe au moyen de l'utilitaire de mappage EHLLAPI.

*REM Mapfile name is E:\EHLLAPI\MAPUTIL\example.map
*HEADER
CLEAR_FIRST = FALSE
MOVE_CURSOR = TRUE
*FIELDS
currentSystemName, 3, 55, 8, SYSFORMAT, DEFAULT_FORMAT
pendingSystemName, 4, 57, 8, SYSFORMAT, DEFAULT_FORMAT
localNetworkID,    5, 55, 8, SYSFORMAT, LEFT_JUSTIFY
localCPName,       6, 55, 8, SYSFORMAT, DEFAULT_FORMAT
dfltLocalLocation, 7, 55, 8, SYSFORMAT, DEFAULT_FORMAT
dfltMode,          8, 55, 8, SYSFORMAT, LEFT_JUSTIFY
APPNNodeType,      9, 55, 8, SYSFORMAT, DEFAULT_FORMAT
maxNbrIntSess,    10, 55, 4, SYSFORMAT, LEFT_JUSTIFY
routeAddRes,      11, 55, 3, SYSFORMAT, LEFT_JUSTIFY
Le segment de code TSD Script utilisant ce fichier de mappe serait :
TYPES
NetAttrRec IS RECORD
    currentSystemName                             :STRING;
    pendingSystemName                             :STRING;
    localNetworkID                                :STRING;
    localCPName                                   :STRING;
    dfltLocalLocation                             :STRING;
    dfltMode                                      :STRING;
    APPNNodeType                                  :STRING;
    maxNbrIntSess                                 :INTEGER;
    routeAddRes                                   :INTEGER;
    $myDnloadMap {'EXAMPLE.MAP'}:STRING;
END;
ROUTIINES
FUNCTION GetNetAttributes(VAL conn:EMUCONNECTION,
REF netAttr:NetAttrRec):INTEGER IS
-- Vous êtes censé être déjà placé sur l'écran approprié.
VARIABLES
            rc :INTEGER;
    ACTIONS
            rc := EMUMapDownload(conn,
                                 netAttr.$myDnloadMap,netAttr);
            IF (rc < 1) THEN
            WinMessageBox($DESKTOP,'Erreur',$MBOK,
                          'Téléchrg. mappe retourne '& rc);
END;
            Exit(rc);
END; -- GetNetAttributes

Création d'une entrée de mappe pour les ID réseau

Dans cette section, vous créez une entrée de mappe correspondant aux ID réseau du serveur. Ces numéros d'identification peuvent apparaître dans cinq zones différentes.

En déplaçant le pointeur entre le premier caractère de la première zone et le dernier caractère de la dernière zone, vous créez une entrée nommée srvrNetworkID reconnue par l'utilitaire de mappage comme une zone comportant plusieurs lignes. Une fonction de formatage définie par l'utilisateur nommée ParseSrvrNames est ainsi créée.

La fonction de formatage se présente de la manière suivante :

FUNCTION ParseSrvrNames(VAL inStr:STRING,
REF srvrNetworkID:LIST OF STRING):BOOLEAN IS
VARIABLES
                temp            :STRING;
    ACTIONS
                temp         := StrTrim(StrLTrim(inStr)); -- get rid of                                                                                                                                                                                                 blank fields
    WHILE (Known(temp)) DO
                    ListInsert(srvrNetworkID, StrCopy(temp,1,8));
                    temp         := StrDelete(temp,1,80);
END;
Exit(TRUE);
END; -- ParseSrvrNames

Vous déclarez srvrNetworkID sous la forme d'une liste de chaînes de caractères dans l'enregistrement :

NetAttrRec IS RECORD
    currentSystemName                             :STRING;
    pendingSystemName                             :STRING;
    localNetworkID                                :STRING;
    localCPName                                   :STRING;
    dfltLocalLocation                             :STRING;
    dfltMode                                      :STRING;
    APPNNodeType                                  :STRING;
    maxNbrIntSess                                 :INTEGER;
    routeAddRes                                   :INTEGER;
    srvrNetworkID                                 :LIST OF STRING;
    $myDnloadMap {'EXAMPLE.MAP'}:STRING;
END;

Au moment du téléchargement vers l'amont, la liste est mise à jour avec les valeurs correctes. Cette méthode peut sembler plus pratique qu'un appel de EMUFillBuffer à répétition, ou que la création de zones fictives dans l'enregistrement TSD Script en vue de télécharger toutes les zones dans une mappe, suivie de l'incorporation simultanée de toutes les valeurs à la liste.


Tivoli Service Desk 6.0 Developer's Toolkit - Guide des API existantes

Retour à la table des matières

Copyright