Rick - I'm sure you didn't intend this, but you neglected to mention the ODS parameters MATCH_ALL and PERSIST = PROC/RUN; I'm a great believer in the "ODS Sandwich" approach (which would correspond to your "outside" approach) and I never heard of the contents of the sandwich being outside the slices of bread, or at least not in an appealing way. Also, I think that modification and maintenance of code would be much more difficult if the "inside" approach were used. I predict an animated discussion.