Hey, I'm just starting to look through all of these threads and I saw this one.
I assume you are running the SAS_kernel in Jupyter. Jupyter itself has a special kind of 'macro' called a Magic. It is designated by a percent sign; '%some_magic'. It has special meaning in a jupyter cell. It's unfortunate for coding SAS Macros in a cell like this. But, you can work around this easily; it you know what to do. Here's an excerpt from the SAS_Kernel documentation that addresses this specific problem. The doc is at https://sassoftware.github.io/sas_kernel/overview.html:
Jupyter magics
The %%prompt4var magic is written specifically for the SAS kernel. The purpose of the magic is to prompt for sensitive information such as a password and store the value in a SAS macro variable.
Seasoned SAS programmers might notice that Python magics begin with a percent sign (%) and that SAS macro variables also begin with a percent sign. To ensure that magics are interpreted by Python, they must be specified in the first line of a notebook cell. Otherwise, the magic (%xxxxx) is submitted to SAS.
If you need to run a SAS macro as the first statement, then insert a blank line as the first line in the notebook cell and the macro on the second line. The blank line prevents Python from intrepreting the macro variable as a magic.
So, you should be able to run that code simply by adding a blank line as the first line in that cell, before your macro definition.
Hope this helps!
Tom
... View more