Type : CREATION_INTERNE
Der `DATA _NULL_`-Schritt manipuliert Zeichenketten, um einen Dateipfad basierend auf vorhandenen Makrovariablen und an das Makro übergebenen Argumenten zu konstruieren. In diesem Skript erfolgt kein direktes Lesen oder Verarbeiten von Daten aus externen Quellen oder SASHELP-Tabellen. Die Hauptausgabe ist die Erstellung einer globalen Makrovariable.
| 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; |