Instead of running your commands as a macro, have you tried running them as a TSM script? With scripting there is some basic-level IF-THEN functionality where you can check return codes.
Look in the ADMIN GUIDE under "automating server operations", and "Using Logic Flow Statements in a Script". > Have daily TSM commands that run via batch jobs on Z/OS > > The command files have multiple commands and if any one fails > it prevents the others from executing > > ANS8001I Return code 11. > ANS8029E Macro processing terminated. > > ANS8002I Highest return code was 11. > > Is there a way to allow the other commands to execute if a previous > one fails > > The wokraround is to place the commands in separate files and run the > batch job with multiple steps > > Tim >