contents.gifindex.gifprev1.gifnext1.gif

Compile-time Errors

The errors listed below could occur when you compile with the -Zx option. In some cases, the data dictionary cannot be built until you remove the error condition. (Data dictionary errors do not, however, prevent the object code from being generated.)

Bad picture for DATE: keyname

The PICTURE must be six or eight bytes in length, either alphanumeric or numeric with no sign.

Data missing from key segment keyname

This occurs when some part of the named key cannot be placed in the dictionary; the dictionary cannot be generated in this situation.

This usually occurs because of filler. For example:

01 my-record.
  03 my-key.
   05 filler  pic xx.
   05 field-1  pic xx.
If my-key is declared as a record key, you will receive this error because the area of the key described by filler is not included in the dictionary.

To correct this error, ensure that every character that is part of the key is included in some field that is part of the dictionary. Use an XFD to give a field name to each filler, to ensure that fillers are included.

example:

01 my-record.
  03 my-key.
*(( xfd name=myfiller ))
   05 filler   pic xx.
   05 field-1   pic xx.
Directive word too long: keyname

With one exception the words contained in a directive, including field names, cannot exceed 30 characters. The value of a WHEN directive may consist of up to 50 characters.

GROUP expected after USE

The use group directive must include both words.

Missing`=' in XFD directive

The name directive requires an = sign. The when directive requires a comparison operator.

Missing field name after WHEN

A valid field name, or the word OTHER, must be specified with the when directive.

xxx: unknown XFD directive

The compiler did not recognize the directive you used. The xxx is the directive found. Check for a typographical error.

Value should be a name: xxx

This error occurs when the item to the right of an = should be a name and it isn't. For example, it would be an error to use a quoted string with the name directive: $XFD NAME=some text.

The xxx in the message is the value found.

Value should be numeric: xxx

This error occurs when the item to the right of an = should be numeric and it isn't. The xxx in the message is the value found.

Value should be a literal: xxx

This error occurs when the item to the right of an = should be a literal and it isn't. The xxx in the message is the value found. A literal is either a quoted string or a numeric integer.

Variable file name requires File directive

This message occurs when the compiler cannot assign a name to the .xfd file because the ASSIGN phrase for the file names a variable file name. In this case, you must use a file directive to name the .xfd file.

WHEN variable xxx not found in record

This happens if you have a when directive that mentions a variable that doesn't exist in the record.