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.