Thanks ChrisNZ, for letting me know about the broken link, I have fixed it now. As per https://v8doc.sas.com/sashtml/cms/zputexec.htm CMS PUTEXEC documentation If the variable that you specify as argument1 does not currently exist as an EXEC variable, it is created. If the interface to EXEC variables fails, PUTEXEC assumes that its arguments are invalid So I think the problem is later, the interface is failing. What is confusing me why it fails for PUTEXEC and not for GETEXEC. Here is the execution of the code you suggested. 1 OPTIONS REXXMAC;
2 REXX2SAS;
NOTE: %INCLUDE (LEVEL 1) FILE 'U1234.DB.SAS(SAS2REXX)' IS FILE U1234.DB.SAS(SAS2REXX).
3 +DATA _NULL_;
4 + A = GETEXEC ('NICKNAME' );
5 + PUTLOG A =;
6 + CALL PUTEXEC ('NICKNAME','NIC');
7 +RUN;
A=JIM
NOTE: ARGUMENT 1 TO FUNCTION PUTEXEC('NICKNAME','NIC') AT LINE 6 COLUMN 8 IS INVALID.
A=JIM _ERROR_=1 _N_=1
... View more