That's what I tried to explain above. Let me paste it here and try to expand on it. --- For example, for the following code, I would use the mprint lines to replace the %vchk calls. The code would go from this: create table titi4 as select a.titi %vchk(in=titi1,var=toto,sql=1,alias=a) %vchk(in=titi2,var=tata,sql=1,alias=b) from titi1 as a left join titi2 as b on a.titi=b.titi; quit; To this, where %vchk(in=titi2,var=tata,sql=1,alias=b) is replaced with the mprint line: create table titi4 as select a.titi %vchk(in=titi1,var=toto,sql=1,alias=a) , tata from titi1 as a left join titi2 as b on a.titi=b.titi; quit; Because I have no mprint line for %vchk(in=titi1,var=toto,sql=1,alias=a) I cannot replace it with anything that matches that particular macro call. The option I have left is to assume that if I have nothing to match then it probably means the macro generated nothing. But I don't like to assume. --- Basically, it's just a question of having a resulting code to match with any macro call. If I have no resulting code for any one macro call then, as mentioned above, I start assuming that the macro didn't have anything to output. Instead of assuming I'd prefer to be certain by having a one-to-one match between macro calls and resulting codes. Hopefully that makes sense.
... View more