Enabling ARM Macro Execution |
It is useful to code the ARM macros in your program, but to execute them only when they are needed. All ARM macros support a LEVEL= option that specifies the execution level of that particular macro.
If the LEVEL= option is coded, then the execution level of the macro is compared to two global macro variables, _ARMGLVL and _ARMTLVL. _ARMGLVL is the global level macro variable. If the LEVEL= value on the ARM macro is less than or equal to the _ARMGLVL value, then the macro is executed. If the LEVEL= value on the performance or ARM macro is greater than the _ARMGLVL value, then the macro is not executed:
/* Set the global level to 10 */ %let _armglvl = 10; data _null_; %arminit(appname='Appl 1', appuser='userid' ); %armgtid(txnname='Txn 1', txndet='Transaction #1 detail' ); /* These macros are executed */ %armstrt( level=9 ); %armstop( level=9 ); /* These macros are executed */ %armstrt( level=10 ); %armstop( level=10 ); /* These macros are NOT executed */ %armstrt( level=11 ); %armstop( level=11 ); %armend run;
_ARMTLVL is the target level macro variable and works similarly to _ARMGLVL, except the LEVEL= value on the ARM macro must be equal to the _ARMTLVL value for the macro to execute:
/* Set the target level to 10 */ %let _armtlvl = 10; data _null_; %arminit(appname='Appl 1', appuser='userid' ); %armgtid(txnname='Txn 1', txndet='Transaction #1 detail' ); /* These macros are NOT executed */ %armstrt( level=9 ); %armstop( level=9 ); /* These macros are executed */ %armstrt( level=10 ); %armstop( level=10 ); /* These macros are NOT executed */ %armstrt( level=11 ); %armstop( level=11 ); %armend run;
The LEVEL= option can be used in any ARM macro, which is highly recommended. It enables you to design more granular levels of logging that can serve as a filter by logging only as much data as you want. If you set both _ARMGLVL and _ARMTLVL at the same time, then both values are compared to determine whether the macro should be executed.
Copyright © 2010 by SAS Institute Inc., Cary, NC, USA. All rights reserved.