Enabling ARM Macro Execution with SCL

The two methods of setting the _ARMEXEC macro variable are during compilation or execution. Both methods are explained in Setting the _ARMEXEC Macro Variable. You can use a combination of these methods. For example, set _ARMEXEC to 1 using the compilation method (perhaps in an autoexec file at SAS initialization). Then code a menu option or element within the application to turn _ARMEXEC on and off dynamically using the CALL SYMPUT statement.
In SCL, if _ARMEXEC is not set to 1, when the program compiles, all macros are set to null. The ARM interface is also unavailable until it is recompiled with _ARMEXEC set to 1.
In addition, to enable proper compilation of the macros within SCL, you must set the _ARMSCL global macro variable to 1 before issuing any ARM macros. The _ARMSCL macro variable suppresses the generation of DROP statements, which are invalid in SCL.