As the first step in the decommissioning of sasCommunity.org the site has been converted to read-only mode.
Here are some tips for How to share your SAS knowledge with your professional network.
Talk:Passing Macro Variables
One problem I see is that you're not pulling in the offset variable, so the code will not handle long values correctly ( > 200 bytes). Values over 32K long might be tricky.
Another problem is that special characters aren't masked, nor are leading and trailing blanks. It would be better to use CALL SYMPUT, but even then trailing blanks might not be preserved without extra work.