Hi, The sydel command will only delete macro variables, not macros themselves. So in your example, %symdel test2 / nowarn; would be fine, but you can't use that for test_1. As for the macro code, well, this really is all down to organization, and is my biggest gripe with the macro system. I would suggest be explicit in which macro code you are including, too often I see: File a: %macro test; data a; aaa="Hello"; run; %mend test; File b: %macro test; data a; aaa="World"; run; %mend test; File c: %include file_a; %do_something; %test; /* AAA is Hello */ %include_another_program; /* This has the line %include file_b */ %test; /* AAA is World */ And debugging means trawling through layers of include statements, macro defs, scope etc. For some coding you can use call execute to generate code at run-time, hence avoiding using macro variables/macros at all. Otherwise its really up to you to ensure your macro call is correct.
... View more