Share with us some SAS-generated log output that demonstrates the behavior you are encountering, with all of your SAS code revealed (that would include a formatted PUT in a DATA or PROC step output. You will want to first desk-check to see if SAS has correctly applied your output FORMAT -- by doing a PROC CONTENTS against your SAS file. What you have shown in your post is only a piece of what is required to make the process work -- now you need to convey what SAS code that references your format is not working for you.
for me, "commax" indicates you are probably suffering a code-page issue in NLS (national language support) with the square brackets on zOS.
I don't recall clearly but in SAS6 days (where I got most of my more-recent ;-) experience of zOS-SAS) there was a work-around with iirc !( and !) or something like that. (in the last millennium!! the zOS keyboards I worked on did not support square brackets so SAS provided those alternatives.
At http://support.sas.com/documentation/cdl/en/lrdict/63026/HTML/default/viewer.htm#a000205506.htm the CHARCODE system option is documented describing how characters required by syntax but not on a "keyboard", can be achieved with a ?-combination. I was wrong about ?( and ?) That documentation shows it should be ?< and ?>
Could you post the result of a
proc format fmtlib;
run on your mainframe? (In case I have the syntax wrong, the intent is to display the format definition as it was interpreted by SAS when the format was created).