35%macro irm_setup(env_path =
43 , landing_area_folder =
55 %
if(%sysevalf(%superq(fa_id) ne,
boolean)) %then
56 %let source_path = %sysfunc(prxchange(s/([\\\/]&fa_id.)?[\\\/]*$
59 %if (%length(&env_path.) = 0) %then
60 %let env_path = &source_path./&fa_id.;
63 %
if %sysevalf(%superq(rmc_fa_id) =,
boolean) %then
64 %let rmc_fa_id = rmc.*;
69 %
if(%length(&source_path.)) %then %
do;
72 options insert = (sasautos = (
"&source_path./&fa_id./source/sas/ucmacros"));
74 %
if %sysevalf(%superq(rmc_fa_path) =,
boolean) %then %
do;
75 %put NOTE: Input parameter RMC_FA_PATH has not been set.;
76 %put NOTE: Fetching RMC federated area location from metadata searching
for IRM Mid-Tier Server property: com.sas.solutions.risk.irm.fa.&rmc_fa_id.;
80 %irm_set_fa_sasautos(fa_id = &rmc_fa_id.
81 , fa_path = &rmc_fa_path.
83 , insert_after = &source_path./&fa_id.
85 , outvar_prefix = irm_setup_rmc_fa
89 %
if(&irm_setup_rmc_fa_count. = 0) %then
90 %put WARNING: Could not find any federated area with id: com.sas.solutions.risk.irm.fa.&rmc_fa_id.;
92 %
if %upcase(&setupLUA.) = Y %then %
do;
95 %
if %sysevalf(%superq(rmc_fa_path) ne,
boolean) %then
96 %let rmc_lua_path = &rmc_fa_path./source/lua;
99 %irm_set_fa_luapath(fa_path = &source_path./&fa_id./source/lua
104 %irm_set_fa_luapath(fa_id = &rmc_fa_id.
105 , fa_path = &rmc_lua_path.
107 , insert_after = &source_path./&fa_id.
119 %let libpath = &env_path./input;
120 %rsk_mkdirs_and_verify(&libpath.);
121 %rsk_allocate_data_mart_lib(libref = in_data, dir = &libpath., allochow = RW);
124 %let libpath = &env_path./landing_area/base/global;
125 %rsk_mkdirs_and_verify(&libpath.);
126 %rsk_allocate_data_mart_lib(libref = la_gbl, dir = &libpath., allochow = RW);
128 %
if(%length(&config_set_id.)) %then %
do;
130 %let libpath = &env_path./landing_area/base/%lowcase(&config_set_id.)/
static;
131 %rsk_mkdirs_and_verify(&libpath.);
132 %rsk_allocate_data_mart_lib(libref = la_stat, dir = &libpath., allochow = RW);
135 %let libpath = &env_path./landing_area/base/%lowcase(&config_set_id.)/mapping;
136 %rsk_mkdirs_and_verify(&libpath.);
137 %rsk_allocate_data_mart_lib(libref = la_map, dir = &libpath., allochow = RW);
140 %
if %sysevalf(%superq(base_dt)^=,
boolean) %then %
do;
143 %
if %sysevalf(%superq(landing_area_folder)^=,
boolean) %then %
do;
144 %let libpath1 = &env_path./landing_area/%sysfunc(putn(
"&base_dt."d, mmddyyn8.))/&landing_area_folder.;
145 %let libpath2 = &env_path./landing_area/%sysfunc(putn(
"&base_dt."d, mmddyyn8.));
148 %let libpath1 = &env_path./landing_area/%sysfunc(putn(
"&base_dt."d, mmddyyn8.));
149 %rsk_mkdirs_and_verify(&libpath1.);
150 %rsk_allocate_data_mart_lib(libref = la_stage, dir = &libpath1., allochow = RW);
151 %
if %sysevalf(%superq(landing_area_folder)^=,
boolean) %then
152 %rsk_allocate_data_mart_lib(libref = la_stgrt, dir = &libpath2., allochow = RW);
155 %
else %
if %sysevalf(%superq(base_dttm)^=,
boolean) %then %
do;
158 day = put(datepart(
"&base_dttm."dt), mmddyyn8.);
159 time = compress(put(timepart(
"&base_dttm."dt), time8.),
":");
160 call symputx(
"daytime", cats(day, time));
164 %
if %sysevalf(%superq(landing_area_folder)^=,
boolean) %then %
do;
165 %let libpath1 = &env_path./landing_area/&daytime/&landing_area_folder.;
166 %let libpath2 = &env_path./landing_area/&daytime;
169 %let libpath1 = &env_path./landing_area/&daytime;
170 %rsk_mkdirs_and_verify(&libpath1.);
171 %rsk_allocate_data_mart_lib(libref = la_stage, dir = &libpath1., allochow = RW);
172 %
if %sysevalf(%superq(landing_area_folder)^=,
boolean) %then
173 %rsk_allocate_data_mart_lib(libref = la_stgrt, dir = &libpath2., allochow = RW);
180 %
if &live_ETL eq Y %then %
do;
182 %
if %sysevalf(%superq(base_dt)^=,
boolean) %then %
do;
185 %
if %sysevalf(%superq(landing_area_folder)=,
boolean) %then
186 %let libpath1 = &env_path./input_area/%sysfunc(putn(
"&base_dt."d, mmddyyn8.));
188 %let libpath1 = &env_path./input_area/%sysfunc(putn(
"&base_dt."d, mmddyyn8.))/&landing_area_folder.;
189 %let libpath2 = &env_path./input_area/%sysfunc(putn(
"&base_dt."d, mmddyyn8.));
191 %rsk_mkdirs_and_verify(&libpath1.);
192 %rsk_allocate_data_mart_lib(libref = ia_stage, dir = &libpath1., allochow = RW);
193 %
if %sysevalf(%superq(landing_area_folder)^=,
boolean) %then
194 %rsk_allocate_data_mart_lib(libref = la_stgrt, dir = &libpath2., allochow = RW);
197 %
else %
if %sysevalf(%superq(base_dttm)^=,
boolean) %then %
do;
200 day = put(datepart(
"&base_dttm."dt), mmddyyn8.);
201 time = compress(put(timepart(
"&base_dttm."dt), time8.),
":");
202 call symputx(
"daytime", cats(day, time));
206 %
if %sysevalf(%superq(landing_area_folder)=,
boolean) %then
207 %let libpath1 = &env_path./input_area/&daytime;
209 %let libpath1 = &env_path./input_area/&daytime/&landing_area_folder.;
210 %let libpath2 = &env_path./input_area/&daytime;
212 %rsk_mkdirs_and_verify(&libpath1.);
213 %rsk_allocate_data_mart_lib(libref = ia_stage, dir = &libpath1., allochow = RW);
214 %
if %sysevalf(%superq(landing_area_folder)^=,
boolean) %then
215 %rsk_allocate_data_mart_lib(libref = la_stgrt, dir = &libpath2., allochow = RW);