Natural System Error Messages 0001-0050

NAT0001: Missing/invalid syntax; undefined variable name/keyword.

Text Missing/invalid syntax; undefined variable name/keyword.
Expl. The syntax checker detected an invalid statement name or
keyword. Probable cause is a misspelling of a statement name,
keyword or variable name, or an error in a sub-clause of the
previous statement.
Actn. Correct error.

NAT0002: No file is available with specified name or number.

Text No file is available with specified name or number.
Expl. - The file name was misspelt; or
- the file is not defined in the data dictionary; or
- you are not authorized to access the file.
Actn. Use a correct file name; or define the file in the data dictionary;
or contact your Natural administrator for access authorization
to the file.

NAT0003: Invalid character string for file name or file number.

Text Invalid character string for file name or file number.
Expl. An invalid syntax has been supplied where Natural
expected to locate a file name or number.
Only characters that are available in the construction of
variable names may be used for the construction of a file name,
i.e., alphabetical characters (first character must be alphabetical),
numeric characters, and the following special characters:
- hyphen-minus ̲ underscore
@ commercial at / slash
# number sign $ dollar sign
& ampersand
On mainframe platforms, "@" is the character with the hexadecimal
value H"7C".
Actn. value H"7C". Eliminate invalid characters from file identification.

NAT0004: DEFINE DATA must be the first statement if present.

Text DEFINE DATA must be the first statement if present.
Expl. If DEFINE DATA is used in a program, it must always be the
first statement.
Actn. Correct error.

NAT0005: Closing parenthesis missing in arithm/logical expression.

Text Closing parenthesis missing in arithmetic/logical expression.
Expl. Parentheses may be used to control the evaluation of arithmetic
and logical expressions.
If parentheses are used, they must always be paired
(opening and closing parentheses).
Actn. Check the use of parentheses in the arithmetic or logical expression.

NAT0006: ESCAPE statement used when no processing loop active.

Text ESCAPE statement used when no processing loop active.
Expl. The ESCAPE statement may only be used within an active
processing loop.
Actn. Check structure of processing loops and place ESCAPE statement
correctly within an active loop.

NAT0007: Invalid THRU or TO clause in READ LOGICAL or HISTOGRAM.

Text Invalid THRU or TO clause in READ LOGICAL or HISTOGRAM.
Expl. In a READ LOGICAL or HISTOGRAM statement, when specifying a
- THRU clause, an ending value must be supplied;
- TO clause, a starting value and an ending value must be supplied.
A starting or ending value must be either a constant or the content
of a variable.
Actn. Correct error in program.

NAT0008: Invalid search syntax.

Text Invalid search syntax.
Expl. 1) A field used in a WITH clause must be a descriptor.
A group notation is not permitted.
2) When the ENDING AT clause of a READ statement uses a
superdescriptor as the search key, the superdescriptor
must be defined with the VIEW in the data area (if
present).
3) When the READ statement is related to DB2, the search
variable must be part of the VIEW.
Actn. 1) The LIST FILE command may be used to ascertain whether a field
is defined as a descriptor in the data dictionary.
2) Add the superdescriptor to the VIEW.

NAT0009: Invalid relational operator in a relational expression.

Text Invalid relational operator in a relational expression.
Expl. A relational expression in a logical criterion contains an invalid
relational operator. The following relational operators may be used
in a relational expression:
= or EQ or EQUAL TO
<> or NE or NOTEQUAL
< or LT or LESS THAN
<= or LE or LESS EQUAL
> or GT or GREATER THAN
>= or GE or GREATER EQUAL
See the Natural documentation, Logical Condition Criteria, for further
information.
Actn. Correct the construction of the relational expression.

NAT0010: Error in value specification in a relational expression.

Text Error in value specification in a relational expression.
Expl. The search criterion is correct up to the relational operator,
but the specification of the value to be compared is either missing
or invalid.
If the value was specified using a variable,
the variable must have been previously defined.
Actn. Ensure that alpha descriptor values are enclosed in apostrophes
and that numeric values are not.
Reference only variables that have been defined previously.

NAT0011: Invalid format combination in a relational expression.

Text Invalid format combination in a relational expression.
Expl. In a relational expression, values being compared with
a relational operator must have the same format, that is:
alpha rel-operator alpha
numeric rel-operator numeric
binary rel-operator binary
Actn. Correct error.

NAT0012: Length adjustment of search variable not possible.

Text Length adjustment of search variable not possible.
Expl. The value supplied in the relational expression is longer than the
length defined for the search variable. The length of the search
variable can be dynamically adjusted to the length of the value supplied
if only one value exists. (This is not true for expressions using the
"OR =", "THRU" or "BUT NOT" operations.)
Actn. If more than one value exists, use appropriate length specification
for search variable.

NAT0013: Descriptor name or ISN missing after "BY" in READ.

Text Descriptor name or ISN missing after "BY" in READ.
Expl. The word "BY" is specified to express a sequence for a READ operation.
If BY is used, either the word "ISN" or the name of a descriptor
must be specified to express the sequence in which the records are
to be read.
Actn. Either do not specify BY, or specify either ISN or the name of a
descriptor.

NAT0014: Error in SORTED BY clause of FIND statement.

Text Error in SORTED BY clause of FIND statement.
Expl. The field specified for an Adabas sort is not a descriptor;
or no sort descriptor was specified;
or more than 3 sort fields were specified.
Actn. Correct error.

NAT0015: Parenthesis missing in Natural system function notation.

Text Parenthesis missing in Natural system function notation.
Expl. The argument for a Natural system function must be enclosed
in parentheses.
If a variable has been given a name which is also the name of a
Natural system function, this error message will also occur.
Actn. Either enclose the argument for the function in parentheses;
or change the name of the variable so that it does not conflict
with the name of a Natural system function.

NAT0016: Invalid parameter in INCLUDE statement or copycode.

Text Invalid parameter in INCLUDE statement or copycode.
Expl. The number of a parameter in the copycode
Actn. Correct error in INCLUDE statement or in copycode.

NAT0017: MASK or SCAN used incorrectly, or incorrect mask length.

Text MASK or SCAN used incorrectly, or incorrect mask length.
Expl. MASK and SCAN can only be specified following an EQ or NE operator.
The length of the mask must be less than or equal to the length of the
field. Only the following characters may be used in a mask:
. ignore position in variable DD check for valid day in month
U check for upper-case alpha MM check for valid month in year
N check for numeric YY check for valid current year
H check for hexadec. character YYYY check for valid year in century
P check for printable char. JJJ check for valid Julian day
L check for lower-case alpha N1-N2 check against range of values
C check for alphanumeric
S check for special printable
A check for upper/lower alpha
X check against position in value
Actn. Ensure that the mask is specified correctly.

NAT0018: Error in construction of arithmetic operand.

Text Error in construction of arithmetic operand.
Expl. The name of a variable has been misspelt in an arithmetic
expression; or
a wrong character has been used in the construction of a
numeric constant; or
the argument of a square root function has been constructed
incorrectly.
Actn. Check program and correct error.

NAT0019: Error in receiving field of arithmetic statement.

Text Error in receiving field of arithmetic statement.
Expl. The receiving field of an arithmetic operation must consist of a
valid variable reference.
The error may be caused by a misspelt variable name
or by not supplying the character "=" in ASSIGN/COMPUTE.
It can also appear if the target variable is a system function
like INT, SIN, etc.
Ensure that the target field of MULTIPLY/DIVIDE is not a
constant.
Actn. Check program and correct error.

NAT0020: Word "BY" missing in MULTIPLY statement.

Text Word "BY" missing in MULTIPLY statement.
Expl. In a MULTIPLY statement, the word "BY" is required between the
two operands to be multiplied, for example:
MULTIPLY 1 BY 2 GIVING #RESULT
Actn. Check program and correct error.

NAT0021: Word "INTO" missing in DIVIDE statement.

Text Word "INTO" missing in DIVIDE statement.
Expl. In a DIVIDE statement, the two operands must be separated by the
word "INTO", for example:
DIVIDE 2 INTO 7 GIVING #RESULT
Actn. Check program and correct error.

NAT0022: Word "TO" missing in MOVE statement.

Text Word "TO" missing in MOVE statement.
Expl. The word "TO" is required in a MOVE statement to indicate the
result field(s) into which the values are to be moved.
Examples: MOVE 1 TO #A
MOVE #B TO #C #D #E #F
Actn. Check program and correct error.

NAT0023: Error in specification of format element.

Text Error in specification of format element.
Expl. Error in the specification of a format element: either in the
FORMAT statement, or in a format specification following an
input/output statement or an individual element.
Format elements must be identified using the proper format element
keywords.
See the Natural session parameters documentation for details.
Actn. Check program and correct error.

NAT0024: In VERT mode, "AS" must be followed by "text" or "CAP".

Text In VERT mode, "AS" must be followed by "text" or "CAP".
Expl. DISPLAY VERTICALLY AS indicates that a special option is desired for
the vertical display of elements.
No such option was encountered, either because of a misspelling
or because no options were provided.
Possible options are:
- DISPLAY VERTICALLY AS "header text"
- DISPLAY VERTICALLY AS CAPTIONED (or DISPLAY VERTICALLY AS CAP)
- DISPLAY VERTICALLY AS "header text" CAPTIONED
See the Natural statements documentation for details.
Actn. Check program and correct error.

NAT0025: Closing parenthesis missing in system function argument.

Text Closing parenthesis missing in system function argument.
Expl. In a SORT statement, multiple argument variables can be specified
for the same Natural system function.
The list of argument variables must be enclosed in parentheses
for all argument fields that are to be evaluated for the same
system function.
Actn. Check program and correct error.

NAT0026: Output element after "VERT" is missing or invalid.

Text Output element after "VERT" is missing or invalid.
Expl. "VERT(ICALLY)" was specified in a DISPLAY statement to indicate that
output elements are to be displayed underneath one another; however,
no valid output element was encountered after the "VERT".
You have probably misspelt a variable name or forgotten an
apostrophe at the beginning of a text string.
Actn. Check program and correct error.

NAT0027: Error in value specification.

Text Error in value specification.
Expl. A value may be specified either as a constant or as the reference
to an already existing variable or database field.
Either a misspelt variable name was supplied,
or the leading apostrophe for a constant was omitted.
Actn. Correct error.

NAT0028: READ LOGICAL used without required descriptor.

Text READ LOGICAL used without required descriptor.
Expl. A READ LOGICAL statement requires the specification of a
descriptor which is to be used to control the read sequence.
If no sequence is specified in the READ LOGICAL statement,
Natural attempts to use the default sequence as defined for the file
in the Data Dictionary.
If no descriptor is specified in the READ LOGICAL statement,
and no default sequence is defined in the Data Dictionary,
this error message will be displayed.
Actn. Ensure that the sequence descriptor is specified by either
of the methods described above.

NAT0029: Descriptor field missing/invalid syntax in HISTOGRAM.

Text Descriptor field missing/invalid syntax in HISTOGRAM.
Expl. A HISTOGRAM statement reads the values for a descriptor.
The values are read using the database inverted list.
Therefore, only descriptor fields may be specified.
Actn. Supply a valid descriptor.

NAT0030: A relational expression is missing or invalid.

Text A relational expression is missing or invalid.
Expl. The following relational expressions are valid:
= or EQ or EQUAL TO
<> or NE or NOTEQUAL
< or LT or LESS THAN
<= or LE or LESS EQUAL
> or GT or GREATER THAN
>= or GE or GREATER EQUAL
See the Natural documentation, Logical Condition Criteria, for further
information.
Actn. Correct the construction of the relational expression.

NAT0031: Opening/closing parenthesis missing in REDEFINE.

Text Opening/closing parenthesis missing in REDEFINE.
Expl. Opening and closing parentheses are required to begin/end
the definition of a new variable using REDEFINE.
Example: REDEFINE #A (#A(N3) #A2(A7))
Actn. Correct error.

NAT0032: Invalid break control field in AT BREAK or IF BREAK.

Text Invalid break control field in AT BREAK or IF BREAK.
Expl. In an AT BREAK statement or IF BREAK condition, a database field or
user-defined variable may be used to indicate the break control field.
If a user-defined variable is used, it must have been previously
defined. A break control variable can have any format, except format
"C" (attribute control).
The maximum length of a break variable is 253 bytes for
alphanumeric and 126 bytes for binary variables.
If you wish to use an alphanumeric variable with a larger size, you
have to reduce the number of break positions with an explicit "/n/"
clause. The same applies for variables defined as alpha DYNAMIC.
Example: .. assume definitions #A300(A300) #DYN(A) DYNAMIC
AT BREAK OF #A300 /10/
IF BREAK OF #DYN /177/
Actn. Correct error.

NAT0034: Numeric field for number of lines invalid or missing.

Text Numeric field for number of lines invalid or missing.
Expl. The number of lines to be skipped in a SKIP, EJECT or NEWPAGE
statement must be specified with a numeric constant or variable.
Actn. Check program and correct error.

NAT0035: "DATA" not in AT START OF DATA/"PAGE" in AT TOP OF PAGE.

Text "DATA" not in AT START OF DATA/"PAGE" in AT TOP OF PAGE.
Expl. The word "DATA" is required in the construction of an AT START OF DATA
statement; the word "PAGE" is missing in an AT TOP OF PAGE statement.
It has either been misspelt or forgotten.
Actn. Check program and correct error.

NAT0037: Name missing or specified incorrectly.

Text Name missing or specified incorrectly.
Expl. This error occurs under one of the following conditions:
- At compilation time, if the object name (e.g. subprogram, dialog)
specified in the statement is incorrect, either by format or
length.
- At runtime, if a dynamic alphanumeric variable is used to specify
the object name and the current length of the variable exceeds the
maximum of 8 characters.
Actn. Specify the name as a 1- to 8-character constant or variable (A1-A8)
or do not use a dynamic variable which is longer than 8 characters.

NAT0038: Invalid field reference in REDEFINE base field.

Text Invalid field reference in REDEFINE base field.
Expl. The field to be used as the base field in a REDEFINE statement may
be a user-defined variable or a database field.
If it is a user-defined variable, it must have been previously defined.
If it is a database field, it must be a field within an active loop.
Actn. Check program and correct error.

NAT0039: Sum of field lengths in REDEFINE > length of base field :1:.

Text Sum of field lengths in REDEFINE > length of base field ....
Expl. The accumulated length of all new fields in a REDEFINE statement
must be less than or equal to the length of the base field, counted in
bytes.
When a group contains a field of type HANDLE or DYNAMIC, you can only
redefine the fields before the HANDLE or DYNAMIC variable.
Actn. Check program and correct error.

NAT0040: Only one AT TOP OF PAGE statement allowed per report.

Text Only one AT TOP OF PAGE statement allowed per report.
Expl. The AT TOP OF PAGE statement may only be specified once for the same
report. If multiple actions are to be executed at the top of a page
depending on various conditions, they must be specified within the same
AT TOP OF PAGE statement and separated by the appropriate
logical conditions.
Actn. Check program and correct error.

NAT0041: Only one AT END OF PAGE statement allowed per report.

Text Only one AT END OF PAGE statement allowed per report.
Expl. The AT END OF PAGE statement may be specified only once per report.
If multiple actions are desired under the same end-of-page condition,
they must be specified within the same AT END OF PAGE statement and
separated by the appropriate logical conditions.
Actn. Check program and correct error.

NAT0042: Invalid specification of CIPHER code.

Text Invalid specification of CIPHER code.
Expl. The cipher code for a database file may be specified either as a
numeric constant (8 digits) or the content of a numeric variable.
The numeric variable must be defined with format/length N8.
An equal sign (=) must be specified between the word CIPHER and the
value.
If the value is supplied via a numeric variable,
this numeric variable cannot be a REDEFINE variable.
Actn. Check program and correct error.

NAT0043: Invalid password construction.

Text Invalid password construction.
Expl. The Adabas password may be provided as an alphanumeric constant
or by using an alphanumeric variable.
An equal sign (=) must be specified between the word PASSWORD
and the value for the password.
Actn. Check program and correct error.

NAT0044: Output element not defined, or indexes incorrect.

Text Output element not defined, or indexes incorrect.
Expl. This error may be caused by:
- an error in the construction of the name of an output element;
- a reference to a variable that has not been previously defined;
- a misspelling of a keyword;
- an invalid index specification.
Actn. Check program and correct error.

NAT0045: Invalid reference in UPDATE or DELETE statement.

Text Invalid reference in UPDATE or DELETE statement.
Expl. Either the construction of the reference is wrong or the
reference is not allowed.
A reference can only be made to a FIND, GET or READ statement.
An UPDATE, GET or DELETE statement must not be on the same line as a
FIND statement.
No reference is possible to a GET SAME statement. In this case,
use a reference to the statement that made the first access to the
record.
Actn. Check for the above causes and correct any errors.

NAT0046: Error in parameter field list for UPDATE or STORE.

Text Error in parameter field list for UPDATE or STORE.
Expl. Only fields from one file may be updated with one UPDATE or STORE
statement. Values for fields may be constants, the contents of
user-defined variables, or the contents of a database fields.
Actn. Check the parameter list and correct any errors.

NAT0047: Error in variable definition.

Text Error in variable definition.
Expl. One of the following errors was detected:
- In an OBTAIN statement, the field referenced was not contained
within a database array.
- An error in a statement reference and/or field length notation
was detected.
- An error in the index notation was detected.
OBTAIN ARRAY (1:5) -> valid
OBTAIN ARRAY (#I:#J) -> INVALID
OBTAIN ARRAY (#I:#I + 9) -> valid
Actn. Correct error.

NAT0048: Illegal format combination of field/value in UPDATE/STORE.

Text Illegal format combination of field/value in UPDATE/STORE.
Expl. The value assignment for field/value combinations in the parameter
list is performed individually for each combination according
to the general rules for value assignment.
An attempt was made to assign a value of one format to a field of
incompatible format.
Actn. Check program and correct error.

NAT0049: Error in value entry for UPDATE or STORE.

Text Error in value entry for UPDATE or STORE.
Expl. The value in an UPDATE or STORE statement may be specified as a constant
or as the content of a user-defined variable or database field.
If a database field is used as a value, it must reference a currently
active FIND/READ/GET loop.
Actn. Check program and correct error.

NAT0050: Error in reference for GET SAME statement.

Text Error in reference for GET SAME statement.
Expl. The GET SAME statement refers by default to the last active
access to the database; a reference to another specific database access
may be explicitly specified.
If an explicit reference is used, the database access must still be
active.
Actn. Correct the error in the GET SAME reference.