Hi,
is there any way to print in the log by pointing to a saved .sas code?
Thanks
Luca
Your question is unclear. "Print in the log" doesn't have an obvious meaning to me, especially since your title talks about printing .sas code. "... by pointing to a saved .sas code" does not have an obvious meaning to me. The whole things needs more clarity.
@luca87 wrote:
Hi,
is there any way to print in the log by pointing to a saved .sas code?
Thanks
Luca
Can you clarify what your question is?
Both a SAS program file (what is in a .sas file) and a SAS LOG (where SAS writes when it runs) are text files. You can print them with any tool that can print a text file. An simple text editor should be able to let you view and print such a file.
A saved program file does imply that there is any saved log of when it was last run. The log is normally saved as a different file.
If you run SAS directly from the command line it will normally name the log file it generates by replacing the .sas extension of the program file you told it to run with .log.
Hi @luca87
A log is created by SAS during program execution. The log contains a mix of 2 things: blocks of code lines written as they are met in the program stack and notes written after each block is executed. Listing of code lines in the log is controlled by 2 options: Source/Nosource and Source2/Nosource2.
The default is Source and Nosource2, which means that first level code, iso code that is contained in the program is listed, while second level code, wiich is SAS program files included in the code with a %include statement or the code in Autocall Macros, is not.
An administrator may have turned Source off by default in your setup, so you never see any code lines in the log, only the notes. But you can override that with the statement Options Source as first line in your program. Similar with Source2, unless it is rectricted by the administrator.
You cannot list code that is not included in the program this way, because the log is a product of execution. In principle, you can write a data step to read the file and list the content to the log, but I suppose that is not what you want.
If you just want to dump a text file to the SAS log just use a data step.
data _null_;
infile 'name.sas';
input;
put _infile_;
run;
Tom's example is really helpful if you have a SAS program referenced in a %INCLUDE statement and you don't know where the path is.
@luca87 wrote:
..... I would like to see this sql proc written but not executed.
You already have all the PROC SQL text in the .sas file.
What it actually does depends on the data it runs against, and to see that, you have to execute it with real data, period.
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
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.
Ready to level-up your skills? Choose your own adventure.