20 %MACRO _sasunit_abspath (
 
   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;
 
   38 %MEND _sasunit_abspath;