PDM_MACRO : insérer du texte à partir d'un fichier de macro

La balise permet d'insérer un fichier de macro dans un fichier HTMPL. Ses fonctionnalités sont similaires à celles de la balise PDM_INCLUDE, à deux importantes différences près :
casm173
La balise permet d'insérer un fichier de macro dans un fichier HTMPL. Ses fonctionnalités sont similaires à celles de la balise PDM_INCLUDE, à deux importantes différences près :
  • Un fichier inséré par une balise PDM_MACRO comprend une liste d'arguments formels composée d'arguments obligatoires et d'arguments dotés des valeurs par défaut.
  • Un fichier inséré par une balise PDM_MACRO provient toujours du répertoire spécifié pour la propriété de configuration MacroPath, quel que soit le type d'accès de l'utilisateur actuel.
  • NAME=
    nommacro
    (Obligatoire) Spécifie la macro à insérer. Le moteur Web ajoute le suffixe ".mac" et recherche le fichier dans le chemin spécifié par la propriété du fichier de configuration MacroPath.
D'autres propriétés peuvent être obligatoires, en fonction de la macro insérée. Un fichier de macro se présente généralement comme suit :
comments #args name1 [= value1] name2 [= value2] ... #data data to insert
Le tableau suivant explique l'organisation du fichier, ligne par ligne :
  • comments :
    les seules instructions valides dans une macro avant l'instruction #args sont les commentaires. Les commentaires sont signalés par le signe # ou les signes // comme premiers caractères autres que des espaces.
  • #args :
    doit être codé exactement de la manière indiquée, avec le signe # dans la colonne un et aucune autre information sur la ligne. Cette instruction commence la section args qui peut contenir des définitions des arguments et des commentaires.
  • name [= valeur] :
    définit un argument pour la macro. Seuls les arguments mentionnés explicitement dans la section args sont valides pour la macro. Une valeur spécifiée pour un argument dans la section args est la valeur par défaut de cet argument. Les arguments sans valeur par défaut sont obligatoires. Ils doivent être fournis par l'appelant dans l'instruction proprement dite.
  • #data :
    doit être codé exactement de la manière indiquée, avec le signe # dans la colonne un et aucune autre information sur la ligne. Cette instruction marque le début de la section données, qui fait partie de la macro insérée dans le fichier à l'aide PDM_MACRO. Tout ce qui se trouve dans la section data est inséré dans le fichier appelant, y compris les lignes de commentaires situées avant la section data.
  • data to insert :
    les données à insérer dans le fichier appelant. Ces données peuvent contenir des références à des arguments sous la forme suivante :
  • &{arg_name} :
    ces références sont remplacées par la valeur de l'argument fourni par l'appelant ou par la valeur par défaut si l'appelant n'a pas fourni de valeur.
Le moteur Web ne lit normalement un fichier de macro qu'une seule fois, lors de sa première utilisation, puis stocke la macro analysée dans sa mémoire. Ceci améliore les performances mais peut constituer un inconvénient si vous développez une macro. Utilisez la propriété du fichier de configuration SuppressMacroCache pour éviter ce comportement et amener le moteur Web à rejeter toutes les macros en mémoire chaque fois qu'il commence à traiter un nouveau formulaire.
Pour commenter des balises PDM_MACRO
Pour mettre en commentaire des balises , entrez un point d'exclamation devant le P, comme suit : <!PDM_MACRO>. Pour que le navigateur ne puisse pas traiter la partie commentée du formulaire, placez <PDM_IF 0> avant la balise <!PDM_MACRO> et </PDM_IF> après la ligne que vous avez commentée. Exemple :
<PDM_IF 0> <!PDM_MACRO NAME=dtlDropdown hdr="Status" attr=status lookup=no evt="onBlur=\\\"detailSyncEditForms(this)\\\""> <!PDM_MACRO NAME=dtlDropdown hdr="Priority" attr=priority lookup=no evt="onBlur=\\\"detailSyncEditForms(this)\\\""> </PDM_IF>