Call
L'instruction de contrôle call appelle une sous-routine qui doit être définie par une instruction sub précédente.
Call name ( [ paramlist ])
Argument | Description |
---|---|
name | Nom de la sous-routine. |
paramlist | Liste des paramètres à envoyer à la sous-routine, séparés par des virgules. Chaque élément de la liste peut correspondre à un nom de champ, une variable ou une expression arbitraire. |
La sous-routine appelée par une instruction call doit être définie auparavant dans l'exécution du script par une instruction sub.
Les paramètres sont copiés dans la sous-routine et, si le paramètre de l'instruction call désigne une variable au lieu d'une expression, il est recopié et supprimé à la fermeture de la sous-routine.
-
Comme l'instruction call est une instruction de contrôle et qu'elle se termine donc soit par un point-virgule, soit par un caractère de fin de ligne, elle ne doit pas s'étendre sur plusieurs lignes.
-
Lorsque vous définissez une sous-routine avec Sub..end sub à l'intérieur d'une instruction de contrôle, par exemple if..then, vous pouvez uniquement appeler la sous-routine depuis la même instruction de contrôle.
Cet exemple répertorie tous les fichiers liés à Qlik dans un dossier et ses sous-dossiers, et enregistre les informations des fichiers dans une table. On suppose que vous avez créé une connexion de données appelée Apps avec le dossier.
La sous-routine DoDir est appelée avec la référence au dossier, 'lib://Apps', en tant que paramètre. La sous-routine contient un appel récursif Call DoDir (Dir) qui permet à la fonction de rechercher des fichiers dans les sous-dossiers de façon récursive.