SAS macro language programming supports both positional and keyword-driven macro variable specification when invoking a SAS macro. Your example shared shows incompatible references, the macro invocation showing positional and the %MACRO statement definition showing keyword. These two references must be consistent.
Suggest using keyword-drive for self-documentation. Also, suggest reviewing SAS support http://support.sas.com/ website references, both SAS-hosted product documentation on Macro Language, and supplemental technical / conference papers. Either use the website SEARCH facility or consider the Google advanced search argument below:
(FWIW, whenever I coded production macros, the standard was -always- to use keyword and not positional parameters. It's easier to maintain, easier to invoke and less confusing for a non-macro programmer to figure out.)