Preprocessor Error Messages
The following is a list of error messages specific to BASIC.
E_DC000A
"Table 'employee' contains column(s) of unlimited length."
Explanation:
Character strings(s) of zero length have been generated. This causes a compile-time error.
Action:
Modify the output file to specify an appropriate length.
E_E30001
"BASIC array '%0c' should be subscripted."
Explanation:
A variable declared as an array must be subscripted when used."
E_E30002
"Value assigned does not match BASIC constant type."
Explanation:
The type of the literal assigned to the constant name does not match the type of the CONSTANT declaration. Numerics and strings cannot be mixed.
E_E30005
"BASIC identifier '%0c' expected on END RECORD/END GROUP statement."
Explanation:
If you name the RECORD or GROUP declaration on the END RECORD or END GROUP statement, then the name must be the same with which the RECORD or GROUP was declared.
E_E30006
"RECORD or GROUP subscripts are required in '%0c'."
Explanation:
In the specified variable reference, the record component lacks subscripts at the group or record level.
E_E30007
"RECORD or GROUP subscripts should not be used in '%0c'."
Explanation:
In the specified variable reference, the record component has extra subscripts at the group or record level.
E_E3000A
"Incorrect type used on EXTERNAL variable or constant."
Explanation:
EXTERNAL variables can be declared with a limited subset of data types. The declaration refers to an unknown or non-EXTERNAL data type.
E_E3000B
"EXTERNAL identifiers may not have subscripts or an assignment clause."
Explanation:
The preprocessor does not support EXTERNAL arrays, or size-initialized variables.
Action:
Use DIMENSION or COMMON for global non-scalar declarations.
E_E3000C
"CONSTANT declaration may not refer to program-defined RECORD type."
Explanation:
CONSTANT declarations may not refer to RECORD data types, even if they have been previously defined.
E_E3000D
"CONSTANT declaration may not be subscripted."
Explanation:
CONSTANT declarations may not refer to arrays.
E_E3000E
"Assignment clause missing from BASIC CONSTANT declaration."
Explanation:
A CONSTANT declaration must include an assignment to a numeric or string literal.
E_E3000F
"Array subscripts missing from BASIC DIMENSION declaration."
Explanation:
DIMENSION declarations must include array subscripts.
E_E30010
"String length is not allowed on BASIC DIMENSION declaration."
Explanation:
DIMENSION declarations may not include string lengths nor an assignment clause.
E_E30011
"String length may only qualify a variable of STRING type."
Explanation:
An assignment clause (string length) is only allowed with STRING declarations.
E_E30012
"String length is not allowed on dynamic string variable."
Explanation:
A dynamic STRING type may not specify a length. A length may only be specified with static STRING declarations.
E_E30013
"BASIC variables must have an explicit type."
Explanation:
All variable declarations must have an explicit type. Default types are not accepted by the preprocessor.
E_E30014
"Found identifier '%0c' where literal expected."
Explanation:
You must use numeric or string literals to initialize constants. You must use a numeric literal when declaring the length of a static string variable.
E_E30017
"Quotes may not be embedded in string literals."
Explanation:
In order to embed a quote in a string literal, you must use the BASIC rules to assign the string literal to a string variable, and use the variable in the embedded statement.
E_E3001A
"Field '%0c' in record '%1c' is not elementary."
Explanation:
The specified field was used as a variable. However, the field is not a scalar-valued variable (numeric or string). You cannot use arrays or records to set or retrieve data in this context.