Altair® Monarch®

 

Introduction : Fonctions définies par l’utilisateur

Monarch Classic vous permet de créer vos propres fonctions personnalisées, dites fonctions définies par l'utilisateur, et de les utiliser dans vos expressions de champ calculé, de filtre et de recherche. Les fonctions définies par l'utilisateur peuvent former une combinaison de fonctions Monarch Classic « intrinsèques », intégrées au programme, telles que LSplit, de constantes telles que les chaînes de texte, dates et valeurs numériques, et d'opérateurs. Vous pouvez ensuite y ajouter une liste de paramètres, ou en définir différentes formes, soumises à différents ensembles de paramètres. Vous pourriez, par exemple, créer une fonction utilisateur qui formate un numéro de client conformément à vos propres critères, qui renvoie la lettre de lecteur d'un chemin de fichier, etc.

Sous Monarch Classic, les fonctionnalités d'importation et de liens d'objets permettent de partager, en toute simplicité, les fonctions définies par l'utilisateur entre différents modèles et avec d'autres utilisateurs. Monarch Classic offre l'avantage supplémentaire d'un modèle par défaut utile, dans un premier temps, à la création de vos fonctions définies par l'utilisateur.  

Ce modèle par défaut, intitulé FonctionsUtilisateur.dmod, se trouve dans le dossier des modèles de leçon par défaut d'une nouvelle installation et inclut de nombreuses fonctions types mises automatiquement à votre disposition dès le début du processus de création d'un nouveau modèle. Vous pouvez y ajouter vos propres fonctions utilisateur pour en disposer à chaque élaboration de nouveau modèle. Rien ne vous empêche cependant de spécifier votre ou vos propres modèles par défaut dans la boîte de dialogue Ajouter un modèle extérieur.

Remarquez que le modèle par défaut expose les fonctions utilisateur sans lien : celles que vous choisissez d'utiliser depuis ce modèle se copient donc dans le modèle local sans lien en place. Pour changer cette approche, ouvrez la boîte de dialogue Modèles extérieurs depuis la fenêtre du tableau (sans modèle chargé), sélectionnez et éditez le modèle par défaut et choisissez le type de lien voulu.

A l'image de tous les objets liés, les fonctions définies par l'utilisateur peuvent être copiées (sans lien), liées sous lien faible ou liées sous lien fort avec d'autres modèles. Leur exposition dans le modèle par défaut s'effectue conformément à ce mécanisme.

Spécifications des fonctions définies par l'utilisateur

  • Les noms de fonction doivent commencer par un caractère alphabétique ou trait de soulignement et ne peuvent contenir que des caractères alphabétiques, chiffres ou traits de soulignement.

  • Les noms de paramètre sont soumis aux mêmes règles que les noms de champ (31 caractères maximum, etc.)

  • Les types de paramètres doivent être « Caractère », « Numérique » ou « Date/heure ».

  • La formule ne peut pas être vide et doit analyser adéquatement, sous les seuls noms repris dans la liste « Paramètres », des fonctions intrinsèques et des fonctions utilisateur définies précédemment.

  • Le type de renvoi doit correspondre au type de résultat de la formule.

  • La liste des paramètres ne doit correspondre à aucune autre forme de la même fonction. En d'autres termes, les formes d'une fonction doivent toutes différer en nombre et/ou type de paramètres.

  • Un nombre maximum de 12 paramètres est admis.

  • Les fonctions intrinsèques suivantes ne peuvent pas être utilisées : ID(), Line(), File(), Page(), Rand(), RandEx(), RecNo() et RowNo().

  • Les fonctions définies par l'utilisateur ne peuvent pas être, directement ou indirectement, récursives (elles ne peuvent pas s'appeler elles-mêmes).

 

Remarque : Il n'est pas impossible qu'une version future de Monarch Classic introduise une fonction intrinsèque dont le nom serait identique à l'une de vos fonctions utilisateur. L'introduction d'un trait de soulignement, n'importe où dans le nom de la fonction, évite le problème. Monarch Classic n'introduira en effet jamais de fonction intrinsèque dont le nom contiendrait ce caractère. S'il est extrêmement improbable que le nom de votre fonction corresponde jamais à celui d'une fonction intrinsèque (ReformaterNuméroStockBidule, par exemple), le trait de soulignement est probablement superflu.

Les fonctions définies par l'utilisateur sont configurées via la fenêtre Définition de fonction définie par l'utilisateur. Elles s'affichent dans la liste Fonctions à l'onglet Formule de la fenêtre Propriétés du filtre-formule et à l'onglet Formule de la fenêtre Propriétés du champ de formule.

Voir aussi Configuration d'une fonction définie par l'utilisateur.