z/OS TSO/E CLISTs
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Obtaining CLIST error codes

z/OS TSO/E CLISTs
SA32-0978-00

The CLIST control variable &LASTCC contains an error code from the last TSO/E command or CLIST statement executed. After each command or statement in a CLIST, you can retrieve the error code from &LASTCC, for example, by coding
SET ECODE = &LASTCC
You can then write the error code to the terminal or use it as a basis for further processing. For more information about using &LASTCC, see Getting return codes and reason codes.
Note: With the exception of the RETURN statement, CLIST statements and TSO/E commands in error routines do not update the value of &LASTCC If you use &LASTCC in an error routine, &LASTCC contains the return code from the command or statement that was executing when the error occurred.

Table 1 lists and explains the error codes that CLIST statements return in &LASTCC. Except as otherwise noted, the codes are in decimal format.

Table 1. CLIST statement error codes (decimal)
Error code Meaning
16 Not enough virtual storage. Log on with more storage or specify VARSTORAGE(HIGH) in your TSO/E PROFILE.
300 User tried to update a control variable that can only be updated by the system.
304 Not valid keyword found on EXIT statement.
308 CODE keyword specified, but no code given on EXIT statement.
312 Internal GLOBAL processing error.
316 TERMIN delimiter has more than 256 characters.
324 GETLINE error.
328 More than 64 delimiters on TERMIN.
332 Not valid file name syntax.
336 File already open.
340 Not valid OPEN type syntax.
344 Undefined OPEN type.
348 File specified did not open. (For example, the file name was not allocated.) Reallocate the file.
352 GETFILE - file name is not currently open.
356 GETFILE - the file has been closed by the system. (For example, the file was opened under EDIT mode and EDIT mode has been terminated.)
360 PUTFILE - file name not currently open.
364 PUTFILE - file closed by system (see code 356).
368 PUTFILE - CLOSFILE - file not opened by OPENFILE.
372 PUTFILE - issued before GETFILE on a file opened for update.
376 Unable to open the directory of a PDS using a variable record format.
380 Data sets with a logical record length greater than 32767 are not supported for CLIST I/O.
400 GETFILE - end of file. TSO/E treats this condition as an error that can be handled by an ERROR action.
404 User tried to write to a file open for INPUT.
408 User tried to read from a file open for OUTPUT.
412 User tried to update a file after end of file was reached.
416 User tried to update an empty file.
500 The TO value on a DO statement is non-numeric.
502 The FROM value on a DO statement is non-numeric.
504 The BY value on a DO statement is non-numeric.
508 A SYSCALL statement contains an undefined procedure name.
512 A RETURN statement contains an undefined keyword.
516 The name of a procedure is used as a variable.
524 Unable to establish an ESTAE routine.
528 A positional specification on the PROC statement was not valid.
532 Not valid characters were found in a symbolic parameter on the PROC statement.
536 A symbolic parameter name on the PROC statement is too long.
540 The number of positional parameters defined on the PROC statement is fewer than the number passed.
544 No symbolic parameters were defined on the PROC statement.
548 Duplicate parameter names were found on the PROC statement.
552 A keyword parameter has a not valid default value.
556 A default keyword value was missing an ending quote on the PROC statement.
560 A PARSE error occurred while processing the PROC statement.
568 Abnormal termination
572 SYSREF variable was not passed as a parameter.
576 SYSREF variable was not defined on a PROC statement.
580 An ERROR statement was found within a subprocedure's ERROR or ATTN routine.
584 An ATTN statement was found within a subprocedure's ERROR or ATTN routine.
588 A character between DBCS delimiters was outside the range of double-byte characters.
592 A DBCS string contains an odd number of bytes, indicating that one of the characters is incomplete.
596 A beginning DBCS delimiter was found without a corresponding ending delimiter.
600 Two beginning DBCS delimiters were found without an intervening ending delimiter.
604 An error occurred while processing an installation-written CLIST built-in function in IKJCT44B.
608 An error occurred while processing an installation-written CLIST statement in IKJCT44S.
612 An error occurred in an installation exit.
620 EBCDIC &SYSTWOBYTE data is outside valid DBCS range.
624 An error occurred while processing a system variable (see note below).
708 The preceding statement has a not valid &SYSINDEX expression.
712 The preceding statement has a not valid &SYSINDEX start parameter; the start parameter must be a non-negative number.
716 The preceding statement has a not valid &SYSNSUB level parameter; the level parameter must be a number from 0 to 99.
720 The preceding statement has a missing &SYSNSUB level, expression parameter or both.
724 The preceding statement has a &SYSNSUB level parameter that uses a built-in function as a symbolic variable.
8xx Evaluation routine error codes.
800 Data was found where operator was expected.
804 An operator was found where data was expected.
808 A comparison operator was used in a SET statement.
812 (Reserved).
816 An operator was found at the end of a statement.
820 Operators are out of order; data may resemble operators.
824 More than one exclusive operator was found.
828 More than one exclusive comparison operator found.
832 The result of an arithmetic calculation is outside the valid range, -2,147,483,647 to +2,147,483,647.
836 (Reserved).
840 Not enough operands.
844 No valid operators.
848 An attempt was made to load data as character data, but the data was numeric (an arithmetic operation had been performed on the data).
852 Addition error - character data.
856 Subtraction error - character data.
860 Multiplication error - character data.
864 Divide error - character data or division by 0.
868 Prefix found on character data.
872 Numeric value is too large.
900 Single ampersand was found.
904 (Reserved).
908 An error occurred in an error action that received control because of another error.
912 Substring range is not valid.
916 A non-numeric value was found in a substring range.
920 Substring range value too small (zero or negative).
924 Substring syntax is not valid.
932 Substring found outside of the range of the string. (For example, an &SUBSTR variable attempted to substring the first three positions of data that contains only two characters.)
936 A built-in variable that requires a value was entered without a value.
940 Not valid symbolic variable.
944 A label was used as a symbolic variable.
948 Not valid label syntax on a GOTO statement.
952 A GOTO label was not defined.
956 A GOTO statement has no label.
960 &SYSSCAN was set to a not valid value.
964 &LASTCC was set to a not valid value and EXIT tried to use it as a default value.
968 DATA PROMPT-ENDDATA statements supplied, but no prompt occurred.
972 TERMIN statement cannot be used in background jobs.
976 READ statement cannot be used in background jobs.
980 Maximum statement length (32756) exceeded during symbolic substitution.
984 TERMING delimiter has more than 256 characters.
988 TERMING has more than 64 delimiters.
992 TERMING statement cannot be used in background jobs.
999 Internal CLIST error.
Sxxx A system abend code, printed in hexadecimal.
Uxxx A user abend code, printed in hexadecimal.
Note: The underlaying error, which is summarized by error code 624, will always be shown by a more detailed error message; this message will not be suppressed when using an error routine.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014