21 %MACRO _abspath (i_root
 
   25    %IF 
"&i_path" EQ 
"" %THEN %RETURN;
 
   27    %IF %length(&i_root) %THEN %DO;
 
   28       %LET i_root = %qsysfunc(translate(&i_root,/,\));
 
   29       %IF 
"%substr(&i_root,%length(&i_root),1)" = 
"/" %THEN 
 
   30          %LET i_root=%substr(&i_root,1,%eval(%length(&i_root)-1));
 
   33    %LET i_path = %qsysfunc(translate(&i_path,/,\));
 
   34    %IF 
"%substr(&i_path,1,1)" = 
"/" OR 
"%substr(&i_path,2,2)" = 
":/" %THEN &i_path;
 
   35    %ELSE %IF %length(&i_root) %THEN &i_root/&i_path;