Natural System Error Messages 0001-0050

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

Text
Missing/invalid syntax; undefined variable name/keyword.
Explanation
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.
Action
Correct Error.

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

Text
No file is available with specified name or number.
Explanation
- The file name was misspelt; or
- the file is not defined in the Data Dictionary; or
- you are not authorized for access to the file.
Action
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.
Explanation
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'.
Action
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.
Explanation
If DEFINE DATA is used in a program, it must always be the
first statement.
Action
Correct error.

NAT0005: Closing parenthesis missing in arithm/logical expression.

Text
Closing parenthesis missing in arithmetic/logical expression.
Explanation
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).
Action
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.
Explanation
The ESCAPE statement may only be used within an active
processing loop.
Action
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.
Explanation
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.
Action
Correct error in program.

NAT0008: Invalid search syntax.

Text
Invalid search syntax.
Explanation
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.
Action
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.
Explanation
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.
Action
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.
Explanation
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.
Action
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.
Explanation
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
Action
Correct error.

NAT0012: Length adjustment of search variable not possible.

Text
Length adjustment of search variable not possible.
Explanation
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.)
Action
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.
Explanation
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.
Action
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.
Explanation
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.
Action
Correct error.

NAT0015: Parenthesis missing in Natural system function notation.

Text
Parenthesis missing in Natural system function notation.
Explanation
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.
Action
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.
Explanation
The number of a parameter in the copycode
Action
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.
Explanation
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
Action
Ensure that the mask is specified correctly.

NAT0018: Error in construction of arithmetic operand.

Text
Error in construction of arithmetic operand.
Explanation
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.
Action
Check program and correct error.

NAT0019: Error in receiving field of arithmetic statement.

Text
Error in receiving field of arithmetic statement.
Explanation
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.
Action
Check program and correct error.

NAT0020: Word 'BY' missing in MULTIPLY statement.

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

NAT0021: Word 'INTO' missing in DIVIDE statement.

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

NAT0022: Word 'TO' missing in MOVE statement.

Text
Word 'TO' missing in MOVE statement.
Explanation
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
Action
Check program and correct error.

NAT0023: Error in specification of format element.

Text
Error in specification of format element.
Explanation
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.
Action
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'.
Explanation
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.
Action
Check program and correct error.

NAT0025: Closing parenthesis missing in system function argument.

Text
Closing parenthesis missing in system function argument.
Explanation
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.
Action
Check program and correct error.

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

Text
Output element after 'VERT' is missing or invalid.
Explanation
'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.
Action
Check program and correct error.

NAT0027: Error in value specification.

Text
Error in value specification.
Explanation
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.
Action
Correct error.

NAT0028: READ LOGICAL used without required descriptor.

Text
READ LOGICAL used without required descriptor.
Explanation
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.
Action
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.
Explanation
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.
Action
Supply a valid descriptor.

NAT0030: A relational expression is missing or invalid.

Text
A relational expression is missing or invalid.
Explanation
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.
Action
Correct the construction of the relational expression.

NAT0031: Opening/closing parenthesis missing in REDEFINE.

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

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

Text
Invalid break control field in AT BREAK or IF BREAK.
Explanation
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/
Action
Correct error.

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

Text
Numeric field for number of lines invalid or missing.
Explanation
The number of lines to be skipped in a SKIP, EJECT or NEWPAGE
statement must be specified with a numeric constant or variable.
Action
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.
Explanation
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.
Action
Check program and correct error.

NAT0037: Name missing or specified incorrectly.

Text
Name missing or specified incorrectly.
Explanation
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.
Action
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.
Explanation
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.
Action
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 ....
Explanation
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.
Action
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.
Explanation
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.
Action
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.
Explanation
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.
Action
Check program and correct error.

NAT0042: Invalid specification of CIPHER code.

Text
Invalid specification of CIPHER code.
Explanation
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.
Action
Check program and correct error.

NAT0043: Invalid password construction.

Text
Invalid password construction.
Explanation
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.
Action
Check program and correct error.

NAT0044: Output element not defined, or indexes incorrect.

Text
Output element not defined, or indexes incorrect.
Explanation
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.
Action
Check program and correct error.

NAT0045: Invalid reference in UPDATE or DELETE statement.

Text
Invalid reference in UPDATE or DELETE statement.
Explanation
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.
Action
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.
Explanation
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.
Action
Check the parameter list and correct any errors.

NAT0047: Error in variable definition.

Text
Error in variable definition.
Explanation
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
Action
Correct error.

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

Text
Illegal format combination of field/value in UPDATE/STORE.
Explanation
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.
Action
Check program and correct error.

NAT0049: Error in value entry for UPDATE or STORE.

Text
Error in value entry for UPDATE or STORE.
Explanation
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.
Action
Check program and correct error.

NAT0050: Error in reference for GET SAME statement.

Text
Error in reference for GET SAME statement.
Explanation
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.
Action
Correct the error in the GET SAME reference.