Was this helpful?
Preprocessor Error Messages
The following is a list of errors messages specific to the COBOL language.
E_E40001
Ambiguous qualification of COBOL data item "%0c"
Reason:
This data item is not sufficiently qualified in order to distinguish it from another data item. It is likely that the data item is an elementary member of a COBOL record or group.
Action:
To avoid reference ambiguity qualify the data item further by using IN or OF. When using COBOL table subscripts (with parenthesis), the subscripted item must be unambiguous when the left parenthesis is processed. The preprocessor generates code using the most recently declared instance of the ambiguous data item.
E_E40002
Unsupported COBOL numeric picture string "%0c".
Reason:
An invalid picture character was encountered while processing a numeric picture string. A numeric picture string may include the following:
S
9
(
)
V
The preprocessor treats the data item as though it was declared:
PICTURE S9(8) USAGE COMP.
Action:
Correct the picture string declaration.
E_E40003
COMP picture "%0c" requires too many storage bytes. Try USAGE COMP-3.
Reason:
The COMPUTATIONAL data type must fit into a maximum of 4 bytes. Numeric integers of more than 9 digits require VAX quad-word integer storage (8 bytes), which is incompatible with the Ingres internal runtime data types.
Action:
Try reducing the picture string or declaring the data item as COMP-3 or COMP-2 which is compatible with Ingres floating-point data. An exception is made to allow non-scaled 10-digit numeric picture strings (PICTURE S(10) USAGE COMP), which is representable by a 4-byte integer.
E_E40004
No ## declare before first EQUEL statement "%0c".
Reason:
The preprocessor generates code that references data items declared in a file copied by the ## declare statement. Without issuing the ## declare statement, the COBOL compiler will not accept those references.
Action:
You must issue the ## declare statement before the first embedded statement.
E_E40005
"%0c" is not an elementary data item. Records cannot be used.
Reason:
In this usage, COBOL records or tables cannot be used.
Action:
In order to use this data item you must refer to an elementary data item that is a member of the record, or an element of the COBOL table.
E_E40006
COBOL declaration level %0c is out of bounds.
Reason:
Only levels 01 through 49 and 77 are accepted for COBOL data item declarations. Level numbers outside of this range will be treated as though they are level 01.
Syntax errors caused in leading clauses of a COBOL declaration may cascade and generate this error message for the occurs and value clauses of the erroneous declaration.
Action:
Correct any syntax errors in the leading clauses or assign the correct level.
E_E40007
Data item requires a picture string in this usage.
Reason:
The specified usage clause requires a COBOL picture string in order to determine preprocessor data item type information. Not all usage clauses require a picture string. Data items with usage comp, comp-3 and display do require a picture string. If no picture string is specified the preprocessor will treat the data item as though it was declared:
PICTURE X(10) USAGE DISPLAY.
Action:
Specify a picture string, if necessary.
E_E40008
Data item on level %0c has no parent of lesser level.
Reason:
A data item declared on a level that is greater than the level of the most recently declared data item is considered to be a subordinate member of that group. The previous level, therefore, must be the level number of a COBOL record or group declaration. This is typical with a COBOL record containing a few elementary data items.
A data item declared on a level that is less than the level of the most recently declared data item is considered to be on the same level as the "parent" of that data item. Level numbers violating this rule will be treated as though they are level 01.
Action:
Correct the level numbers.
E_E40009
Keyword picture and the describing string must be on the same line.
Reason:
When the preprocessor scans the COBOL picture string, it must find the picture keyword and the corresponding string description on the same line in the source file. The picture word and the string can be separated by the is keyword. The preprocessor will treat the declaration as though there was no picture clause.
Action:
Put the picture and describing string on the same line.
E_E4000A
"%0c" is not a legally declared data item.
Reason:
The specified data item was not declared but has been used in place of a COBOL variable in an embedded statement.
Action:
Declare the item legally.
E_E4000B
Unsupported picture "%0c" is numeric-display. usage comp assumed.
Reason:
Some versions of the COBOL preprocessor do not support numeric display data items. For example:
PICTURE S9(8) USAGE DISPLAY.
Action:
If this is the case, you should use COMPUTATIONAL data items and assign to and from display items before using the data item in embedded statements.
E_E4000C
COBOL occurs clause is not allowed on level 01.
Reason:
The occurs clause must be used with a data item that is declared on a level greater than 01.
Action:
This error is only a warning, and treats the data item correctly (as though declared as a COBOL table). A warning may also be generated by the COBOL compiler.
E_E4000D
EQUEL/COBOL does not support param target lists.
This feature is not documented and should not be used with EQUEL COBOL.
E_E4000E
Picture "%0c" is too long. The maximum length is %1c.
Reason:
COBOL picture strings must not exceed the maximum length specified in the error message.
Action:
Try to collapse consecutive occurrences of the same picture symbol into a "repeat count." For example:
PICTURE S99999999 becomes PICTURE S9(8)
E_E4000F
Picture "%0c" contains non-integer repeat count, %1c.
Reason:
A COBOL "repeat count'' in a picture string was either too long or was not an integer. The preprocessor treats the data item as though declared with a picture with a repeat count of 1. For example:
S9(1) or X(1).
Action:
Change the "repeat count" to an integer or shorten it accordingly.
E_E40011
Usage type "%0c" is not supported.
This usage type is currently not supported.
E_E40012
Picture "%0c" has two sign symbols (S).
Reason:
The specified numeric picture string has two sign symbols. The preprocessor will treat the data item as though it was declared:
PICTURE S9(8) USAGE COMP.
Action:
Correct the syntax.
E_E40013
Picture "%0c" has two decimal point symbols (V).
Reason:
The specified numeric PICTURE string has two decimal point symbols. The preprocessor will treat the data item as though it was declared:
PICTURE S9(8) USAGE COMP.
Action:
Correct the syntax.
E_E40014
Missing quotation mark on continued string literal.
Reason:
The first non-blank character of a continued string literal must be a quotation mark in the indicator area. A missing quotation mark in the continued string literal or the wrong quotation mark will generate this error.
Action:
Correct the syntax.
E_E40015
COBOL data item "%0c" is a table and must be subscripted.
Reason:
The data item is a COBOL table and must be subscripted in order to yield an elementary data item to retrieve or set Ingres data.
Action:
Subscript the table.
E_E40016
COBOL data item "%0c" is not a table and must not be subscripted.
Reason:
You have included subscripts when referring to a data item that was not declared as a COBOL table.
Action:
Remove the subscript.
E_E40016
Duplicate COBOL data declaration "%0c" clause found.
Reason:
You have included either a duplicate USAGE, PICTURE, or OCCURS data declaration clause when declaring a data item.
Action:
Remove the duplicate declaration clause.
Last modified date: 01/30/2023