Run the libname statement with the MPRINT and SYMBOLGEN options turned on. It will show what the log is trying to submit and where the error is.
It's possible you need a period (.) after the macro variable to force it to resolve properly.
Libname Sample "&samplePath.\&CheckFolder.";
Run the libname statement with the MPRINT and SYMBOLGEN options turned on. It will show what the log is trying to submit and where the error is.
It's possible you need a period (.) after the macro variable to force it to resolve properly.
Libname Sample "&samplePath.\&CheckFolder.";
Your tests clearly narrow the problem down to the value of &CheckFolder.
One of the red flags is that &CheckFolder gets created by SQL into. It's possible that SQL performs a numeric to character conversion when assigning the value. That might introduce leading blanks, or possibly conversion to scientific notation. Check what you are getting:
%put **&CheckFolder**;
SAS character variables are fixed length fields, so make sure to use the TRIMMED option on the INTO clause.
select charvar_or_function
into :CheckFolder trimmed
from ....
Or add a step to remove the trailing spaces.
%let CheckFolder=&CheckFolder;
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.