This subset of VSI COBOL compiler messages includes those that require additional explanation.
1 – ACCEXCEPT
DISPLAY now allows [NOT] ON EXCEPTION - check DISPLAY scope within ACCEPT ON EXCEPTION Explanation: Format 6 of the DISPLAY statement with the [NOT] ON EXCEPTION phrase is a conditional statement and may require the use of END-DISPLAY to determine the proper scope of the DISPLAY statement. User Action: Verify the scope of the DISPLAY statement in the program logic. You may need to insert a terminating "end-display". For example, consider this code fragment: accept password-form at line 15 column 20 on exception display "Problem " line 16 not on exception continue end-accept. The "not on exception" is NOT matched with the "accept" as shown by the indentation, but is matched with nearest preceding unterminated statement, the "display". To match the "not on exception" phrase with the "accept" insert an "end-display" so the code looks like: accept password-form at line 15 column 20 on exception display "Problem " line 16 end-display not on exception continue end-accept.
2 – BADINT
Integer value is outside of valid range---results are undefined Explanation: The compiler truncates the value, and the results are undefined because your program violates one of these rules: a. The value is greater than that allowed by RMS. b. The value is not less than 2**31. c. The value is equal to zero. User Action: Modify the value so that it is within the valid range.
3 – BADPROTCL
*Node <node-name> is an invalid CDD object Explanation: The dictionary object is corrupt. The compiler could not find a required CDD entry. User Action: You must reinsert the definition into the dictionary.
4 – CDDERROR
CDD error at node <node-name> Explanation: The dictionary object is corrupt. The compiler could not find a required CDD entry. User Action: You must reinsert the definition into the dictionary.
5 – DEBUGOPT
/NOOPTIMIZE is recommended with /DEBUG Explanation: The compiler performs optimization of your COBOL program when you specify /DEBUG, resulting in unusual program behavior when stepping through your program in subsequent debugging sessions. In addition, program SECTION and PARAGRAPH names may not appear when debugging optimized programs. User Action: To suppress this compiler message, you must change the level of optimization on the COBOL command line or specify no optimization. (For example, specify /NOOPTIMIZE, /OPTIMIZE, or /OPTIMIZE=LEVEL=x). To provide the debugger with the best possible information about your program, specify /NOOPTIMIZE.
6 – GRPVALCND
VALUE and condition-names invalid with subordinate JUSTIFIED, SYNCHRONIZED, or non-DISPLAY usage Explanation: The compiler accepts the VALUE clause. User Action: Use an explicit MOVE statement in your program to initialize these items.
7 – ILLLITERL
CDD record containing symbolic literals invalid in COBOL Explanation: This CDD entry is incompatible with VSI COBOL. The COBOL language does not define symbolic literals, therefore the VSI COBOL compiler ignores them. User Action: You must take the following action: a. Redefine the record definition and reinsert it into the dictionary, omitting the symbolic literal. b. Do not use this record definition with VSI COBOL.
8 – INVADVANC
Invalid ADVANCING operand Explanation: The operand must be one of the following: a. PAGE. b. a mnemonic-name. c. an unsigned integer data item. d. an unsigned integer literal. User Action: Recode the program using one of the four valid operands
9 – MISS01
Missing level 01 or 77 entry before this item Explanation: If the current item is a condition-name, the compiler ignores the definition; otherwise, the compiler treats the current item as an 01 level item. User Action: Recode the program using a level 01 or level 77 entry.
10 – MULTIDIM
Invalid multidimensional CDD OCCURS Explanation: This CDD entry is incompatible with VSI COBOL. CDD supports the definition of multidimensional tables more generally than VSI COBOL does. The compiler uses only one dimension of the information contained in a multidimensional table definition. User Action: You must take the following action: a. Redefine the record definition in the dictionary, omitting this multidimensional table definition. b. Do not use this record definition with VSI COBOL.
11 – NOTRECORD
Node <node-name> is an <object-name>, not a CDD record definition---COPY ignored Explanation: VSI COBOL requires a pathname to reference a CDD record description. The compiler ignores the COPY FROM DICTIONARY statement. User Action: You must use a different pathname in your COPY FROM DICTIONARY statement or correct the CDD entry to describe a record.
12 – NOV3EVAL
/STANDARD=V3 evaluation order not supported for this construct Explanation: The compiler generates this message for items that may be affected by the evaluation order in the INSPECT, STRING, UNSTRING, and DIVIDE statements. Specifically, this message appears when you specify /STANDARD=V3 and either a subscript or a reference modification occurs in a place that, for VAX COBOL Version 3.0, required a different evaluation order User Action: Review the code indicated by the message and refer to the online help information for the /STANDARD qualifier to determine whether or not your program needs a change.
13 – NOV3ODO
/STANDARD=V3 variable length item rules not supported for this construct Explanation: The compiler generates this message when you specify /STANDARD=V3 for destinations where OCCURS DEPENDING ON requires different behavior in the MOVE statement than VAX COBOL Version 3.0. User Action: Review the code indicated by the message and refer to the online help information about the /STANDARD qualifier to determine whether or not your program needs a change.
14 – ODOSAMDD
OCCURS DEPENDING ON data-name must be defined in the same DATA DIVISION as the OCCURS DEPENDING ON. Explanation: The compiler ignores the error. User Action: You must take the following actions: a. Redefine the OCCURS DEPENDING ON data-name in the same Data Division as the OCCURS DEPENDING ON. b. Recompile your program.
15 – REAMISIO
READ statement required for OPEN I-O on file Explanation: The program opens the file in I-O mode, but does not contain a READ statement. A DELETE or REWRITE operation on a sequentially accessed file requires a previously executed READ or START statement. User Action: You must take one of the following actions: a. Add a READ statement to your program. b. Check the file declaration for the EXTERNAL attribute and add one to your program, if appropriate.
16 – REDEFFILL
Redefinition of FILLER invalid in COBOL Explanation: The compiler ignores the redefinition and treats the item as a separate data description entry. User Action: Remove the erroneous redefinition.
17 – REDEFNAM
Incorrect data-name in REDEFINES clause Explanation: The compiler assumes the correct data-name, if possible. Otherwise, the compiler ignores the REDEFINES clause. User Action: Correct the data-name and recompile your program.
18 – REFINVSEC
REFERENCE data name defined in an invalid section Explanation: Data name must be defined in the File, or Working-Storage Section. The compiler ignores the entire VALUE IS clause. User Action: Remove the VALUE IS reference clause.
19 – SECTGLOB
Invalid GLOBAL clause Explanation: This data-item either: a. does not have an explicit name. b. is not an 01 or 77 item. c. is not defined in the File or Working-Storage Sections. User Action: You must take one of the following actions: a. Remove the GLOBAL clause. b. Check entries that contain the GLOBAL clause and make certain they are named. c. Check your program to ensure that the GLOBAL clause is an 01 or 77 item and make the necessary corrections. d. Make certain that the data-item is in the File or Working-Storage section. If it is not, remove the GLOBAL clause.
20 – SELOBJECTS
Invalid number of selection objects Explanation: In the WHEN clause of an EVALUATE statement, the number of selection objects must equal the number of selection subjects. User Action: Recode the program making certain that you have an equal number of selection objects and selection subjects.
21 – BADITMLEN
Length for database record-item "!AF" must be greater than zero Explanation: The minimum size for a COBOL data item is 1 byte. In a DBMS Data Description entry, the minimum size for a subschema data item is 0 bytes. The compiler treats the record-item as if it has a length of 1 byte, which may produce run-time errors. User Action: You must take one of the following actions: a. Redefine the subschema data item to be at least 1 byte, and recompile the subschema with the DDL Utility b. Do not use this subschema with VSI COBOL
22 – BADITMMUL
Length for database record-item ".!AF" must be multiple of 8 bits Explanation: This entry is incompatible with VSI COBOL. The smallest unit of data that can be defined in a VSI COBOL program is 1 byte (8 bits). The compiler rounds the length up to the next multiple of 8 bits. User Action: You must take the following actions: a. Redefine the subschema data item to be a multiple of 8 bits. b. Recompile the subschema with the DDL Utility.
23 – BADITMOFF
Offset for database record-item "!AF" must be multiple of 8 bits Explanation: This entry is incompatible with VSI COBOL. The smallest unit of data that can be defined in a VSI COBOL program is 1 byte (8 bits). The compiler rounds the offset up to the next multiple of 8 bits. User Action: You must take the following actions: a. Redefine the subschema data item to be a multiple of 8 bits. b. Recompile the subschema with the DDL Utility.
24 – BADRECMUL
Length for database record "!AF" must be multiple of 8 bits Explanation: This entry is incompatible with VSI COBOL. The smallest unit of data that can be defined in a VSI COBOL program is 1 byte (8 bits). The compiler rounds the length up to the next multiple of 8 bits. User Action: You must take the following actions: a. Redefine the subschema data item to be a multiple of 8 bits. b. Recompile the subschema with the DDL Utility..!
25 – CDDACCERR
Error in accessing subschema---DB statement ignored Explanation: The VSI COBOL compiler could not access the subschema and/or schema specified in your DB statement. Make certain that the schema and subschema exist in the CDD. Also, verify that your logical names resolve to the schema and subschema that you intend to use. The compiler ignores the DB statement. User Action: Check your CDD access path or CDD access authorization.
26 – CDDSTRIDE
Invalid stride for database record-item "!AF" Explanation: This entry is incompatible with VSI COBOL. The stride attribute describes the separation (in bits) between one occurrence of a table item and the next occurrence. This should be the same as the allocated length of a single occurrence of the item. The compiler issues this message whenever these two lengths do not agree. The compiler gives the record-item a stride equal to the length of one occurrence of the table item. User Action: You must take the following actions: a. Redefine your subschema to ensure that these two database record-item lengths are identical. b. Recompile the subschema containing this record-item with the DBMS DDL Utility.
27 – CNTSGNOUT
Unable to complete subschema processing Explanation: The compiler failed to exit the CDD when it completed subschema processing. The compiler terminates subschema processing. User Action: Recompile your program.
28 – FLDACCERR
Error in accessing record-item "!AF" from subschema Explanation: The subschema containing the record item is most likely corrupt. User Action: Recompile the subschema with the DBMS DDL Utility.
29 – ILLNUMSUB
Invalid multidimensional database record-item "!AF" Explanation: This entry is incompatible with VSI COBOL. The DBMS Data Definition Language defines multidimensional tables more generally than VSI COBOL does. The compiler uses one dimension of information of the multidimensional table definition. User Action: You must take one of the following actions: a. Redefine the record definition in the dictionary, omitting such multidimensional table definitions. b. Do not use this record definition with VSI COBOL.
30 – INVDATTYP
Unsupported subschema datatype for "!AF" Explanation: The compiler treats the item as if it were alphanumeric with a length equal to the original data type. User Action: You must take the following actions: a. Update the data type subschema definition. b. Recompile the subschema containing this definition with the DBMS DDL Utility.
31 – NEGRECLEN
Invalid length for database record "!AF" Explanation: The subschema containing the record definition with the invalid length is most likely corrupt. The compiler assigns the record a length of one byte. This may produce run-time errors. User Action: Recompile the subschema with the DBMS DDL Utility.
32 – NOOFFSET
Offset required for database record-item "!AF" Explanation: The required offset-into-the-record attribute is missing in the entry for this subschema record-item. Most likely the subschema is corrupt. User Action: Recompile the subschema using the DBMS DDL Utility.
33 – NORECORDS
Subschema must have at least one database record Explanation: This DBMS DDL entry is invalid in COBOL. The compiler terminates subschema processing. User Action: You must take one of the following actions: a. Redefine the subschema including a record-type definition and recompile the subschema with the DBMS DDL Utility. b. Do not use such subschema definitions with VSI COBOL.
34 – NOUPBND
Upper-bound required for database record-item "!AF" Explanation: The compiler encountered a table definition with no upper-bound. Most likely the subschema record description is corrupt. User Action: Recompile the subschema with the DBMS DDL Utility.
35 – RECACCERR
Error in accessing record "!AF" from subschema Explanation: The subschema containing the record is most likely corrupt. User Action: Recompile the subschema using the DBMS DDL Utility.
36 – RLMACCERR
Error in accessing realm "!AF" from subschema Explanation: The subschema containing the realm is most likely corrupt. User Action: Recompile the subschema with the DBMS DDL Utility.
37 – SETACCERR
Error in accessing set "!AF" from subschema Explanation: The subschema containing the set is most likely corrupt. User Action: Recompile the subschema with the DBMS DDL Utility.
38 – SMLNPICDB
Numeric database record-item "!AF" must represent at least one digit Explanation: This subschema entry is incompatible with VSI COBOL. The DBMS Data Definition Language allows the definition of numeric record-items to consist of zero digits; VSI COBOL does not. User Action: You must take the following actions: a. Correct the definition of the numeric record-item. b. Recompile the subschema with the DBMS DDL Utility.
39 – OFFSRSE1
OFFSET invalid in a format 3 record selection expression Explanation: You can use OFFSET in the database key identifier form of the record selection expression, but not in the record search access form. User Action: Correct the record selection expression and recompile your program.
40 – OPDCMPFN
Operand subordinate to another database group operand Explanation: The list of record-items for this statement cannot contain any item that is subordinate to another item in the list. User Action: You must take the following actions: a. Update the subschema for the database. b. Recompile the subschema with the DBMS DDL Utility.