39%macro mf_getapploc(pgm);
40%
if "&pgm"=
"" %then %
do;
41 %
if %symexist(_program) %then %let pgm=&_program;
43 %put &sysmacroname: No value provided and no _program variable available;
53%
if %index(&pgm,/tests/macros/)
54or %index(&pgm,/tests/testsetup)
55or %index(&pgm,/tests/testteardown)
57 %let root=%substr(&pgm,1,%index(&pgm,/tests)-1);
65%let root=%substr(&pgm,1,%length(&pgm)-%length(%scan(&pgm,-1,/))-1);
66%let root=%substr(&root,1,%length(&root)-%length(%scan(&root,-1,/))-1);
68%if %index(&root,/tests/) %then %do;
69 %let root=%substr(&root,1,%index(&root,/tests/)-1);
71%else %if %index(&root,/services) %then %do;
72 %let root=%substr(&root,1,%index(&root,/services)-1);
74%else %if %index(&root,/jobs) %then %do;
75 %let root=%substr(&root,1,%index(&root,/jobs)-1);
77%else %put &sysmacroname: Could not find an app location from &pgm;