HANDLEIN

La fonction HANDLEIN renvoie une commande (ou une propriété) pouvant être utilisée dans un argument de fonction RUN.

Vous pouvez utiliser la fonction HANDLEIN lorsque vous extrayez de grands volumes de données d'une mappe parent pour les utiliser dans une mappe RUN. La fonction HANDLEIN utilise la même instance du fichier de la mappe parent dans la mappe RUN, plutôt que de la dupliquer comme le fait la fonction ECHOIN.

Le résultat de la fonction HANDLEIN est un objet texte définissant les caractéristiques des données à utiliser. Cela inclut un descripteur interne, un décalage et la longueur des données. Ce résultat peut être visualisé dans un journal d'audit d'exécution :

<ExecutionSummary MapStatus="Valid" mapreturn="0" ElapsedSec="0.1803"
BurstRestartCount="0">
   <Message>Map completed successfully</Message>
   <CommandLine>install_dir\sdq20.mmc -IH1 4:512:1024 -ae</CommandLine>
   <ObjectsFound>85</ObjectsFound>
   <ObjectsBuilt>23</ObjectsBuilt>
<SourceReport   card="1"   adapter="Handle"   bytes="1024"   adapterreturn="0">
   <Message>Success</Message>
   <Settings>4:512:1024</Settings>
   <TimeStamp>05:06:07 January 27, 2004</TimeStamp>
</SourceReport>
Vous pouvez utiliser la fonction GETANDSET sur une entrée transmise à l'aide de HANDLEIN.
Syntaxe :
HANDLEIN (expression-entier-unique, expression-texte-unique)
Signification :
HANDLEIN (carte_à_substituer, objet_données)
Renvoie :
Un élément texte caractères

Lorsque la fonction HANDLEIN renvoie un élément texte caractères, la chaîne est préfixée par : IHx, où x est le premier paramètre.

Format de chaîne :

-IHx <internal-handle>.<offset>.<length>

Exemple :

-IH1 4.4096.512

single-integer-expression est l'élément numérique spécifiant le numéro de carte à remplacer. single-text-expression spécifie l'objet données à utiliser pour le remplacement.

Dans une règle de mappe RUN, vous pouvez remplacer une carte source par un descripteur de carte d'une mappe en cours, en spécifiant la carte à remplacer et l'objet qui doit la remplacer.

Exemples

Dans la règle suivante, les données sont l'objet c:b:a pour la carte en entrée 2 de la mappe RUN :

HANDLEIN(2, c:b:a)

Le second paramètre peut être plus complexe, le cas échéant. Par exemple,

HANDLEIN(2, SUBSTITUE(c:b:a, "a", "A"))

Toute donnée dans l'objet c:b:a contenant un "a" en minuscule le remplace par un "A" en majuscule pour l'appel de la mappe RUN. Dans ce cas, lorsque les données ne peuvent pas être exprimées de manière contiguë dans la ou les cartes initiales, un fichier de travail est utilisé pour contenir l'expression et le descripteur de la mappe appelante est celui du fichier de travail.

Il n'existe aucune corrélation entre le descripteur renvoyé dans la sortie de HANDLEIN et le numéro de carte réel du second paramètre.

Fonctions associées

Généralement, la fonction ECHOIN permet de renvoyer une commande ou une propriété pouvant être utilisée dans un argument de fonction RUN. Toutefois, en cas de grands volumes de données, l'utilisation de la fonction HANDLEIN peut être plus efficace.

Pour obtenir de meilleurs résultats, utilisez la fonction ECHOIN pour les petites quantités de données, de moins de 100 ko et la fonction HANDLEIN pour les quantités plus importantes, de plus de 100 ko.