Thanks for your response tbellmer, but I don't think that's the issue (to be clear I am trying to load the macro variable from the local host to the remote host).
There aren't any errors when the code is executed, and I'd expect to see the following error if the remote host (there's only one) had tried to execute the %syslput:
[pre]ERROR: A link must be established by executing the SIGNON command before you can communicate with UNKNOWN.[/pre]
The paper I linked in the original post suggests using the mprint and mlogic options to identify which statements are executing locally, and which are executing remotely. mlogic lines are handled locally, and mprint lines as passed to the remote host.
Running the above code with these options in place gives the following:
[pre]NOTE: The macro M completed compilation without errors.
9 instructions 184 bytes.
36232 %m;
MLOGIC(M): Beginning execution.
MLOGIC(M): %LET (variable name is N)
MLOGIC(M): %PUT &n
L
MPRINT(M): rsubmit
NOTE: Remote submit to UAT1 commencing.
MLOGIC(M): %SYSLPUT (variable name is N)
MPRINT(M): ; %put &n;
MPRINT(M): endrsubmit;
WARNING: Apparent symbolic reference N not resolved.
142 %put &n;
&n
NOTE: Remote submit to UAT1 complete.
MLOGIC(M): Ending execution.[/pre]
The %syslput lines is mprinted, and as such I'd expect it to execute locally.
As it turns out, it doesn't seem to do anything. &n is not modified on either the local or remote hosts (I tried making &n global on both machines, but that didn't help), and no note, warning or error is given.
... View more