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 2003, week 4)Back to main SAS-L pageJoin or leave SAS-L (or change settings)ReplyPost a new messageSearchProportional fontNon-proportional font
Date:         Tue, 23 Dec 2003 13:37:08 -0800
Reply-To:     cassell.david@EPAMAIL.EPA.GOV
Sender:       "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From:         "David L. Cassell" <cassell.david@EPAMAIL.EPA.GOV>
Subject:      Re: called macros
Content-type: text/plain; charset=US-ASCII

Roland <roland@RASHLEIGH-BERRY.FSNET.CO.UK> replied to Richard: > > If you have a hardcore UNIX guru available, you could probably log the file > > io requests. Only a little research would be needed to determine the > > 'fingerprint' that corresponds to 'read macro from library'.

> I see what you mean regarding a %log macro. This is a nice idea.though I > want the macros to also be called in ordinary code and so don't want it > doing extra. I wish I were a Unix guru. I've wanted to be one for a few > years now but I could never grow the ponytail.

:-) :-)

First off, you don't have to have a ponytail. You can go for the 'old guru' look, which only requires a big scruffy beard (appropriate at this time of year!) and suspenders (which I think you would call 'braces').

Second, I don't know whether SAS would read the macro even if you didn't *use* it. If not, then you could just check the file attributes for each of the macro files. In Perl, the -A function yields the time (in days) since the last access, so you would be able to check whether the files had been touched since before the programs were run. Of course, if SAS touches every single macro file referenced in a program, then this won't work. And neither will Richard's suggestion, since the I/O would be there. I have not run any tests to determine how SAS does the I/O in this case, but you could check things out. If you encapsulate your SAS program in a Perl script, you can [1] snag the current time, [2] run all the SAS proggies, [3] then see if any of your macro files have been accessed since the time in [1].

HTH, David -- David Cassell, CSC Cassell.David@epa.gov Senior computing specialist mathematical statistician


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