Text |
Invalid library ID. |
Explanation |
A library ID must not be longer than 8 characters. It can consist of upper-case alphabetical characters, numeric digits, and certain special characters. It must not contain any blank characters. Its first character must be an upper-case alphabetical character. For more information on library naming conventions, see the Natural documentation. |
Action |
Use a correct library ID. |
Text |
Invalid program name. |
Explanation |
A program name must begin with an alphabetical character and must not be longer than 8 characters. |
Action |
Use correct program name. |
Text |
"text" for EDIT command does not end with apostrophe. |
Explanation |
."text" can be used in the line editor to position to a specific line beginning with that text string. .S"text" can be used to scan the source program for the specified text and select all lines containing the text. |
Action |
Check command and correct error. |
Text |
Invalid line editor subcommand. |
Explanation |
The following subcommands may be used in the line editor: .B position to bottom .Cn(m) copy m lines starting from line identified with n .C"text"(m) copy the line beginning with "text" to position m .D delete line .D(n) delete n lines .E terminate line .I insert line .I(program) insert program .Mn move lines identified by n .M"text"(n) move n lines starting from line beginning with "text" .R(n) renumber with increment n -- default n=10 .S"text" scan for text See Natural documentation, EDT command, for use of PF keys. |
Action |
Issue a valid command. |
Text |
Number for "+/-" in EDIT command invalid. |
Explanation |
"+/-n" can be used to position forward/backward in the line editor. "n" must be a numeric constant, and must immediately follow "+/-". |
Action |
Enter a valid command. |
Text |
MOVE ALL with SUBSTR for target field and UNTIL value not allowed. |
Explanation |
When SUBSTR is applied to the target field in a MOVE ALL statement, the use of an UNTIL value is not permitted. If only a part of the target field is to be affected by the MOVE ALL, use the starting position and length of the SUBSTR clause to define the field segment to be filled with the pattern. |
Action |
Remove either the UNTIL value or the SUBSTR clause. |
Text |
Explicit index range not allowed with SORT. |
Explanation |
Only complete arrays can be specified in the USING clause of the SORT statement. This can be achieved by specifying "*" as index or by explicitly specifying the complete range of constants. Example: 01 ARRAY (A5/1:20) ... SORT BY ... USING ARRAY(*) or SORT BY ... USING ARRAY(1:20) |
Action |
Check program and correct error. |
Text |
Invalid tab notation "nT". |
Explanation |
The "nT" positioning must be within the useable line size. "n" must not be zero or a value greater than the currently specified line size. |
Action |
Check program and correct error. |
Text |
Tab notation "nT" duplicated or invalid in VERT mode. |
Explanation |
The "nT" positioning can be used to position to a specific output position. In VERT mode, positioning can only be done once between two columns. It cannot be specified for individual fields in VERT mode, because the column position can only be defined once before the VERT entry. If indentation is required, use the "nX" notation within a column. |
Action |
Check program and correct error. |
Text |
Position reference to field only allowed once between columns. |
Explanation |
The position reference of the form "T*NAME" can only be used to position to a new column in a DISPLAY statement. Within a column in VERT mode, it is not possible to position individual fields with the "T*NAME" notation. If indentation is required within a column, use the "nX" notation. |
Action |
Check program and correct error. |
Text |
Print position reference must be in first DISPLAY. |
Explanation |
Only the first DISPLAY statement creates a print position reference. Reference to print positions (columns) in the form "T*NAME" can only be made to variables that have been defined as columns in the first DISPLAY statement defined in the program. The short-form notation (2 characters) for database fields is not permitted. |
Action |
Correct error. |
Text |
"nX" or "nT" notation positions beyond line size. |
Explanation |
The notation "nX" or "nT" resulted in an output position that lies beyond the currently specified line size. |
Action |
Either correct the nX/nT notation or increase line size parameter. |
Text |
Module in source library does not exist for .I(name). |
Explanation |
The source module to be copied from the source library cannot be located in the current library, or the entry ".I(name)" was not specified correctly. |
Action |
Re-issue command using correct source module name. |
Text |
"T*" and "P*" notation not permitted in PRINT statement. |
Action |
Do not use "T*" or "P*" in a PRINT statement. |
Text |
"x/y" notation not permitted with PRINT statement. |
Action |
Do not use the notation "x/y" in a PRINT statement. |
Text |
Variable index range not permitted with READ WORK FILE. |
Action |
Check program and correct error. |
Text |
"RETURN" is not permitted in structured mode. |
Explanation |
The RETURN statement is permitted in reporting mode only. In structured mode, the end of a subroutine definition must be indicated with the statement END-SUBROUTINE. |
Action |
Check program and correct error. |
Text |
"USING" is required in structured mode. |
Explanation |
When the SORT statement is used in structured mode, the USING clause has to be used to indicate the fields which are to be written to intermediate storage. If USING KEYS is specified, all sort-key fields are written to intermediate storage. USING operand2 ... may be used to indicate fields in addition to the sort-key fields which are to be written to intermediate storage. By default in structured mode, the fields specified in the BY clause are NOT written to intermediate sort storage. |
Action |
Check program and correct error. |
Text |
Invalid or misplaced statement in external subroutine. |
Explanation |
An external subroutine must not contain more than one DEFINE SUBROUTINE statement. The DEFINE SUBROUTINE statement block must be closed with END-SUBROUTINE (or RETURN, in reporting mode). The only statements allowed outside the DEFINE SUBROUTINE block are DEFINE DATA LOCAL/GLOBAL, which must precede the DEFINE SUBROUTINE statement, and END at the end of the subroutine. |
Action |
Correct error in external subroutine. |
Text |
Invalid GIVING LENGTH clause in READ WORK FILE statement. |
Explanation |
Possible reasons for this error are: 1. The keyword "LENGTH" is missing after "GIVING". 2. The operand is either missing or defined with an incorrect format/length (format/length must be I4). |
Action |
Check program and correct error. |
Text |
Invalid operand for PC "COMMAND" option. |
Explanation |
The operand for the COMMAND option of the WRITE WORK FILE/WRITE PC/DOWNLOAD statement must be of alphanumeric format and its length must not exceed 80 characters. |
Action |
Check program and correct error. |
Text |
Invalid use of a qualified variable name. |
Explanation |
Qualified variable names may only be used when referencing data variables. They cannot be used when defining variables in a DEFINE DATA statement. |
Action |
Check program and correct error. |
Text |
Invalid use of variable name in data structure. |
Explanation |
In the DEFINE DATA statement, a variable name was used in defining a data structure that currently exists. The earlier variable definition was not part of another data structure. |
Action |
Check program and correct error. |
Text |
Invalid variable name definition in a data structure. |
Explanation |
A variable name used in the DEFINE DATA statement already exists. The earlier definition of this variable name describes a data element that is contained within the current data structure. Non-unique variable names in a DEFINE DATA statement are referenced by qualifying the variable with the level 1 structure name. Therefore, two data structure variables with the same variable name can not co-exist if they share the same level 1 structure name. E.g.: 1 GROUP 2 STRUCTURE-1 3 SAME-NAME (A1) 2 STRUCTURE-2 3 SAME-NAME (N7) <== cannot be uniquely referenced. 1 OTHER-STRUCTURE 2 SAME-NAME (P4) <== unique reference as "OTHER-STRUCTURE.SAME-NAME" |
Action |
Check program and correct error. |
Text |
Index for database array incorrectly specified. |
Explanation |
When defining an array, the index specification for each dimension must not include a non self-defining range. A range which is not self-defining includes any of the following index specifications: #FIELD(#I + 1) or #FIELD(#J - 1) #FIELD(*) #FIELD(#I + #J) |
Action |
Check program and correct error. |
Text |
Qualifiers must be structure names on level 1. |
Explanation |
To identify a variable which is defined inside a data structure, you may prefix the variable name with the name of the level-1 structure field, separated with a period. Only level-1 structure field names can be used as field qualifiers; fields defined on level 2 or higher are not permitted. |
Action |
Supply a valid qualifier field. |
Text |
Qualification does not uniquely identify variable. |
Explanation |
The qualified name list does not uniquely describe the current variable name. |
Action |
Check program and correct error. |
Text |
Index for database array incorrectly specified. |
Explanation |
The Natural Version 1.2 notation of defining an index range with the "-" character cannot be used to reference a database array which was defined using the Version 2.1 notation, that is the character ":". The converse is not permitted either. Neither is it permitted to mix the two notations when defining a database array. Neither are the index notations "I + 1" or "I - 2" etc. permitted when referencing a database array that was defined with the Version 1.2 notation. |
Action |
Check program and correct error. |
Text |
The internal size of a data structure is too big. |
Explanation |
The size of a data structure in the DEFINE DATA statement is too big. |
Action |
Reduce number of variables or number of occurrences for a variable. |
Text |
Constant definition missing for current structure. |
Explanation |
If a variable is defined as a named constant via the keyword "CONST" in a DEFINE DATA statement, each elementary field of that structure must be defined as a constant. |
Action |
Check program and correct error. |
Text |
Record length must not exceed 1073741824 bytes. |
Explanation |
The length of a record read/written with a READ/WRITE WORK FILE statement must not exceed 1073741824 bytes (= 1 GB). |
Action |
Check program and correct error. |
Text |
Variable-length field only allowed in WRITE WORK VARIABLE. |
Explanation |
Fields with variable length cannot be used in a WRITE WORK FILE statement without VARIABLE clause. Incorrect example: WRITE WORK FILE 1 array(1:j) Correct example : WRITE WORK FILE 1 VARIABLE array(1:j) |
Action |
Check program and correct error. |
Text |
DISPLAY and NEWPAGE not allowed in AT TOP/END OF PAGE. |
Explanation |
A DISPLAY or a NEWPAGE statement must not be placed within an AT TOP OF PAGE or AT END OF PAGE statement block. |
Action |
Correct error in program. |
Text |
RETURN or END-SUBROUTINE not allowed within a condition. |
Explanation |
A RETURN or END-SUBROUTINE statement must not be placed within any of the following statement blocks: - AT START/END OF DATA - AT TOP/END OF PAGE - AT BREAK - BEFORE BREAK PROCESSING - AT END OF FILE - IF NO RECORDS FOUND - ON ERROR |
Action |
Correct error in program/subroutine. |
Text |
RETRY statement is not allowed within condition. |
Explanation |
A RETRY statement must not be placed within any of the following statement blocks: - AT START/END OF DATA - AT TOP/END OF PAGE - AT BREAK - BEFORE BREAK PROCESSING - AT END OF FILE - IF NO RECORDS FOUND - DEFINE SUBROUTINE |
Action |
Correct error in program. |
Text |
C routine name not found in jump table. |
Explanation |
CALL <MODULE> <ROUTINE> <ARGUMENTS> The routine declared by <routine> is not found by the jump table look-up routine declared in the module header csect <module>. Note that the jump table look-up routine is also written in C. |
Action |
This is an internal Natural Expert error. Please contact Software AG and describe how the error was produced. |
Text |
Logical file directive for Entire DB system file is not type Entire. |
Explanation |
Check the logical file directives for Entire DB system files 249/250 and the database type for the Entire DB database ID. The logical files describe the Entire DB cross-reference and data files and are defined with the NTLFILE macro in the Natural parameter module: - NTLFILE 249,xyz,f1 (SYS1) - NTLFILE 250,xyz,f2 (SYS2) Alternatively, the logical files can be defined with the dynamic profile parameter LFILE: - LFILE=(249,xyz,f1),LFILE=(250,xyz,f2) The Entire DB database ID xyz must be defined with the NTDB macro in the Natural parameter module as type ENTIRE: - NTDB ADABAS,xyz,ENTIRE Alternatively, you may use the dynamic profile parameter DB: - DB=(ADABAS,xyz,ENTIRE) |
Action |
Contact your Entire DB administrator. |
Text |
C buffer being used by another application. |
Explanation |
Two applications are using the same Natural buffer. This error is detected on starting the second application and as it is desirable to protect data, the second application is not allowed to start. |
Action |
The problem could be resolved if the two applications were to use separate buffers - please contact Software AG. |
Text |
Statement name found in attribute expression. |
Explanation |
This error occurs if you have defined an attribute to a category which has the same name as a Natural keyword. |
Action |
Rename the attribute. |
Text |
FIND UNIQUE not allowed for Entire files. |
Explanation |
This statement is not supported by Entire. |
Action |
Correct error in program. |
Text |
C interface - get memory buffer failed. |
Explanation |
When a function written in C performs a MALLOC operation to get a work buffer, this is supplied to it by the GETMAIN# entry in the environment interface NICMAIN, which in turn gets it from the second buffer declared in the C module header. This buffer has not been defined in the Natural environment. With Natural Expert this means that no EXRSIZE or EXCSIZE could be allocated. |
Action |
Check whether there is enough space for the EXRSIZE or EXCSIZE as defined in the Natural parameter module, or increase the buffer size(s). |
Text |
C work buffer too small. |
Explanation |
CALL <module> <routine> <arguments> On initialization of the C work buffer, the minimum size required is <size of extern/static> + 4K. |
Action |
This is an internal Natural Expert error, please contact Software AG. |