What's New in the SAS 9.3 Macro Language Facility

Overview

The Macro Language Facility has the following enhancements:
  • new automatic macro variables that enable you to reduce the amount of text that is needed to perform common tasks
  • new macro functions
  • new macro statements
  • new macro system options that enable you to define and redefine macros and to better control their execution

Automatic Macro Variables

SYSADDRBITS
contains the number of bits of an address.
SYSENDIAN
contains an indication of the byte order of the current session. The possible values are LITTLE or BIG.
SYSNOBS
contains the number of observations read from the last data set that was closed by the previous procedure or DATA step.
SYSODSESCAPECHAR
displays the value of the ODS ESCAPECHAR= from within the program.
SYSSIZEOFLONG
contains the length in bytes of a long integer in the current session.
SYSSIZEOFPTR
contains the size in bytes of a pointer.
SYSSIZEOFUNICODE
contains the length in bytes of a Unicode character in the current session.

Macro Functions

%SYSMACEXEC
indicates whether a macro is currently executing.
%SYSMACEXIST
indicates whether there is a macro definition in the WORK.SASMACR catalog.
%SYSMEXECDEPTH
returns the depth of nesting from the point of call.
%SYSMEXECNAME
returns the name of the macro executing at a nesting level.

Macro Statements

%SYSMSTORECLEAR
closes stored compiled macros and clears the SASMSTORE= library.
%SYSMACDELETE
deletes a macro definition from the WORK.SASMACR catalog.

Macro System Options

MAUTOCOMPLOC
displays in the SAS log the source location of the autocall macros when the autocall macro is compiled.
MAUTOLOCINDES
specifies whether the macro processor prepends the full pathname of the autocall source file to the description field of the catalog entry of compiled auto call macro definition in the WORK.SASMACR catalog.
MCOVERAGE
enables the generation of coverage analysis data.
MCOVERAGELOC=
specifies the location of the coverage analysis data file.