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

Hi,

I'm trying to write a txt file with sas. The file will contain a value of a macro variable and that mcro variable could contain double quote. Example

%let myvar=ORACLE execute error: ORA-01400: cannot insert NULL into  ("blabla"."blabla"."blabla");

%let bodyfile=/mydir/mytxt.txt;

data _null_;

     file "&bodyfile.";

      put &myvar.;

run;

It does not work. What is wrong?

Any help will be appreciate.

Thanks

1 ACCEPTED SOLUTION

Accepted Solutions
Tom
Super User Tom
Super User

The combination of these two lines:

%let myvar=ORACLE execute error: ORA-01400: cannot insert NULL into  ("blabla"."blabla"."blabla");

put &myvar.;


Will be:

put ORACLE execute error: ORA-01400: cannot insert NULL into  ("blabla"."blabla"."blabla");


Which is clearly not what you want as it will look for variables named ORACE, EXECUTE, CANNOT etc.

The proper syntax you want is:

put "ORACLE execute error: ORA-01400: cannot insert NULL into  (""blabla"".""blabla"".""blabla"")";


To get that use the QUOTE() function.

put %sysfunc(quote(&myvar)) ;




View solution in original post

2 REPLIES 2
Tom
Super User Tom
Super User

The combination of these two lines:

%let myvar=ORACLE execute error: ORA-01400: cannot insert NULL into  ("blabla"."blabla"."blabla");

put &myvar.;


Will be:

put ORACLE execute error: ORA-01400: cannot insert NULL into  ("blabla"."blabla"."blabla");


Which is clearly not what you want as it will look for variables named ORACE, EXECUTE, CANNOT etc.

The proper syntax you want is:

put "ORACLE execute error: ORA-01400: cannot insert NULL into  (""blabla"".""blabla"".""blabla"")";


To get that use the QUOTE() function.

put %sysfunc(quote(&myvar)) ;




garag
Calcite | Level 5

Thank Tom, it worked

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

How to Concatenate Values

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.

SAS Training: Just a Click Away

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

Browse our catalog!

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