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 | %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; |