LISTSERV at the University of Georgia
Menubar Imagemap
Home Browse Manage Request Manuals Register
Previous messageNext messagePrevious in topicNext in topicPrevious by same authorNext by same authorPrevious page (December 2009, week 3)Back to main SAS-L pageJoin or leave SAS-L (or change settings)ReplyPost a new messageSearchProportional fontNon-proportional font
Date:         Tue, 15 Dec 2009 08:17:29 -0800
Reply-To:     Tom Abernathy <tom.abernathy@GMAIL.COM>
Sender:       "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From:         Tom Abernathy <tom.abernathy@GMAIL.COM>
Organization: http://groups.google.com
Subject:      Re: symbolgen and log size
Comments: To: sas-l@uga.edu
Content-Type: text/plain; charset=ISO-8859-1

Yoon - I cannot fathom a reason why you would need a macro variable with 32,767 blanks in it.

I find that in general SYMBOLGEN and MLOGIC are next to useless to debug a macro. Usually a macro is written to generate SAS statements. So the values of the variables will be present in the generated statements hence you do not need SYMBOLGEN. When the code branches you can tell which branch it took from the code it generates hence you do not need MLOGIC.

When it gets really tricky to find a problem then put in a few %PUT statements.

- Tom

On Dec 15, 10:48 am, "yoon...@gmail.com" <yoon...@gmail.com> wrote: > Hi all, > > I'm writing a sas macro program with a do loop in it. > For debugging, I use mprint, symbolgen and mlogic options. > In each loop, I use proc printto to put out the log as a txt file. > The problem is that the log text files gets really big mainly due to > empty space or lines. I'm talking about > 3-4 pages empty lines. I think I figured out why the log text file has > such a large amount of empty space. > It was because that one macro variable that I generate by symput > option referering to a column with a length > set at the maximum ($32767). I need it to be at the maximum but the > actual macro variable can resolve to > a few hundred characters. However, the symbolgen option seems to put > all 32,767 spaces in the log. > Try the example code below and see what happens in the log. The macro > variable "sel" has no character > in it but when you look at the log, there are lots of empty lines > before "quit;". > > Is there any way to make SAS log show only the actual resolved > character that are trimmed for all empty spaces > to reduce the log file size? > > Thanks. > > Yoon > > options mprint symbolgen mlogic; > > data _null_; > length eff $32767; > eff=""; > call symput ('sel', eff); > run; > > %put &sel; > > quit;


Back to: Top of message | Previous page | Main SAS-L page