|Automatic Macro Variables|
|Type:||Automatic macro variable (read only)|
You can use the value of SYSERR as a condition to determine further action to take or to decide which parts of a SAS program to execute. SYSERR is used to detect major system errors, such as out of memory or failure of the component system when used in some procedures and DATA steps. SYSERR automatic macro variable is reset at each step boundary. For the return code of a complete job, see SYSCC Automatic Macro Variable.
SYSERR can contain the following values:
|0||Execution completed successfully and without warning messages.|
|1||Execution was canceled by a user with a RUN CANCEL statement.|
|2||Execution was canceled by a user with an ATTN or BREAK command.|
|3||An error in a program run in batch or non-interactive mode caused SAS to enter syntax-check mode.|
|4||Execution completed successfully but with warning messages.|
|5||Execution was canceled by a user with an ABORT CANCEL statement.|
|6||Execution was canceled by a user with an ABORT CANCEL FILE statement.|
|>6||An error occurred. The value returned is procedure-dependent.|
The following table contains warning return codes. The codes do not indicate any specific problems. These codes are guidelines to identify the nature of a problem.
|108||Problem with one or more BY groups|
|112||Error with one or more BY groups|
|116||Memory problems with one or more BY groups|
|120||I/O problems with one or more BY groups|
The following table contains error return codes. The codes do not indicate any specific problems. These codes are guidelines to identify the nature of a problem.
|1008||General data problem|
|1012||General error condition|
|2000||Semantic action problem|
|2001||Attribute processing problem|
|4000||Not a valid procedure|
|9999||Bug in the procedure|
|20000||A step was stopped or an ABORT statement was issued.|
|20001||An ABORT RETURN statement was issued.|
|20002||An ABORT ABEND statement was issued.|
|25000||Severe system error. The system cannot initialize or continue.|
The example creates an error message and uses %PUT &SYSERR to write the return code number (1012) to the SAS log.
The following SAS log output contains the return code number:
75 data NULL; 76 set doesnotexist; ERROR: File WORK.DOESNOTEXIST.DATA does not exist. 77 78 run; NOTE: The SAS System stopped processing this step because of errors. WARNING: The data set WORK.NULL might be incomplete. When this step was stopped
there were 0 observations and 0 variables. WARNING: Data set WORK.NULL was not replaced because this step was stopped. NOTE: DATA statement used (Total process time): real time 0.00 seconds cpu time 0.00 seconds 79 80 %put &syserr; 1012