Yeah, honestly I don't understand what would have changed. Maybe there's some obscure SAS option that got tripped? I am on SAS 9.4 But when I first discovered that call execute had this behavior, it was breaking several of my macros (as the programs we use almost exclusively are generated by call executes in a central program), and I tested thoroughly to be sure I understood the mechanics. I went back to my old code, and the macros I wrote to test it now work, when I know they definitely didn't before... But since I can't really reproduce that, what about that SAS community article I posted, with the section on timing of resolution? Am I totally missing something, because he posts a macro as an example of how immediate macrovar resolution breaks things. But as far as I can tell it runs just fine and the variable list created in the earlier proc sql is used successfully by the subsequent data step. Why would he have written this section if it was working? edit: to look at his notes on that example macro, maybe he's just referring to the execution of the %put with the number of observations. oh well.
... View more