Publié le :
Macro CREATION_INTERNE

Gestion des variables de chemin d'accès OS

Ce code est également disponible en : Deutsch English Español
En attente de validation
La macro `%os_fvars` est conçue pour générer dynamiquement des variables macro globales SAS© qui pointent vers des chemins de répertoires spécifiques. Elle utilise des variables macro globales existantes comme `_projpre` (préfixe du projet), `_divider` (séparateur de répertoire du système d'exploitation) et `_suffix` (suffixe de chemin). L'argument `projpath` permet de spécifier des sous-répertoires, où les niveaux de répertoire sont séparés par des deux-points (':'). Ces deux-points sont ensuite remplacés par le séparateur de répertoire approprié (`_divider`) pour le système d'exploitation actuel. La macro s'assure que la variable macro globale est créée avec le nom spécifié par l'argument `mvar` et affiche une note informative dans le log SAS© pour confirmer la création et la valeur finale de la variable.
Analyse des données

Type : CREATION_INTERNE


L'étape `DATA _NULL_` manipule des chaînes de caractères pour construire un chemin de fichier basé sur des variables macro existantes et des arguments passés à la macro. Aucune lecture ou traitement de données à partir de sources externes ou de tables SASHELP n'est effectuée directement dans ce script. La sortie principale est la création d'une variable macro globale.

1 Bloc de code
DATA STEP Data
Explication :
Ce bloc définit la macro `%os_fvars` qui prend deux arguments : `mvar` pour le nom de la variable macro globale à créer, et `projpath` pour le chemin relatif au projet. La macro déclare la variable `mvar` comme globale. À l'intérieur d'une étape `DATA _NULL_`, elle détermine le chemin `path` : si `projpath` est vide, `path` est construit à partir de `_projpre` et `_suffix`. Sinon, elle incorpore `_divider` et remplace les caractères ':' dans `projpath` par `_divider`. `call symput` est ensuite utilisé pour créer la variable macro globale avec le nom et la valeur du chemin construits. Des messages `PUT` sont générés dans le log SAS pour confirmer la création de la variable.
Copié !
1 %macro os_fvars (mvar=, projpath=);
2 
3 %** SETUP GLOBAL MACRO VARIABLE ***;
4 %global &mvar;
5 DATA _null_;
6 mvar=upcase("&mvar");
7 %IF &projpath= %THEN %DO;
8 path="&_projpre"||"&_suffix";
9 %END;
10 %ELSE %DO;
11 path="&_projpre"||"&_divider"||trim(left(tranwrd("&projpath",":","&_divider")))
12 ||"&_suffix";
13 %END;
14 call symput(mvar,trim(left(path)));
15 put "NOTE: os_fvars macro has set-up the following global macro variable:-";
16 put "NOTE: " mvar ": " path;
17 RUN;
18 
19 %mend os_fvars;
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.