/* To use this: * * %psize(ISO A4, A4); * * If you are on MVS or some other O/S with a "quirky" naming convention * such that "temp.tmp" isn't a value name, then use it like this: * * %psize(ISO A4, A4, temp=.temp); * * Creates alias for any specified paper size. */ options linesize=200; %macro psize(old, new, temp=temp.tmp); data temp; infile "papersize.dat"; length line $200; format line $200.; input line &; *if _n_ < 10 then put line; place = index(line, "*OLD*"); if place > 0 then line = substr(line, 1, place-1) || "&old" || substr(line, place+5); place = index(line, "*NEW*"); if place > 0 then line = substr(line, 1, place-1) || "&new" || substr(line, place+5); output; run; data _null_; file "&temp"; set temp; put line; run; proc registry import="&temp"; run; %mend; %psize(ISO A4, A4);