Workflow Documentation (from Fraktal SAS Programming)

Open Code

When executing open SAS code, i.e. outside a MACRO segment definition, documentation is done by the SAS LOG on three severity levels:

Notes: Ordinary execution

Warnings: Ambiguous code identified

Errors: Execution cannot continue, hence stops

This makes SAS very convenient to the ad-hoc user, since execution is well documented and reasons for unexpected results or premature termination are delivered in deep detail.

Once you have reached the GEEK level in MACRO programming this service will appear childish and very soon will be more annoying than enlightening. As a consequence you will issue a statement similar to this one:

options nosource nonotes errors=0;

After that your LOG will remain silent, except for WARNINGS, which cannot be switched off.

Macro code

Since MACRO programmers are very well aware what their code is intended to do, they usually decide on their own which information is written to the LOG. To get a proper documentation the MACRO PUT statement does the job:

%PUT Now processing age group no. &AGE_INDX.;

%PUT Parameter ‘PARM_I’ is empty. Alternate code will execute;

Three MACRO specific options may be issued to document runtime behavior: