There are just a few reasons to use macros * conditionals: %if * loops: %do * %sysfunc, %sysevalf * write a function to return a value. In the example you have posted, I see none of the above. Others have pointed out the %include statement, which is what I, too, recommend. The differences, in your situation, where the code is only repetition and has not need of macro statements * code in the %included program is always compiled in that step. * a macro call generates a search of the sasautos library (set of folders) and an %include of the file containing the macro the code is compiled before being used in the step. From the way I read your post, you are using this set of prx* statements in multiple programs, but not more than once in any one program. If that is true then there is no benefit to using a macro for this suite of statements. Since I run all my programs in batch, you may reply that you run several different programs in a session, in which case the savings gained by the macro being compiled are worthy of consideration. Caveat: just do not change the macro and expect the changes to show up in your next call of the macro. you are using the compiled version of the macro you have to recompile the macro, for which there are two ways to get it updated: 1. options mrecall; 2. %include 'my-macro'; Ron Fehd macro maven
... View more