Portal | Manuals | References | Downloads | Info | Programs | JCLs | Master the Mainframes
IBM Mainframe Computers Forums Index
 
Register
 
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Usergroups Profile Log in to check your private messages Log in
 

 

Possible Error codes in PL/I

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> PL/I & Assembler
View previous topic :: :: View next topic  
Author Message
sivatechdrive

Active User


Joined: 17 Oct 2004
Posts: 190
Location: hyderabad

PostPosted: Fri Mar 11, 2005 4:28 pm    Post subject: Possible Error codes in PL/I
Reply with quote

hi all


Can anyone send me the the errors we will get using PL/1

plz atleast give the site where we can get the error messages



Thanks
Siva
Back to top
View user's profile Send private message

ovreddy

Active User


Joined: 06 Dec 2004
Posts: 211
Location: Keane Inc., Minneapolis USA.

PostPosted: Fri Mar 11, 2005 6:45 pm    Post subject:
Reply with quote

Hi Siva,

I have some general error codes...

The errors are listed in the following order:

? General errors
? Compilation errors (by pass)
? Run-time errors

Note: all nonrecoverable errors are marked with an asterisk.

General Errors

Error Description
DIR FULL*
There is no more space available in the
operating system's disk directory. You
should erase all unnecessary files and try
again.
DISK FULL*
There is no more disk file space
available. You should erase all
unnecessary files and try again.
INVALID INCLUDE
There is a syntax error in an %INCLUDE
statement. The %INCLUDE statement has the
general form
%include 'd:filename.typ';
where d is the (optional) drive, and
filename.typ is the file specification.
LENGTH
The item exceeds the maximum field width
for the keyword or data item (31
characters for identifiers, 128 for
strings).
NO FILE x*
The file x is not on the disk. If x is of
type PLI, then ensure that your source
file is on the named disk. If the type is
OVR, or OVL, then ensure that all three
PL/I compiler overlays (PLI0, PLI1, PL12)
are on the default disk.
OUT OF MEMORY

The size of your system's Transient
Program Area (TPA) is too small. You must
re-configure the system.

READ ONLY X*

PL/I cannot close the file named x. This
is typically caused by disk that is set to
Read-Only through hardware.

TERMINATED.*

The number of compilation errors exceeds
255, or the compilation has been
terminated at the console by the user.

TRUNC

A line exceeds 120 characters in length
and has been truncated.

UNEXPECTED EOF*

The compiler has encountered the end of
the source program before the logical end
of program. This is typically due to
unbalanced block levels (recompile with
the $n option for a nesting trace) , or
unbalanced comments and strings (check
balance for missing */ or apostrophe
characters).

VALUE

Indicates that the converted number
exceeds the 16-bit capacity for FIXED
BINARY constants (-32768, +32767).

Compilation Errors

Pass 1 Errors

Error Description
BAD VAL
The constant encountered in a format is
invalid for this format item.
BALANCE
The left and right parentheses for the
expression are not balanced.
BLOCK AT LINE x VARIABLE v EXCEEDS STORAGE
The block beginning at source line x
contains a variable v that caused the
collective allocation of storage to exceed
65535 bytes.
BLOCK OVERFLOW
The nesting level of PROCEDURE, DO, and
BEGIN blocks exceeds thirty-one levels.
You must simplify the program structure
and try again.
CONFLICT
The data attributes given in a DECLARE
statement conflict with one another.
DUPLIC
The indicated variable is declared more
than once within this block.
LABEL
The label for this statement is not
properly formed. Only one label per
statement is allowed, and subscripted
label constants must have constant
indices.

LENGTH
The length of the indicated symbol exceeds
the maximum symbol size. You must
simplify the structure and try again.
This error can also be caused by an
unbalanced string.
NESTED REP
The %REPLACE statement is improperly
placed in the block structure. All
%REPLACE statements must occur at the
outer block level before the occurrence of
nested inner blocks.
NO DCL: vl, v2, ... vn
The listed procedure parameters occurs in
the procedure header, but are not declared
within the procedure body.
NOT BIF
The BUILTIN attribute is applied to an
identifier that is not a PL/I built-in
function.
NOT IMP
The statement uses a feature that is not
implemented in PL/I.
NOT VARIABLE
The declared name is treated as a
variable, but does not have the VARIABLE
attribute.

NUMBER
A numeric constant is required at this
position in the format.
ON BODY
An invalid statement occurs in the ON
condition body. You cannot use a RETURN
statement to exit from an ON-unit. DO and
IF statements require an enclosing
BEGIN ... END block.
PICTURE
There is a syntax error in a Picture
specification or P format item.
RECUR PROC
A recursive procedure contains an invalid
nested block. Only embedded DO-groups are
allowed in recursive procedures.
STRUCTURE
The indicated structure is improperly
formed. Nesting levels cannot exceed 255.
SYMBOL LENGTH OVERFLOW
The maximum symbol size is exceeded during
construction of the Symbol Table entry.
You must simplify the program and try
again.

SYMBOL TABLE OVERFLOW*
This program cannot be compiled in the
current memory size. You must break the
module into separate compilations, or
increase the size of the TPA on your
system.

SYNTAX
There is a syntax error in the specified
statement. See the appropriate section of
the PL/I Language Reference Manual for
proper syntax.
Pass 2 Errors
AGG VAL
The actual parameter is an aggregate value
that does not match the formal parameter.
Change the actual or formal parameter to
match.
ARG COUNT
One of the following errors occurs: a
subscript count does not match the
declaration; there is a DEFINED reference
to an array element; there are more than
15 bound pairs; some bound pairs do not
match; or the formal and actual parameter
count does not match.
BASE
There is an invalid based variable
reference. This can occur when a pointer
qualifier references a nonbased variable,
or when a variable is declared BASED(x),
where x is not a simple pointer variable
or simple pointer function call, as in
BASED(P) or BASED(Qo).
BASED REQ
A based variable is required in this
context.

BAD TYPE
The control variable in an iterative DO
group is invalid. Only scalar variables
are allowed.
BAD VALUE
There is an invalid argument to a built-in
function.
BALANCE
The left and right parentheses for this
expression are unbalanced.
BIT CON
A bit substring constant is out of range.
The third argument to bit SUBSTR must be a
constant in the range 1 to 16.
BIT REQ
A bit expression is required in this
context.
CLOSURE
The label following the END does not match
the name on the corresponding block.
COMP REQ
A noncomputational expression is used
where a computational expression is
required.
COMPILER
A compiler error has occurred. The error
might be due to previous errors.

CONFLICT
Data attributes are in conflict, or the
attributes in an OPEN statement are not
compatible.
CONVERT
The compiler cannot convert the constant
to the required type.
EXPRESSION OVERFLOW*
The expression overflows the compiler's
internal structures. You must simplify
the program and try again.
ID REQ
An identifier is required in this context.
INT REQ
An integer (FIXED BINARY) expression is
required in this context.
LABEL
An improperly formed label is encountered
where a label is expected.
NO BUILTIN
The referenced built-in function is not
implemented in PL/I.
NO DCL
The indicated variable is not declared in
the scope of this reference.

NOT FILE
The reference within a FILE Option is not
a file variable or file constant.
NOT FORMAT
The format field of a GET or PUT EDIT
statement does not reference a format.
NOT IMP
The construct in this statement is not
implemented in PL/I.
NOT KEY
The expression within a KEYTO, KEYFROM, or
KEY option is not a FIXED BINARY variable.
NOT LABEL
The target of this GOTO statement is not a
label value.
NOT PROC
The reference following the keyword CALL
is not a procedure value.
NOT SCALAR
A nonscalar value is encountered in a
context requiring a scalar expression.
NOT STATIC
An attempt is made to initialize automatic
storage. You must declare the variable
with the STATIC attribute and try again.

PTR REQ
A pointer variable is required in this
context.
IFY
This reference to a structure does not
properly qualify the variable name. This
is usually due to a nonunique substructure
reference.
RET EXP
The expression in a RETURN statement is
not compatible with the RETURNS attribute
of the corresponding procedure.
RETURN
An attempt is made to return a value from
a procedure without the RETURNS attribute.
SYNTAX
There is a syntax error in this statement.
See the appropriate section of the PL/I
Language Reference Manual for the proper
syntax.
SCALE GREATER THAN 0
The resulting FIXED BINARY expression
produces a nonzero scale factor. If the
expression involves division, you must
replace x/y by DIVIDE (x, y, 0) . This
replacement is necessary to maintain full
language compatibility.
SYMBOL TABLE OVERFLOW*
The free memory space is exhausted during
compilation. (See similar error in Pass 1.)

STR REQ
A string variable is required in this
context. In the case of the SUBSTR built
in function, you must assign the
expression to a temporary variable before
the substring operation takes place.
TYPES NOT=
The types of a binary operation are not
compatible. You can check all
declarations and review the conversion
rules (Section 4). This error might be
due to aggregate data items that do not
match in structure.
UNSPEC
The source or target of an UNSPEC
operation is not an 8- or 16-bit variable.
# VALUES
The number of items specified in an
INITIAL statement is not compatible with
the variable being initialized.
VAR REQ
A variable is required in this context.

Pass 3 Errors

***AUTOMATIC STORAGE OVERFLOW***

The total storage defined within this
program module exceeds 65535 bytes.

BAD INT FILE

The intermediate file sent to Pass 3 is
invalid. This is usually due to a
hardware malfunction.

BLOCK OVERFLOW

The nesting level has exceeded the
compiler's internal tables (maximum 32
levels).

EOF ON INT FILE

The compiler encounters a premature end
of-file while reading the intermediate
file. This error is usually due to a
hardware failure.

EXPRESSION OVERFLOW*

The compiler's internal structure sizes
are exceeded. You must simplify the
expression and try again.

LINE x OPERATION NOT IMPLEMENTED

An invalid intermediate operation occurs.
This error is usually due to a hardware
failure or errors in a previous pass.

Non-recoverable Run-time Errors

FREE REQUEST OUT OF RANGE

A FREE statement specifies a storage
address outside the range of the free
storage area. This is usually caused by a
reference to an uninitialized base
pointer.

FREE SPACE OVERWRITE

The free storage area is overwritten.
This error is usually caused by an out-of
range subscript reference or a stack
overflow. If stack overflow occurs, use
the STACK(n) keyword in the OPTIONS field
to increase the stack size, and try again.

INSUFFICIENT MEMORY

The loaded program cannot run in the
memory size allocated. If possible,
increase the size of the Transient Program
Area.

INVALID I/O LIST

The list of active files is overwritten
while the program is running, and the
attempt to close all active files fails.
This is usually due to subscript values
out-of-range.

Recoverable Run-time Errors

PL/I prints the following errors when no ON-unit is
enabled, or if control returns from an ON-unit
corresponding to a nonrecoverable condition (marked by an
asterisk). In each case, the condition prefix is listed,
followed by an optional subcode that identifies the error
source, followed in some cases by an auxiliary message
that further identifies the source of the error.

ERROR(l) "Conversion"

This error occurs whenever the run-time
system cannot perform the required
conversion between data types. This error
can be signaled during arithmetic
operations, assignments, and I/O
processing with GET and PUT statements.

ERROR(2) "I/O Stack Overflow"

The run-time I/O stack exceeds 16,
simultaneous, nested I/O operations. You
must simplify the program and try again.

ERROR(3) A transcendental function argument is out
of-range.

ERROR(4) "I/O Conflict x"

A file is explicitly or implicitly opened
with one set of attributes, and
subsequently accessed with a statement
requiring conflicting attributes. The
value of x is one of the following:

? STREAM/RECORD
? SEQUEN/DIRECT
? INPUT/OUTPUT
? KEYED Access

The first conflict arises when ASCII files
are processed using READ or WRITE, but the
INTO or FROM option does not specify a
varying character string.

ERROR(5) "Format Overflow"
The nesting level of embedded formats
exceeds 32. You must simplify the program
and try again.
ERROR(6) "Invalid Format Item"
The format processor encounters a format
item that cannot be processed. The P
format is not implemented in PL/I.
ERROR(7) "Free Space Exhausted"
No more free space is available. If you
intercept this error with an ON-unit, do
not execute an ALLOCATE, OPEN, or
recursion without first releasing storage.
ERROR(8) "OVERLAY, NO FILE d:filename"
The overlay manager cannot find the
indicated file.
ERROR(9) "OVERLAY, DRIVE d:filename"
An invalid drive code is passed as a
parameter to an overlay.
ERROR(10) "OVERLAY, SIZE d:filename"
The indicated overlay is too large and
overwrites the PL/I stack and/or free
space if loaded.
ERROR(11) "OVERLAY, NESTING d:filename"
Loading the indicated overlay exceeds the
maximum nesting depth.
ERROR(12) "OVERLAY, READ d:filename"
There has been a disk read error while
loading an overlay. This is probably
caused by a premature EOF.

--IN

ERROR(13) "Invalid OS Version"

Any operation that generates an operating
system call not supported under the
current operating system causes this
error.

ERROR(14) "Unsuccessful Write"

Any unsuccessful write operation on a file
due to lack of directory space, lack of
disk space, and so on, cause this error.

ERROR(15) "File Not Open"

Any attempt to lock or unlock a record in
a file that is not open causes this error.

ERROR(16) "File Not Keyed"

Any attempt to lock or unlock a record in
a file that does not have the KEYED
attribute causes this error.

FIXEDOVERFLOW

A decimal operation produces a value
exceeding 15 decimal digits of precision,
or an attempt is made to store to a
variable with insufficient precision.

OVERFLOW(l)

A floating-point operation produces a
value too large to be represented in
floating-point format.

OVERFLOW(2)

A double-precision, floating-point value
is assigned to a single-precision value
with insufficient precision.

UNDERFLOW (1)
A floating-point operation produces a
value too small to be represented in
floating-point format.
UNDERFLOW (2)
A double-precision, floating-point value
is assigned to a single-precision value
with insufficient precision.
ZERODIVIDE(l)
A decimal divide or modulus operation is
attempted with a divisor of zero.
ZERODIVIDE(2)
A floating-point divide or modulus
operation is attempted with a divisor of
zero.
ZERODIVIDE(3)
An integer divide or modulus operation is
attempted with a divisor of zero.
ENDFILE
An attempt is made to read past the end of
the listed file, or the disk full
condition occurs during output.
UNDEFINEDFILE
If this error occurs on input, the run
time system cannot find the named file on
the disk, or an input device is opened for
output. If the error occurs on output,
the run-time system cannot create an
output file, or an output device is opened
for input.

KEY(l)
An invalid key is detected in an output
operation.
KEY(2)
An invalid key is encountered during an
input operation.
ENDPAGE
An end-of-page condition is detected.
This condition does not cause termination
if no ON-unit is active.

E.2 PL/I-86 Rl.l and PL/I-86 R1.0 under DOS

In PL/I-86 Rl.l and PL/I-86 R1.0 under DOS, the compilation error
messages in Pass 3, and the run-time error messages are identical to
those in PL/I-80 R1.4 and PL/I-86 R1.0. However, there are new
error messages in Pass 1 and Pass 2. The text in the new error
messages makes them self-explanatory.

The mechanism for finding and reporting errors is also the same.
That is, the compiler marks each compilation error with a ?
character near the position of the error in the line, and an error
message following the line containing the error. The ? might follow
the actual error position by a few columns. In some cases, an error
on one line can lead to errors on subsequent lines.

E.3 Condition Categories and Codes

The condition categories describe the various conditions that the
run-time system can signal or that your program can signal by
executing a SIGNAL statement.

There are nine major condition categories with subcodes, some of
which are system-defined, and some of which you can define yourself.
Table E-4 shows the predefined subcodes.

ERROR
ERROR(O) Any ERROR subcode
ERROR(l) Data conversion
ERROR(2) I/O Stack overflow
ERROR(3) Function argument invalid
ERROR(4) I/O Conflict
ERROR(5) Format stack overflow
ERROR(6) Invalid format item
ERROR(7) Free space exhausted
ERROR(8) Overlay error, no file
ERROR(9) Overlay error, invalid drive
ERROR(10) Overlay error, size
ERROR(11) Overlay error, nesting
ERROR(12) Overlay error, disk read error
ERROR(13) Invalid OS call
ERROR(14) Unsuccessful Write
ERROR(15) File Not Open
ERROR(16) File Not Keyed
FIXEDOVERFLOW
FIXEDOVERFLOW(O) Any FIXEDOVERFLOW subcode
OVERFLOW
OVERFLOW(O) Any OVERFLOW subcode
OVERFLOW(l) Floating-point operation
OVERFLOW(2) Float precision conversion
UNDERFLOW
UNDERFLOW(O) Any UNDERFLOW subcode
UNDERFLOW(l) Floating-point operation
UNDERFLOW(2) Float precision conversion
ZERODIVIDE
ZERODIVIDE(O) Any ZERODIVIDE subcode
ZERODIVIDE(l) Decimal divide
ZERODIVIDE(2) Floating-point divide
ZERODIVIDE(3) Integer divide
ENDFILE
UNDEFINEDFILE
KEY

Sorry for posting huge data at once.

Bye,
Reddy.
Back to top
View user's profile Send private message
mcmillan

Site Admin


Joined: 18 May 2003
Posts: 1203
Location: India

PostPosted: Fri Mar 11, 2005 9:49 pm    Post subject: Re
Reply with quote

Thanks Reddy. Also check the Link Enterprise PL/I Messages & Codes avaialble in:

http://www.ibmmainframes.com/manuals.php
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> PL/I & Assembler All times are GMT + 6 Hours
Page 1 of 1

 

Search our Forum:

Similar Topics
Topic Author Forum Replies Posted
No new posts Need help with below DB2 error ashek15 DB2 3 Sat Mar 18, 2017 5:56 am
No new posts FINDREP Syntax Error seahawk789 DFSORT/ICETOOL 4 Thu Mar 09, 2017 10:11 pm
No new posts INVOKE WEBSERVICE error danik56 CICS 11 Thu Mar 09, 2017 11:52 am
No new posts Row not found Sql error GaganGarg DB2 7 Tue Mar 07, 2017 6:29 am
No new posts DB2 SQL Error: SQLCODE=-440, SQLSTATE... kishpra DB2 1 Sat Feb 18, 2017 2:31 am


Facebook
Back to Top
 
Mainframe Wiki | Forum Rules | Bookmarks | Subscriptions | FAQ | Tutorials | Contact Us