DataFlex / Flex2B RunTime 2023
User Errors List
Overview
This section lists all user errors in numeric order.
The user errors are those in the error number range of 11-4096.
User Error Types
Operator Errors
The most common error is a simple mistake by a person who is running a program. DataFlex handles many operator errors directly and gives you the capacity for providing additional checks where required.
Error & Statuses List (summary)
11 - Number too large for field allocation
12 - Window number out of range
13 - An entry is required on this window
14 - Please enter a number
15 - Invalid entry for this window
16 - Please enter a valid date
17 - Numeric entry is out of range
18 - Can't open system communications file
20 - Read error on index file
21 - Write error on index file
22 - Index file damaged
23 - Index file full, exceeds defined size
24 - Can't CHAIN while LOCKs in effect
25 - Record not found
26 - Can't close index file
27 - File location out of range
28 - Duplicate records not allowed in file
29 - Text field too long
30 - Can't read configuration file
31 - Program file not found
32 - Can't open output file
33 - Can't open input file
34 - Not a valid DataFlex program
36 - Too many resident images for memory
37 - Error reading virtual memory file
38 - Error reading .exe file
39 - Error in system flush file
40 - Invalid accelerator key destination
41 - Find prior to beginning of table
42 - Find past end of table
43 - Can't open index file
44 - Channel number out of bounds
45 - Illegal operation on device
51 - Bad format in expression (operand)
52 - Bad format of expression (operator)
53 - Function not supported in this O/S
54 - Invalid symbol in expression
55 - Invalid data type in expression
56 - Attempt to run uncompiled expression
57 - Required message argument missing
58 - More than 25 (parentheses) in expression
59 - Floating point exception error
60 - Bad or missing .DEF file
61 - Illegal redefinition of existing table
62 - .TAG file error
63 - Attempt to delete a protected record
64 - Attempt to Find a protected record
65 - Attempt to create in a protected table
66 - Attempt to edit a protected record
67 - Array too large
68 - Can't create item
69 - Unresolved object reference
70 - Not a current embedded database table
71 - No record in memory to delete
72 - Table not open
73 - Utility can't find .exe file
74 Entry does not exist in filelist.cfg
75 - Can't open table
76 - Internal Huffman error
77 - Field number out of range
78 - Can't update Record 0 of table
79 - Field not indexed - can't find by this
80 - Can't close table
81 - Record number out of range
82 - Edited record not saved
83 - Data type error - String used as Number
84 - Field outside record
85 - Can't open .VLD file
86 - Related fields not the same length
87 - No Superfind path to this record
88 - Invalid table name
89 - Infinite recursion
90 - Please enter a valid record ID
91 - Attempt to put into Integer constant
92 - Program file not found
93 - Argument for return value missing
94 - Program line number out of range
96 - Can't open program file
98 - Invalid message
99 - Wrong revision of DataFlex
100 - Operator error
101 - Can't change key field
Additional information per status
11 - Number too large for field allocation
Cause
1. This is usually caused by the operator entering too large a number in a data entry object (DEO).
2. Numeric database field is not big enough to hold the required value.
Resolution
1. The operator needs to enter a value within the bounds of the numeric database field.
2. You may have to change the file definition to allow the field to hold a larger number.
12 - Window number out of range
Cause
This should only occur in legacy code using images, such as a BasicReport.
1. This is usually caused by improper use of window indexing. For example, if an image named Body only has 10 image windows, moving a value to Body.11 will trigger this error.
2. Also caused by more than 241 indicators used in a program.
Resolution
1. Recount your windows or debug into the windowing loop to determine the index value (image window being addressed) when this error occurs.
2. Reduce the number of indicators in use. In most cases, an indicator can easily be replaced with a boolean variable.
13 - An entry is required on this window
Cause
Operator attempted forward navigation (tab) past a DEO where an entry is required or to save a record without entering data in a required DEO.
Resolution
Enter valid data into the DEO in question.
14 - Please enter a number
Cause
Entry of letters ("O", lower case "L", etc.) in a numeric-typed DEO.
Resolution
Only enter numbers into a window of numeric type.
15 - Invalid entry for this window
Cause
Entry does not conform to simple validation in DataDictionary (field value_check property).
Some means for determining what values are acceptable should be provided for the operator (prompt object, comboform, custom status message).
Resolution
Enter valid data into the DEO in question.
16 - Please enter a valid date
Cause
Entry of an improper date format or value.
Resolution
Make sure you enter a valid date. The date you enter must be valid in the format used by your Windows Regional settings and/or application settings.
17 - Numeric entry is out of range
Cause
Entry does not conform to range specified in DataDictionary (field value_range property).
Some means for determining what range is acceptable should be provided for the operator (prompt object, comboform, custom status message).
Resolution
Enter valid data into the DEO in question.
18 - Cant open system communications file
Cause
DataFlex cannot establish multi-user operating system communications. Check your installation notes for information relating to your particular operating system.
This error is fatal.
20 - Read error on index file
Cause
1. Corrupted index file.
2. This error may indicate problems with the operating systems directory structure of the disk drive. Power failure is a common cause of disk directory corruption. If you have had other media errors, they can show up later as directory problems. If this happens repeatedly, there may be a subtle problem with the operating system or equipment.
This error is fatal.
Resolution
1. Reindexing is usually sufficient to resolve this problem.
2. Generally, the disk should be reformatted and data recovery techniques used. Usually, database tables triggering this error are irrecoverably damaged. Restoring data from a good backup is the best recovery method.
Verify proper configuration of Read Caching and Opportunistic Locking on your network.
21 - Write error on index file
Cause
1. Corrupted index file.
2. This error may indicate problems with the operating systems directory structure of the disk drive. Power failure is a common cause of disk directory corruption. If you have had other media errors, they can show up later as directory problems. If this happens repeatedly, there may be a subtle problem with the operating system or equipment.
3. Can also be caused by a disk full condition.
This error is fatal.
Resolution
1. Reindexing is usually sufficient to resolve this problem.
2. Generally, the disk should be reformatted and data recovery techniques used. Usually, database tables triggering this error are irrecoverably damaged. Restoring data from a good backup is the best recovery method.
Verify proper configuration of Read Caching and Opportunistic Locking on your network.
3. Make more disk space available.
22 - Index file damaged
Cause
1. Corrupted index file.
2. This error may indicate problems with the operating systems directory structure of the disk drive. Power failure is a common cause of disk directory corruption. If you have had other media errors, they can show up later as directory problems. If this happens repeatedly, there may be a subtle problem with the operating system or equipment.
This error is fatal.
Resolution
1. Reindexing is usually sufficient to resolve this problem.
2. Generally, the disk should be reformatted and data recovery techniques used. Usually, database tables triggering this error are irrecoverably damaged. Restoring data from a good backup is the best recovery method.
Verify proper configuration of Read Caching and Opportunistic Locking on your network.
23 - Index file full, exceeds defined size
Cause
In Database Builder, you can specify the maximum number of records that can be in a database table. If this number is greatly exceeded, this error will be triggered.
Resolution
To fix this, open the table in Database Builder and increase the maximum number of records. You will then have to rebuild all indexes for the table.
24 - Cant CHAIN while LOCKs in effect
Cause
The chain command was executed after a lock or reread command without an unlock commands having first been executed.
25 - Record not found
Cause
Find errors find or reread command was unsuccessful. To determine what the problem is, check the value of the record buffer or DataDictionary value (field_current_value) in the debugger directly before the find.
Be conscious of the record number, which, if included in the index (RECNUM field), must be part of the key for a "find EQ".
26 - Cant close index file
Cause
1. Corrupted index file.
2. This error may indicate problems with the operating systems directory structure of the disk drive. Power failure is a common cause of disk directory corruption. If you have had other media errors, they can show up later as directory problems. If this happens repeatedly, there may be a subtle problem with the operating system or equipment.
This error is fatal.
Resolution
1. Reindexing is usually sufficient to resolve this problem.
2. Generally, the disk should be reformatted and data recovery techniques used. Usually, database tables triggering this error are irrecoverably damaged. Restoring data from a good backup is the best recovery method.
Verify proper configuration of Read Caching and Opportunistic Locking on your network.
27 - File location out of range
Cause
This error is sent when a sequential positioning statement is issued that places the file pointer outside of the in-memory buffer range. This error is used with image and DBMS devices.
28 - Duplicate records not allowed in file
Cause
An attempt was made to save a record whose values in (uniquely) indexed fields match the values of a record already in the table. Where an index containing multiple matching entries is in fact desired, this is a programming error.
A save was attempted on a record having an index key value that matches one already in the index. If unexplainable, try reindexing the file. Where the application in fact requires unique values, this is an operator error.
29 - Text field too long
Cause
This error is sent when a write is performed to a sequential file of DBMS or image type and the write causes the sequential buffer to fill.
30 - Cant read configuration file
Cause
The compiled program file is not a compiled DataFlex program or the file is damaged.
Resolution
Re-precompile all header files by selecting Precompile All Packages from the Tools menu of the Studio.
Recompile your application.
31 - Program file not found
Cause
1. Attempt to execute a program that does not exist.
2. Error in a runprogram or chain command.
3. Attempt to execute a program file that is not a valid DataFlex program.
4. Program file could be corrupt.
5. Attempt to execute a program file that was compiled in an earlier version of DataFlex.
This error is fatal.
Resolution
1. Check the path to and name of the program.
2. Check the path to and name of the program in the chain or runprogram statement.
3. Execute the program using the proper method.
4. Recompile the program.
5. Recompile the program in the current version or install the DataFlex runtime for the version in which the program to be executed was compiled.
32 - Cant open output file
Cause
1. The disk is full or the file name is invalid.
2. An invalid file name or path.
3. An invalid syntax used with the direct_output or append_output commands.
4. Output is attempted to a device that has not been opened (e.g. using Write, WriteLn, WriteHtml).
Resolution
1. Ensure that enough space is free on the target disk drive for the file.
2. Verify that you are using a valid file name. Valid file names and paths are any that are valid in the Windows operating system.
3. See the documentation for direct_output or append_output and verify the syntax.
4. Make sure you open an output device before attempting to write to it.
This can sometimes be tricky in a Web application. See the example below:
33 - Cant open input file
Cause
The device named in a direct_input command is not defined in your system, or the file named is not present on the drive, folder, or search path.
34 - Not a valid DataFlex program
Cause
This error occurs when the DataFlex runtime (dfrun.exe) is directed to execute a non-DataFlex program file. This can occur because of a faulty runprogram or chain command, but is most likely to be the result of folder file naming or renaming errors entirely outside of DataFlex.
Resolution
Check your folder for files with extension .exe which are not compiled DataFlex program files.
36 - Too many resident images for memory
Cause
This should only occur in legacy code using images, such as a BasicReport.
Image windows in your program consume memory. Images with the resident option consume an amount of memory equal to their actual size in bytes (up to about 2,000 each). If you get this error, you must reduce either the number of windows in your program (consider separating it into multiple programs), the number of images using the resident option, and/or the size of such images. This error is most likely to be reported at compile time.
37 - Error reading virtual memory file
Cause
This error occurs when a read error is issued while DataFlex is attempting to retrieve information that has been swapped to disk. This error should not happen and is an indication of a larger system problem.
38 - Error reading .exe file
Cause
This error could occur if there is an error while reading the .exe file from disk.
Resolution
Recompile the program or copy the compiled program file from a location (e.g. development PC) where no such error occurs.
39 - Error in system flush file
Cause
This error is sent when there is an error initializing or writing to a virtual swap file.
1. Disk is full.
2. The value of the TMP and/or TEMP environment variables specify an invalid path.
3. This error is sometimes caused by using up of system resources, such as file handles.
Resolution
1. Make more disk space available.
2. Verify and correct the values of the TMP and TEMP environment variables.
3. Increase available file handles (Windows should handle this automatically).
40 - Invalid accelerator key destination
Cause
This error occurs when an accelerator key is pressed where the object to receive the message is invalid (not created yet, name misspelled, etc.). This is most likely caused by an incorrect On_Key statement in the program source.
41 - Find prior to beginning of table
Cause
This error occurs if an attempt was made to find a previous record (find LT) when there is no previous record available, such as trying to execute a "find LT" when there is no record in the DataDictionary or record buffer, or when the first record is in the DataDictionary or record buffer.
Example:
If the cursor is in a Customer Number form and no Customer record is loaded, trying to execute a "find previous" or "find LT" will trigger this error since there is no record prior to zero.
42 - Find past end of table
Cause
This error occurs if an attempt was made to find a next record (find GT) when there is no previous record available, such as trying to execute a "find GT" when the last record is in the DataDictionary or record buffer.
Example:
If the cursor is in a Customer Number form and the last Customer record is loaded (by the Customer Number index), trying to execute a "find next" or "find GT" will trigger this error since there is no record following the last record.
43 - Cant open index file
Cause
In the embedded (DataFlex) database, the index information is kept in a separate file from the actual database. The index files have the same root name is the table itself, with a .K?? extension, where "??" is the index number. These files must reside on the same drive as the table (see error 75).
This error is fatal.
44 - Channel number out of bounds
Cause
Channel numbers specified in sequential read, write, open, and close commands must lie in the range 0 -9. This error is reported when the channel number lies outside this range. If you are using a variable to store the channel number, use the Debugger to see its value when this error is triggered.
45 - Illegal operation on device
Cause
This error is caused when a invalid operation is performed on a sequential device. For example, a dir device may not be opened for output or appending.
51 - Bad format in expression (operand)
Cause
The expression evaluator runs across an improper argument when it is expecting an argument. Most expression errors are not reported until runtime.
If unexplainable, you may have a data consistency error.
Example:
(1+*2).
52 - Bad format of expression (operator)
Cause
The expression evaluator runs across an improper operator (+, -, *, or /) when it is expecting a function.
53 - Function not supported in this O/S
Cause
The program contains a command (such as runprogram wait) which is not supported in the operating system you are running on.
54 - Invalid symbol in expression
Cause
If a keyboard entry to a number variable or database field contains non-numeric characters, this error will be triggered. This error is also triggered when data substituted into a comparison includes a number and a non-number (e.g., if ("ham" >= 7)...). The error is caused not by the type of the variable(s) or field(s), but by the type of the data itself (i.e., if ("ham" >= "7")... would not cause the error).
Example:
Move (Integer()) To i
This sample is missing the parameter for the integer function. The correct version might look like this:
Number nAmount
Move (Integer(nAmount)) To i
Example:
String sName
Number nSin
Move "joe" To sName
Move (Sin(sName)) To nSin
A string is not a valid parameter for the sin() function.
55 - Invalid data type in expression
Cause
Certain data types (strings, and windows without parentheses around them, indicators, labels), are not allowed in expressions. This error reports the presence of such terms in expressions. Most errors of this type will be reported first at compile time.
56 - Attempt to run uncompiled expression
Cause
1. The compiler compiles expressions for type. If an expression generates an error at compile time (see errors 50, 54, 55, 57, 58, 59), it will not be compiled. If the compiled program is run without correction of the problem and recompilation, the uncompiled expression will generate this error at runtime.
2. When in strict evaluation mode, an error is raised when the runtime attempts to evaluate an expression within a string that occurs outside of a code-managed Eval() function. When this happens, an unhandled error 56 is raised, "attempt to run uncompiled expression". Assuming that someone is not trying to hack your Web Application, this is most likely a programming error.
Resolution
1. Recompile your application.
2. Review the code and adjust it for strict evaluation mode. See Get_StrictEval for details.
57 - Required message argument missing
Cause
1. Not all required arguments were sent to a message.
2. The compiler maintains a "stack" which it uses to type all expressions. Too many terms and/or too many terms of different types in an expression can trigger this error.
Resolution
1. Send all required arguments to the message in question.
You can write functions that require a variable number of arguments, using the Num_Arguments predefined variable.
2. To overcome this error, "build up" your final expression through two or more actual lines of code (commands). Most errors of this type will be reported first at compile time.
58 - More than 25 (parentheses) in expression
Cause
This error is generated when more than 25 pairs of parentheses are used in one expression.
Resolution
To overcome this error, "build up" your final expression through two or more actual lines of code (statements). Most errors of this type will be reported first at compile time.
59 - Floating point exception error
Cause
This error occurs when an expression evaluates to a value outside the range of DataFlex Real numbers (1 times 10 to the 306 power).
60 - Bad or missing .DEF file
Cause
A make_file command was executed which used a rootname in its argument for which either no .DEF file was found, or if a .DEF file was found, it was not in the required format for such files.
61 - Illegal redefinition of existing table
Cause
A make_file command was executed which had in its argument the number of an existing database file and: (a) the file rootname in the command argument didnt match the one in the definition of the database file whose number was used; or (b) the database file whose number was given has data in it and the lengths, types, or total length of the fields in the definition of that database file do not match those in the .DEF file whose rootname was used in the command.
62 - .TAG file error
Cause
A make_file command was executed which used a rootname in its argument for which either no .TAG file was found, or if a .TAG file was found, it was not in the required format for such files.
63 - Attempt to delete a protected record
Cause
1. An attempt was made to delete a record in a table set to read only by the DF_File_Mode attribute.
2. An attempt was made to delete a record in a table flagged as read only by the operating system.
Caution: On some operating systems, copying files from a CD-ROM device to a hard disk may set files to read only automatically.
3. An attempt was made to delete a record in a table where the user running the DataFlex program only has read permissions.
64 - Attempt to Find a protected record
Cause
A find was attempted in a table with its DF_File_Mode attribute set to DF_FILEMODE_NO_FINDS.
65 - Attempt to create in a protected table
Cause
1. An attempt was made to save a new record in a table set to read only by the DF_File_Mode attribute.
2. An attempt was made to save a new record in a table flagged as read only by the operating system.
Caution: On some operating systems, copying files from a CD-ROM device to a hard disk may set files to read only automatically.
3. An attempt was made to save a new record in a table where the user running the DataFlex program only has read permissions.
4. An attempt was made to save a new record in a table currently open in exclusive mode by another DataFlex program (e.g. Database Builder).
66 - Attempt to edit a protected record
Cause
1. An attempt was made to save an existing record in a table set to read only by the DF_File_Mode attribute.
2. An attempt was made to save an existing record in a table flagged as read only by the operating system.
Caution: On some operating systems, copying files from a CD-ROM device to a hard disk may set files to read only automatically.
3. An attempt was made to save an existing record in a table where the user running the DataFlex program only has read permissions.
4. An attempt was made to save an existing record in a table currently open in exclusive mode by another DataFlex program (e.g. Database Builder).
67 - Array too large
Cause
This error is used when an accelerator key has been pressed and the destination object is not defined. This may happen because of invalid object references in access methods.
68 - Cant create item
Cause
1. This error is used when an entry_item, item, or item_list statement is used in an object or class that does not support the creation of entry_items, items, or item_lists.
2. If there is a memory error during the creation of an entry_item, item, or item_list statement, then the error will be issued.
69 - Unresolved object reference
Cause
This error is used when a message is sent of an object that does not exist, or an object that uses an access method that does not apply to it.
70 - Not a current embedded database table
Cause
1. Database tables (.dat files) created under revisions of DataFlex prior to 2.3 (2.2 and earlier) cannot be used under DataFlex without conversion by the DFConver utility.
2. A corrupted database table.
Resolution
1. Run DFConver on all your database tables (.dat files before attempting to use them with DataFlex. The DFConver utility was supplied with DataFlex 2.3, but can be obtained separately from the Data Access Corporation Web Site or by contacting Data Access Corporation.
2. Restore affected table from backup.
71 - No record in memory to delete
Cause
A delete was attempted on a record that does not exist, or with no record in memory.
If a delete command is issued against an INACTIVE record buffer, the DBMS wont know what record to delete and will report error 71. Delete must be used with a "found" record.
72 - Table not open
Cause
1. If a database table is referenced before it has been opened, you will get error 72.
2. A program attempts to open a table before a workspace has been opened.
3. The table in question was closed in the application prior to the line of code referencing the table in question.
4. This error can be caused by a missing "set Main_DD" statement in a dbList object (typically) or other component.
5. This can also be caused by a table not being on the disk, in which case you should get an error 75 first.
6. A declare_datafile command can allow a program that references a table to be compiled without opening the table. This is sometimes done when the table is expected to be opened in another part of the program.
This error is fatal.
Resolution
1. Open the database table before referencing it in the code.
2. This typically happens if the table is opened prior to the cApplication object being created. If this happens, the DataPath and FilelistPath specified in the workspace (.WS) file has not been read yet and instead the program is looking to open the first filelist.cfg it finds along the default DFPath for DataFlex in the Windows Registry (under HKey_Local_Machine\Software\Data Acccess Worldwide\DataFlex\X.x\Defaults, where X.x is the DataFlex revision).
To correct this condition, ensure that you do not attempt to open a table until the correct workspace has been opened.
If no cApplication object exists in your program and you want your program to use a workspace, add one and make sure that it is declared before open any database tables.
3. Reopen the database table or debug/eliminate the line of code that closes it.
4. Place a "set Main_DD to <DataDictionary Object Name>" statement into component or set the Main DDO using the Database Selector DDO Tree button in the Studio.
5. Make sure the table is on the disk and accessible.
6. Replace the declare_datafile command with an open command, or make sure another part of the program opens the file prior to its first reference in the program.
73 - Utility cant find .exe file
74 Entry does not exist in filelist.cfg
Cause
1. There is no filelist entry for the database table referenced by the open command.
2. Filelist.cfg is not found.
3. A program attempts to open a table before a workspace has been opened.
This error is fatal.
Resolution
1. This error is often the result of a .FD file used when the application was compiled being out of synch with the actual number used for the table in question in the current filelist. In that case, recreating the .FD files in question from Database Builder and then recompiling the application will solve the problem. Alternatively, the current filelist entry may be moved to the filelist slot referenced in the .FD file used at compile time.
2. Check the Filelist= statement in the workspace (.WS) file for the application to make sure it points to the correct filelist.
3. This typically happens if the table is opened prior to the cApplication object being created. If this happens, the DataPath and FilelistPath specified in the workspace (.WS) file has not been read yet and instead the program is looking to open the first filelist.cfg it finds along the default DFPath for DataFlex in the Windows Registry (under HKey_Local_Machine\Software\Data Acccess Worldwide\DataFlex\X.x\Defaults, where X.x is the DataFlex revision).
To correct this condition, ensure that you do not attempt to open a table until the correct workspace has been opened.
If no cApplication object exists in your program and you want your program to use a workspace, add one and make sure that it is declared before open any database tables.
75 - Cant open table
Cause
1. There is no filelist entry for the database table referenced by the open command.
2. The TableName has .DAT appended to it in the open statement.
3. The rootname entry in filelist.cfg has an incorrect extension.
4. The database table is corrupted.
5. An 'open as' is performed when the receiving table number is zero (0) and the named table is not in the current filelist.
Resolution
1. Make sure that the root name in File Definition corresponds with the actual name and drive of the table as shown in your workspace's data path.
2. Make sure the open statement does not have .DAT appended to the TableName. Consult the Open command for more information.
3. If the table is an embedded (DataFlex) database table, the extension for rootname in the filelist entry should be none (e.g. "Customer").
If the table is of another database, the filelist entry should have a .INT extension (e.g. "Customer.INT"). There may be other valid filelist entries depending the type of database you are using.
4. Generally, the disk should be reformatted and data recovery techniques used. Restoring data from a good backup is the best recovery method.
5. Make sure the table you are 'opening as' is in the current filelist or that the handle you are moving it to is not zero (0).
Verify proper configuration of Read Caching and Opportunistic Locking on your network.
76 - Internal Huffman error
Cause
This error indicates corruption in an embedded (DataFlex) database compressed data (.VLD) file.
Resolution
Generally the disk should be reformatted and data recovery techniques used. Usually, database tables triggering this error are irrecoverably damaged. Restoring data from a good backup is the best recovery method.
Verify proper configuration of Read Caching and Opportunistic Locking on your network.
77 - Field number out of range
Cause
1. This is generated by addressing a field number that is not in the current range of fields in the table. For example, if the table definition of the Customer table has 10 fields, you cannot access filed 12.
2. This can also be caused by using an old program with a modified table definition.
Resolution
1. Address a field that is within the correct range.
2. Recreate the table definition (.FD) file using File > Output DEF/FD in Database Builder, then recompile the program.
78 - Cant update Record 0 of table
Cause
Database table or disk directory is damaged.
This error is fatal.
Resolution
Generally the disk should be reformatted and data recovery techniques used. Usually, database tables triggering this error are irrecoverably damaged. Restoring data from a good backup is the best recovery method.
Verify proper configuration of Read Caching and Opportunistic Locking on your network.
79 - Field not indexed - cant find by this
Cause
A find has been attempted on a non-indexed field.
1. User is attempting a find on a non-indexed field.
2. Incorrect coding that incorrectly tries to find on a non-indexed field.
Resolution
1. or 2. Either add an index to the table for the field in question or instruct the user that this field cannot be used to find records.
80 - Cant close table
Cause
Database table or disk directory is damaged.
This error is fatal.
Resolution
Generally the disk should be reformatted and data recovery techniques used. Restoring data from a good backup is the best recovery method.
Verify proper configuration of Read Caching and Opportunistic Locking on your network.
81 - Record number out of range
Cause
If a record number out of range error occurs when saving a record, it indicates a corrupted database table.
Resolution
Generally the disk should be reformatted and data recovery techniques used.
Verify proper configuration of Read Caching and Opportunistic Locking on your network.
82 - Edited record not saved
Cause
If an indexed field in an active record buffer is edited and then either a find is attempted or the file is closed before the edited record saved, this error will be reported, and the buffer will not be cleared.
83 - Data type error - String used as Number
Cause
Type check error. This often arises from use of an old program with a database file whose file definition has been modified.
Resolution
Recompile the program with an up-to-data table definition (.FD) file.
84 - Field outside record
Cause
1. This is generated by addressing a field number that is not in the current range of fields in the table. For example, if the table definition of the Customer table has 10 fields, you cannot access filed 12.
2. This can also be caused by using an old program with a modified table definition.
Resolution
1. Recreate the table definition (.FD) file using File > Output DEF/FD in Database Builder, then recompile the program.
2. Recompile the program with an up-to-data table definition (.FD) file.
85 - Cant open .VLD file
Cause
1. An open command is issued on a compressed file and the .VLD file is not found.
2. Could indicate corruption in an embedded (DataFlex) database compressed data (.VLD) file.
Resolution
1. Make sure the .VLD file for the current table is located in the same folder in the DataPath as the .DAT file.
2. Generally the disk should be reformatted and data recovery techniques used. Usually, database tables triggering this error are irrecoverably damaged. Restoring data from a good backup is the best recovery method.
Verify proper configuration of Read Caching and Opportunistic Locking on your network.
86 - Related fields not the same length
Cause
This error will occur at runtime whenever a relationship is found between 2 database fields that are not of exactly the same type and length. Overlap fields are the only exception to this rule; they may relate to either other overlap or ASCII fields of the same length.
Resolution
Ensure that related fields are of the same type and size. For example, do not relate a numeric 6.0 field to a numeric 4.0 field.
Note: Some developers using DataFlex 2.3b used record number relationships, where a field in one database file is related to the RECNUM field in another file. When upgrading to more recent revisions of DataFlex, suddenly this message appears. This is usually because the "relating from" field was defined as Numeric 6.0, instead of Numeric 8.0, which is the type and length of the RECNUM field. However, record number relationships should be avoided whenever possible and even with legacy applications efforts should be made to remove them.
87 - No Superfind path to this record
Cause
Cant superfind from this DEO; main table in the current view does not relate to this DEO's table and field.
88 - Invalid table name
Cause
A badly formatted or too-long file name has been entered.
89 - Infinite recursion
Cause
1. The program may be calling a function recursively (infinite loop).
2. The program has nested procedures and functions too deep for the runtime to handle.
90 - Please enter a valid record ID
Cause
No record is found in a DEO attached to a database field with Find Required checked in its DataDictionary (using DD_FindReq Field_Option).
91 - Attempt to put into Integer constant
Cause
An attempt was made to change the value of an integer constant.
Resolution
You cannot alter the value of a constant.
92 - Program file not found
Cause
1. Attempt to execute a program that does not exist.
2. Error in a runprogram or chain command.
3. Attempt to execute a program file that is not a valid DataFlex program.
4. Program file could be corrupt.
5. Attempt to execute a program file that was compiled in an earlier version of DataFlex.
This error is fatal.
Resolution
1. Check the path to and name of the program.
2. Check the path to and name of the program in the chain or runprogram statement.
3. Execute the program using the proper method.
4. Recompile the program.
5. Recompile the program in the current version or install the DataFlex runtime for the version in which the program to be executed was compiled.
93 - Argument for return value missing
Cause
Missing argument for the return value of a function or procedure.
Resolution
Supply a variable to return a function or procedure call return value to.
94 - Program line number out of range
Cause
A precompiled header file may be corrupt.
Resolution
Re-precompile all header files by selecting Precompile All Packages from the Tools menu of the Studio.
Recompile your application.
96 - Cant open program file
Cause
1. Attempt to execute a program that does not exist.
2. Error in a runprogram or chain command.
3. Attempt to execute a program file that is not a valid DataFlex program.
4. Program file could be corrupt.
5. Attempt to execute a program file that was compiled in an earlier version of DataFlex.
This error is fatal.
Resolution
1. Check the path to and name of the program.
2. Check the path to and name of the program in the chain or runprogram statement.
3. Execute the program using the proper method.
4. Recompile the program.
5. Recompile the program in the current version or install the DataFlex runtime for the version in which the program to be executed was compiled.
98 - Invalid message
Cause
This error is used when a message is sent to an object and that object (and all of its ancestors) do not understand it (it is not defined in those objects and their superclasses).
Resolution
This is usually caused by sending a message to the wrong object. Ensure that the correct object receives the message. You can usually test this by placing a debugging breakpoint into the message that is being called.
99 - Wrong revision of DataFlex
Cause
This message is issued by the DataFlex runtime (Client Engine) when it detects that the compiled program (.exe file) being executed is a different revision than the runtime.
Resolution
Run 1. Correct
100 - Operator error
Cause
1. An operator entered an incorrect value.
2. An operator performed an incorrect function.
Resolution
1. Correct the value being entered.
2. Do not perform the incorrect function.
101 - Can't change key field
Cause
An attempt was made change the value of a database field with Key Field checked in its DataDictionary (using the Key_Field_State Property).
Resolution
Do not attempt to change the value of a key field.