Discussion:
force recompile of autocall macros
(too old to reply)
e***@googlemail.com
2008-08-13 09:51:13 UTC
Permalink
Hi all,
Does anyone know how to force a recompile of autocall macros. I'm
editing these macros during development and need to be sure that the
latest version is running.

I've seen suggestions about deleting the macros in sasmacr using proc
catalog. I'd be grateful if somebody could show me the best way to
force this recompile of the autocall macros.

Thanks,
E
Patrick
2008-08-13 10:01:17 UTC
Permalink
Use an %include statement in your code for testing, eg:
%include 'path\mymacro.sas';
This way the code will be recompiled.
HTH
Patrick
e***@googlemail.com
2008-08-13 11:27:51 UTC
Permalink
Hi Patrick,
Thanks for the suggestion. I'm limited to using the autocall rather
than %include.
Does anyone know how to force a recompile of *autocall* macros on
every run?

THanks,
E
Post by Patrick
%include 'path\mymacro.sas';
This way the code will be recompiled.
HTH
Patrick
data _null_;
2008-08-13 11:52:45 UTC
Permalink
Post by e***@googlemail.com
Hi Patrick,
Thanks for the suggestion. I'm limited to using the autocall rather
than %include.
Does anyone know how to force a recompile of *autocall* macros on
every run?
THanks,
E
Post by Patrick
%include 'path\mymacro.sas';
This way the code will be recompiled.
HTH
Patrick- Hide quoted text -
- Show quoted text -
It looks like postings to SAS-L are not making it over here very
quickly if at all. You need system option MRECALL.

MRECALL
searches the autocall libraries for an undefined macro name each time
an attempt is made to invoke the macro. It is inefficient to search
the autocall libraries repeatedly for an undefined macro. Generally,
use this option when you are developing or debugging programs that
call autocall macros.

NOMRECALL
searches the autocall libraries only once for a requested macro name.


--------------------------------------------------------------------------------

Details


Use the MRECALL option primarily for

developing systems that require macros in autocall libraries.

recovering from errors caused by an autocall to a macro that is in an
unavailable library. Use MRECALL to call the macro again after making
the library available. In general, do not use MRECALL unless you are
developing or debugging autocall macros.
./ ADD NAME=Data _null_,
2008-08-13 11:06:47 UTC
Permalink
MRECALL
searches the autocall libraries for an undefined macro name each time
an attempt is made to invoke the macro. It is inefficient to search
the autocall libraries repeatedly for an undefined macro. Generally,
use this option when you are developing or debugging programs that
call autocall macros.

NOMRECALL
searches the autocall libraries only once for a requested macro name.


--------------------------------------------------------------------------------

Details


Use the MRECALL option primarily for

developing systems that require macros in autocall libraries.

recovering from errors caused by an autocall to a macro that is in an
unavailable library. Use MRECALL to call the macro again after making
the library available. In general, do not use MRECALL unless you are
developing or debugging autocall macros.
Post by e***@googlemail.com
Hi all,
Does anyone know how to force a recompile of autocall macros. I'm
editing these macros during development and need to be sure that the
latest version is running.
I've seen suggestions about deleting the macros in sasmacr using proc
catalog. I'd be grateful if somebody could show me the best way to
force this recompile of the autocall macros.
Thanks,
E
e***@googlemail.com
2008-08-13 12:18:02 UTC
Permalink
Brilliant. Thanks very much!
Post by data _null_;
MRECALL
searches the autocall libraries for an undefined macro name each time
an attempt is made to invoke the macro. It is inefficient to search
the autocall libraries repeatedly for an undefined macro. Generally,
use this option when you are developing or debugging programs that
call autocall macros.
NOMRECALL
searches the autocall libraries only once for a requested macro name.
---------------------------------------------------------------------------­-----
Details
Use the MRECALL option primarily for
developing systems that require macros in autocall libraries.
recovering from errors caused by an autocall to a macro that is in an
unavailable library. Use MRECALL to call the macro again after making
the library available. In general, do not use MRECALL unless you are
developing or debugging autocall macros.
Post by e***@googlemail.com
Hi all,
Does anyone know how to force a recompile of autocall macros. I'm
editing these macros during development and need to be sure that the
latest version is running.
I've seen suggestions about deleting the macros in sasmacr using proc
catalog. I'd be grateful if somebody could show me the best way to
force this recompile of the autocall macros.
Thanks,
E- Hide quoted text -
- Show quoted text -
Fehd, Ronald J. (CDC/CCHIS/NCPHI)
2008-08-13 14:08:59 UTC
Permalink
From: eanna.mac.con.iomaire
Hi all,
Does anyone know how to force a recompile of autocall macros. I'm
editing these macros during development and need to be sure that the
latest version is running.
I've seen suggestions about deleting the macros in sasmacr using proc
catalog. I'd be grateful if somebody could show me the best way to
force this recompile of the autocall macros.
you're editing macros during R&D and not running the test programs in
batch?

tsk, tsk

well, cooler heads have already provided you with the mrecall option

see also:
http://tinyurl.com/6zlqoh

http://www.sascommunity.org/wiki/Batch_processing_under_Windows

http://www.sascommunity.org/wiki/Category:Testing

http://www.sascommunity.org/wiki/Writing_Testing_Aware_Programs

Ron Fehd the testing
and macro maven CDC Atlanta GA USA RJF2 at cdc dot gov
e***@googlemail.com
2008-08-14 15:51:50 UTC
Permalink
'running the test programs'. Can you elaborate.
thanks
E
Post by Fehd, Ronald J. (CDC/CCHIS/NCPHI)
From:eanna.mac.con.iomaire
Hi all,
Does anyone know how to force a recompile of autocall macros. I'm
editing these macros during development and need to be sure that the
latest version is running.
I've seen suggestions about deleting the macros in sasmacr using proc
catalog. I'd be grateful if somebody could show me the best way to
force this recompile of the autocall macros.
you're editing macros during R&D and not running the test programs in
batch?
tsk, tsk
well, cooler heads have already provided you with the mrecall option
see also:http://tinyurl.com/6zlqoh
http://www.sascommunity.org/wiki/Batch_processing_under_Windows
http://www.sascommunity.org/wiki/Category:Testing
http://www.sascommunity.org/wiki/Writing_Testing_Aware_Programs
Ron Fehd  the testing
          and macro maven  CDC Atlanta GA USA RJF2 at cdc dot gov
Fehd, Ronald J. (CDC/CCHIS/NCPHI)
2008-08-14 19:00:33 UTC
Permalink
From: eanna.mac.con.iomaire
'running the test programs'. Can you elaborate.
you read the page?

http://www.sascommunity.org/wiki/Writing_Testing_Aware_Programs

- - - MyProgram.sas - - -
* program;

- - - MyProgram-Test.bat - - -
sas MyProgram-Test

- - - MyProgram-Test.sas - - -
title2 MyProgram-Test;

* make test data with outliers, boundary conditions, etc.;

%Let Data = sashelp.class;

%Include Project(MyProgram);
*or;
%*MyProgramMacro(data = ...);

PROC SQL; describe table Work.MyProgramOutputDataSet;
quit;

PROC Print data = Work.MyProgramOutputDataSet(obs = 20);
title3 Work.MyProgramOutputDataSet;

Ron Fehd the testing-unit
and testing-integration
and macro maven CDC Atlanta GA USA RJF2 at cdc dot gov
e***@googlemail.com
2008-08-15 14:32:30 UTC
Permalink
ah ok, I hadn't mentioned testing so didn't know what you were on
about. yes of course I test. I use futs. Nice piece of work.
Thanks,
E
Post by Fehd, Ronald J. (CDC/CCHIS/NCPHI)
From:eanna.mac.con.iomaire
'running the test programs'. Can you elaborate.
you read the page?
http://www.sascommunity.org/wiki/Writing_Testing_Aware_Programs
- - - MyProgram.sas - - -
* program;
- - - MyProgram-Test.bat - - -
sas   MyProgram-Test
- - - MyProgram-Test.sas - - -
title2 MyProgram-Test;
* make test data with outliers, boundary conditions, etc.;
%Let Data = sashelp.class;
%Include Project(MyProgram);
*or;
%*MyProgramMacro(data = ...);
PROC SQL; describe table Work.MyProgramOutputDataSet;
          quit;
PROC Print data = Work.MyProgramOutputDataSet(obs = 20);
           title3 Work.MyProgramOutputDataSet;
Ron Fehd  the testing-unit
          and testing-integration
          and macro maven  CDC Atlanta GA USA RJF2 at cdc dot gov
Loading...