Publié le :
Macro CREATION_INTERNE

Macro appmvar - Concaténation conditionnelle de variables macro

Ce code est également disponible en : Deutsch English Español
Cette macro permet de concaténer une nouvelle chaîne à une variable macro accumulatrice (par exemple pour lister des messages d'erreur). Elle gère intelligemment l'ajout d'un séparateur (par défaut '; ') uniquement si la variable contient déjà une valeur et que la nouvelle chaîne n'est pas vide, évitant ainsi les séparateurs superflus au début ou à la fin.
Analyse des données

Type : CREATION_INTERNE


Le script ne manipule pas de tables de données (datasets), il opère uniquement sur des variables macro en mémoire.

1 Bloc de code
MACRO
Explication :
Définition de la macro. Elle évalue la longueur de la variable macro cible (référencée indirectement par &&&mvar) et de la chaîne à ajouter (&append). Si les deux contiennent des données, elles sont concaténées avec le séparateur. Sinon, seule la partie non vide est retournée sans séparateur.
Copié !
1%put MACRO CALLED: appmvar v1.0;
2 
3%macro appmvar(mvar,append,sep=%str(; ));
4 %IF %LENGTH(&&&mvar) and %LENGTH(&append) %THEN %DO;
5&&&mvar&sep&append
6 %END;
7 %ELSE %IF %LENGTH(&append) %THEN %DO;
8&append
9 %END;
10 %ELSE %DO;
11&&&mvar
12 %END;
13%mend appmvar;
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.
Informations de Copyright : Author: Roland Rashleigh-Berry / Public domain software


Banner
Le Conseil de l'Expert
Expert
Stéphanie
Spécialiste Machine Learning et IA.
« La macro %appmvar est un utilitaire de "concatenation propre", indispensable pour la gestion dynamique des logs ou l'agrégation de listes de paramètres. Sa grande force réside dans l'utilisation de la triple esperluette (&&&mvar), une technique de résolution indirecte qui permet de récupérer la valeur d'une variable macro dont le nom est lui-même stocké dans une autre variable. En gérant intelligemment le séparateur, cette macro évite les erreurs de syntaxe courantes, comme un point-virgule orphelin en début de chaîne, garantissant ainsi que vos listes de messages ou de variables sont immédiatement prêtes pour une utilisation ultérieure dans un %PUT ou une clause SQL. »