BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
ICI_SAS_Admins
Fluorite | Level 6

I am submitting the following code using a prompt in Enterprise Guide 7.13 HF5 being sent to process on a Solaris 64-bit 9.4M2 Unix SAS server:

 

%put &libby;

libname pully &libby;

 

The prompt appears to be resolving for the put statement but something weird is happening for the libname statement giving me the following log:

 

39
40 %put &libby;
"/sas/data/research/Retirement/Permanent Datasets/"
41
42 libname pully &libby;
ERROR: Libref in LIBNAME statement must be followed either by quoted string or engine name or semicolon; """ found.
ERROR: Error in the LIBNAME statement.

 

Can anyone explain why this is not working?

 

-Shaun

1 ACCEPTED SOLUTION

Accepted Solutions
ICI_SAS_Admins
Fluorite | Level 6

Thank you for the suggestions.  They led me to the answer as found in another posting https://communities.sas.com/t5/SAS-Enterprise-Guide/Syntax-Error-Quotes-in-Macro-Parameter-Generated...

 

The solution was to add the %unquote to the code as follows:

 

%put &libby;

libname pully %unquote(&libby);

 

This is apparently due to Enterprise Guide adding something to the prompt as can be seen in another line of the log that I missed:

 

10 %LET libby = %nrstr(%")/sas/data/research/Retirement/Permanent Datasets/%nrstr(%");

 

View solution in original post

2 REPLIES 2
TomKari
Onyx | Level 15

I tried your code, and it worked fine for me.

 

My suspicion is that there's an unprintable character in your macro variable contents somewhere, I would suspect right after the initial double quote from what your log is saying.

 

Tom

ICI_SAS_Admins
Fluorite | Level 6

Thank you for the suggestions.  They led me to the answer as found in another posting https://communities.sas.com/t5/SAS-Enterprise-Guide/Syntax-Error-Quotes-in-Macro-Parameter-Generated...

 

The solution was to add the %unquote to the code as follows:

 

%put &libby;

libname pully %unquote(&libby);

 

This is apparently due to Enterprise Guide adding something to the prompt as can be seen in another line of the log that I missed:

 

10 %LET libby = %nrstr(%")/sas/data/research/Retirement/Permanent Datasets/%nrstr(%");

 

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

Register Now

Creating Custom Steps in SAS Studio

Check out this tutorial series to learn how to build your own steps in SAS Studio.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 2 replies
  • 3219 views
  • 0 likes
  • 2 in conversation