Your posted code has neither commas nor macro parameters.
But to answer you question.
1) Don't. Why would you want to pass in commas in the value of a macro parameter? If you need to pass in a list use a space or some other character as the delimiter in the list.
2) If you must you need to "protect' the comma in some way.
You can add quotes or parenthesis to the value. Just remember to either remove them (or don't add them) when you use the value. Or as a LAST resort you can add macro quoting around the value (or just the troubling values).
%mymacro
(parm1=space delimited list
,parm2=pipe|delimited|list
,parm3='single,quoted,list'
,parm4="double,quoted,list"
,parm5=(parentheses,around,list)
,parm6=%str(macro,quoted,list)
);
... View more