Nope you lost me. You keep talking about a join, are you merging data? Or is it to create a concatenated variable from two variables? If its this, I don't how this macro will actually benefit you. A simple cats() will take strings, or convert numbers implicitly, again making checking types irrelevant. It is one of the big failings with macro language as used in that it adds extra layers of complexity, reduces functionality, and is mainly undocumented appropriately. You creating code to do something very specific, which doesn't actually need to be done , you have posted the code you should yourself, with a minor change:
if cmiss(var1,var2)=0 then col0001=cats(var1,'(',var2,')');
Generating loads of macro around that will not add anything to that code, and will cost you many hours in build, test, documentation, and support to implement.
... View more