Macros for SAS Application Developers
https://github.com/sasjs/core
mp_runddl.sas
Go to the documentation of this file.
1 /**
2  @file mp_runddl.sas
3  @brief An opinionated way to execute DDL files in SAS.
4  @details When delivering projects there should be seperation between the DDL
5  used to generate the tables and the sample data used to populate them.
6 
7  This macro expects certain folder structure - eg:
8 
9  rootlib
10  |-- LIBREF1
11  | |__ mytable.ddl
12  | |__ someothertable.ddl
13  |-- LIBREF2
14  | |__ table1.ddl
15  | |__ table2.ddl
16  |-- LIBREF3
17  |__ table3.ddl
18  |__ table4.ddl
19 
20  Only files with the .ddl suffix are executed. The parent folder name is used
21  as the libref.
22  Files should NOT contain the `proc sql` statement - this is to prevent
23  statements being executed if there is an err condition.
24 
25  Usage:
26 
27  %mp_runddl(/some/rootlib) * execute all libs ;
28 
29  %mp_runddl(/some/rootlib, inc=LIBREF1 LIBREF2) * include only these libs;
30 
31  %mp_runddl(/some/rootlib, exc=LIBREF3) * same as above ;
32 
33 
34  @param [in] path location of the DDL folder structure
35  @param [in] inc= list of librefs to include
36  @param [in] exc= list of librefs to exclude (takes precedence over inc=)
37 
38  @version 9.3
39  @author Allan Bowe
40  @source https://github.com/sasjs/core
41 
42 **/
43 
44 %macro mp_runddl(path, inc=, exc=
45 )/*/STORE SOURCE*/;
46 
47 
48 
49 %mend mp_runddl;