home *** CD-ROM | disk | FTP | other *** search
-
- ΓòÉΓòÉΓòÉ 1. Using Help ΓòÉΓòÉΓòÉ
-
- To access the help system within the Function Executor you can either press the
- Help button or the F1 key from within any of the screens. For information on
- how to use the OS/2 help system, press F1 from within the help system.
-
-
- ΓòÉΓòÉΓòÉ 2. Overview ΓòÉΓòÉΓòÉ
-
- The Function Executor (OS2FEXEC.EXE) is an interactive workstation utility that
- allows you to perform Btrieve operations without writing an application. This
- is useful for two groups of people.
-
- First, you may find it useful if you need to learn how the various Btrieve
- operations work.
-
- Secondly, you can simulate the operations of a Btrieve application, which helps
- in testing and debugging the application.
-
- Related Topics:
- Main Window
- Example Operations
-
-
- ΓòÉΓòÉΓòÉ 3. Example Operations ΓòÉΓòÉΓòÉ
-
- Below are a few examples of the steps you must perform to execute Btrieve
- operations within the Function Executor. Refer to the Btrieve Programmer's
- Manual for more detailed information on the required parameters for each
- operation.
-
- Open File
- Select the Open(0) operation in the Operation List. Enter the path of the
- Btrieve compatible file you want to open in the Key Buffer. Note that the
- Browse button allows you to select a file for the Open operation. Enter the
- Open Mode in the Key Number (0 is Normal Mode). If the file has an owner
- name, enter the owner name in the Data Buffer. Press the Execute Button to
- perform the operation. If successful (Status = 0), the Open Files list box
- will be updated and you can now perform other Btrieve operations on the
- file. If the operation is not successful, the Status message will give a
- brief description of the problem. Refer to the Status Codes Help or the
- Installation and Operations manual for more detailed information.
-
- Insert Record
- Open the file (see above). Select the Insert(2) operation. Modify the Data
- Buffer to contain the data to insert in the new record. Specify the length
- of the data to insert in the Data Length. Press the Execute Button.
-
- Get First
- Open the file (see above). Select the Get First(12) operation. Set the Key
- Number to the number of the index you wish to use in fetching the record.
- Set the Data Length to a value greater than or equal to the length of the
- record you want to retrieve. Select the appropriate lock bias (0 for no
- lock). Press the Execute Button. If successful, the Microkernel will return
- the requested record in the Data Buffer, store the corresponding key value
- in the Key Buffer, and set the Data Length to the size of the record
- returned.
-
- Get Next
- Open the file (see above). Perform a Get First (see above). Select the Get
- Next(24) operation. Use the key value and key number from the previous Get
- First operation. Set the Data Length to the length of the record being
- retrieved. Select the appropriate lock bias (0 for no lock). If you choose
- to perform multiple Step Next operations, you can set the To Do control to
- the number of times to repeat the operation. Press the Execute Button. If
- successful, the Microkernel will return the requested record in the Data
- Buffer, store the corresponding key value in the Key Buffer, and set the
- Data Length to the size of the record returned.
-
- Set Owner
- Open the file (see above). Select the Set Owner(29) operation. Store the
- owner name in both the Data Buffer and the Key Buffer. Set the Data Length
- to be the size of the owner name. Set the Key Number to the type of access
- restriction you want to define (0,1,2,3: See the Btrieve Programmer's Manual
- for a detailed description ). Press the Execute Button.
-
- File Statistics
- Open the file (see above). Select the Stat(15) operation. Set the Data
- Length to be large enough to hold the file's specification structure (Refer
- to the specification structure used by the Create operation in the Btrieve
- Programmer's Manual for details). Set the Key Number to 0 for the standard
- statistics structure or -1 for the new structure (which includes the file's
- version information). Press the Execute Button. If successful, the
- Microkernel will copy the file's specification structure to the Data Buffer
- and set the Data Length to the length of the data.
-
-
- ΓòÉΓòÉΓòÉ 4. Main Window ΓòÉΓòÉΓòÉ
-
- Using the Main Screen
-
- The main screen of the Function Executor screen allows the user to edit and
- view the various parameters used when performing a Btrieve operation. Refer to
- the Btrieve programmer's Manual for a detailed explanation of what parameters
- are used for each operation, valid parameter values, etc.
-
- Open Files
- This drop down list shows all the files currently open in this session of
- the Function Executor. The Function Executor keeps track of the data in all
- of the controls for each open file. It resets the controls to match the
- current state of the data for the selected file. To start a new file, you
- choose "Scratch Buffers". This enables you to create a new file without
- overwriting existing key buffers.
-
- Transaction
- Tells you whether your current Function Executor session is in a Btrieve
- transaction. The possible values for this field are:
-
- No No transaction is in progress.
-
- Exclusive An application begins an exclusive transaction when it
- inserts, updates, or deletes a record in a file. To do this,
- an application executes the Begin Transaction (19) operation.
- Other users can open and read the file but cannot modify its
- contents.
-
- Concurrent An application begins a concurrent transaction by executing
- the Begin Transaction (19) operation with a bias value of
- 1,000. Btrieve may lock either records or pages depending on
- the operation the application performs. This implementation
- enables other users to modify different parts of the same
- file simultaneously, as long as the modifications do not
- affect previously locked portions of the file.
-
- Conc+ModLk An application begins a concurrent transaction by executing
- the Begin Transaction (19) operation with a no-wait lock on
- modification bias (+500). Users from within a concurrent
- transaction can read locked information, but users within an
- exclusive transaction cannot. Also, users cannot apply a lock
- to any read operations on locked files, records, or pages.
-
- Execute
- Signals the Function Executor to make the Btrieve function call as defined
- by the specified parameters.
-
- Help
- Displays this help text.
-
- Operation Group Box
- This set of controls relates to the Btrieve operation you want to perform how
- many times to execute the operation, and the status code returned by the
- Microkernel Engine.
-
- Current
- Enter the number of the operation to perform next in this edit field. When
- you enter an operation code, the List field is updated with the selected
- value.
-
- Last
- This field displays the number of the last operation that was performed for
- the selected open file.
-
- List
- Select an operation. This drop down list shows the names and operation codes
- for all Btrieve operations. When you make a selection, the Current operation
- field will be updated with the selected value.
-
- Browse
- Locate a Btrieve-compatible file to open. This button displays a file
- selection dialog. This button is enabled only when the Current operation is
- an Open.
-
- Get Key Bias (+50)
- To perform a Key-Only read operation (no data is returned in the data
- buffer), use this check box to add 50 to the Current operation.
-
- Modify Lock Bias (+500)
- To perform no-wait insert, update, and delete operations from within the
- transaction, use this check box to add 500 to a Begin Transaction operation.
-
- Read Lock Bias
- This list box provides five lock-bias choices. These biases enable you to
- resolve conflicts that can occur at the record, page, or file level when
- multiple clients or applications attempt to access the same records at the
- same time. See the Btrieve Programmer's Manual for a more detailed
- description of when to use these biases. Below is a brief description of the
- available biases.
-
- No Lock No bias is added to the operation code.
-
- Single Wait (+100) Instructs Btrieve to place a lock on a single
- record. If the record is already locked, Btrieve
- will wait until the record is available to
- return to the application.
-
- Single No Wait (+200) Instructs Btrieve to place a lock on a single
- record. If the record is already locked, Btrieve
- will immediately return with a status code.
-
- Multiple Wait (+300) Instructs the MKDE to place add a record lock to
- the current set of locks. If the record is
- already locked, the MKDE will wait until the
- record is available to return to the
- application.
-
- Multiple No Wait (+400) Instructs the MKDE to place add a recod lock to
- the current set of locks. If the record is
- already locked, the MKDE will immediately return
- with a status code.
-
- To Do
- Enter the number of times you want to repeat this operation when the Execute
- button is pressed.
-
- Done
- Shows the number of times the current operation has been performed, up to
- the number of times specified in the To Do edit field.
-
- Status
- Shows the resulting status after the operation is executed.
-
- Status Help
- Use this button to get more information on the status returned by the
- current operation. If the status is zero, this button is disabled.
-
- Buffer Group Box
- This set of controls allows the user to modify and view the key and data buffer
- parameters.
-
- Key Number
- Enter the key number to be used on the next operation.
-
- Data Length
- Enter the size of the data buffer for the next operation. This field also
- shows the amount of data returned in the data buffer after the operation is
- executed.
-
- Key
- Shows a portion of the key buffer. Use the arrow keys and the home and end
- keys to scroll through the information.
-
- Position
- Shows the position of the cursor in the Key Buffer field.
-
- Edit Key
- Displays a screen for detailed viewing and editing of the key buffer.
-
- Data
- Shows a portion of the data buffer. Use the arrow keys and the home and end
- keys to scroll through the information.
-
- Position
- Shows the position of the cursor in the Data Buffer field.
-
- Edit Data
- Displays a screen for detailed viewing and editing of the data buffer.
-
- Related Help Topics
- Edit Buffer Dialog
-
-
- ΓòÉΓòÉΓòÉ 5. Btrieve Status Codes ΓòÉΓòÉΓòÉ
-
- Following is a short description of all Btrieve status codes. For more detailed
- information please see the Btrieve Installation and Operations manual.
-
- 0 No Error
-
- The operation completed successfully.
-
- 1 Invalid Function
-
- The application has requested an invalid operation.
-
- 2 I/O Error
-
- The MKDE encountered an unexpected error while reading from or writing to the
- file. The file may be damaged, and if so it must be recreated.
-
- 3 File Not Open
-
- The operation cannot be executed because the file is not open.
-
- 4 Key Value Not Found
-
- The MKDE cannot find the specified key value in the index path.
-
- 5 Duplicate Key Value
-
- The MKDE cannot add or update a record for the designated index because the
- record has a key field that contains a duplicate key value, and the index does
- not allow duplicate keys.
-
- 6 Invalid Key Number
-
- The value stored in the key number parameter is not valid for the file being
- accessed. The key number must correspond to one of the keys defined for the
- file. Valid key numbers are 0 through 118.
-
- 7 Different Key Number
-
- The key number parameter changed before a Get, Update, or Delete operation. The
- operation requires the same key number parameter as the previous operation
- because the engine uses positioning information relative to the previous key
- number.
-
- If you need to change key numbers between consecutive Get, Update, or Delete
- operations, use a Get Position operation followed by a Get Direct/Record
- operation to reestablish positioning for the new index path.
-
- 8 Invalid Positioning
-
- The current position must be established to update or delete a record. Perform
- a Get or Step operation to establish the current position.
-
- This status code may also be returned if the application passed an invalid
- position block for the file.
-
- 9 End Of File
-
- This status code indicates one of the following conditions has occurred:
-
- o The operation encountered a file boundary either at the beginning or the end
- of the file.
-
- o In an extended Step or Get operation, the number of records satisfying the
- filtering condition is less than the number of specified records to be
- returned, and the reject count has not been reached.
-
- o When reading a file in ascending order according to an index path, the engine
- has already returned the last record in that index path. When reading a file
- in descending order according to an index path, the engine has already
- returned the first record in the index path.
-
- o When using the Get By Percentage operation, either the value supplied for the
- percentage is too high - that is, it exceeds 10,000 decimal (0x2710) - or
- the file contains no records.
-
- 10 Modifiable Key Value Error
-
- During an update operation, an attempt was made to modify a key field that is
- defined as nonmodifiable.
-
- 11 Invalid Filename
-
- The filename specified does not conform to file naming conventions. Make sure
- the filename is valid for the environment.
-
- 12 File Not Found
-
- The specified filename does not exist. Verify that the file path and name are
- correct.
-
- 13 The MicroKernel could not open the extension file for an extended file
-
- The MicroKernel could not open the extension file for an extended file that the
- application tried to open. For v7.0 and later MicroKernels, an extended file
- can consist of a base file and up to 15 extension files. Extension files must
- remain in the same volume and directory as their base files. The MicroKernel
- returns this status code if you delete, move, or rename the extension files.
-
- 14 Pre-Image Create/Open Error
-
- Pre-image files are used only with files either created by a pre-v6.0 engine or
- by a v6.x engine, if the Create Files Using v5.x format configuration setting
- was selected.
-
- Possible causes for this status code:
-
- o The engine cannot create a new pre-image file because the disk is full.
-
- o The engine cannot open the pre-image file to restore file integrity. If the
- pre-image file is erased or damaged, the engine cannot restore the file's
- integrity. In this case, either use the RECOVER command in the File Manager
- utility to retrieve the file's data records in a sequential file or replace
- the data file with a recent backup.
-
- o The engine does not have access rights to the pre-image file.
-
- 15 Pre-Image I/O Error
-
- Pre-image files are used only with files either created by a pre-v6.0 engine or
- by a v6.x engine if the Create Files Using v5.x format configuration setting
- was selected.
-
- This status code indicates either the disk is full or the pre-image file is
- damaged. When this status code occurs, proceed as follows:
-
- o If the disk is full, create additional free space by deleting any unnecessary
- files.
-
- o If the pre-image file is damaged, the integrity of the data file cannot be
- ensured. Either use the RECOVER command in the File Manager utility or
- replace the file with its most recent backup.
-
- 17 Close Error
-
- The engine encountered an error while attempting to close a file. Check for a
- disk hardware failure.
-
- 18 Disk Full
-
- The disk is full, and the file cannot be expanded to accommodate additional
- records.
-
- 19 Unrecoverable Error
-
- To ensure file integrity, either use the RECOVER command in the File Manager
- utility to retrieve the damaged file's data in a sequential file or replace the
- data file with its most recent backup.
-
- 20 MKDE Inactive
-
- The MKDE is not active. If autostarting the engine, make sure that the
- interface DLL can find the engine. The DLL uses the home directory specified
- in the OS/2 system file OS2.INI to attempt to locate the engine. This
- directory location is set by the engine and can be altered through the engine
- option settings.
-
- To temporarily override, or establish, the home directory specification, you
- can use an environment variable to specify an alternate directory as the home
- directory. If the MKDE cannot detect a currently set home directoy in OS2.INI,
- it will write it there based on the directory specified in the environment
- variable.
-
- To set this environment variable, use the following command:
-
- SET BTRINTF=/H:drive:\path
-
- Substitute the drive letter and directory path for where the home directory is
- to be.
-
- 22 Data Buffer Length Error
-
- The application's data buffer is not large enough to accommodate the length of
- the data record defined when the file was created. In this situation, the
- engine returns as much data as possible, given the size of the application's
- data buffer.
-
- 24 Page Size Error
-
- There are two possible reasons for receiving this status code:
-
- o The page size is invalid. The page size must be a multiple of 512 bytes and
- cannot exceed 4,096 bytes.
-
- o During a Create operation, the page size is the first file specification the
- engine checks. A status code of 24 at this point may indicate an invalid
- data buffer parameter.
-
- Versions of the engine earlier than v6.1 can return this status code from the
- Open operation. In this case, the engine cannot open the file because the
- file's page size exceeds the Largest Page Size configuration option. To
- successfully open the file, you must increase the value of the Largest Page
- Size configuration option and then reload the engine. The v6.1 engine does not
- return this status code on the Open operation.
-
- 25 Create I/O Error
-
- If the application is creating a file over an existing file, the engine returns
- this status code when the existing file is open, or when the operating system
- prevents the operation for some other reason (for example, because the file has
- a read-only attribute).
-
- 26 Invalid Number Of Keys
-
- The number of keys specified for the page size is invalid. The following
- number of key segments must be within the following limits:
-
-
- Page Size Max Key Segments
- ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
- 512 8
- ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
- 1,024 23
- ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
- 1,536 24
- ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
- 2,408 54
- ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
- 2,560 54
- ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
- 3,072 54
- ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
- 3,584 54
- ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
- 4,096 119
-
- 27 Invalid Key Position
-
- The key field position specified is less than 1 or exceeds the defined record
- length for the file. Either the key position is greater than the record length
- or the key position plus the key lengths exceeds the total record length.
-
- 28 Invalid Record Length
-
- The record length specified (plus overhead for duplicate, record usage count,
- variable record pointers, record length, and blank truncation information) must
- be less than or equal to the page size minus 8 bytes, and greater than or equal
- to 4 bytes.
-
- 29 Invalid Key Length
-
- The key length specified must be greater than 0 but cannot exceed 255 bytes.
- The length of a binary key must be an even number. The engine requires that
- each key page in the file be large enough to hold at least 8 keys.
-
- If the page size is too small to accommodate 8 occurrences of the specified key
- length (plus overhead), either increase the file's page size or decrease the
- key length.
-
- 30 Not A MKDE Compatible File
-
- Either the MKDE did not create the file, or a version of Btrieve earlier than
- v3.x created it.
-
- This status code may also indicate that the first page of the file is damaged.
- Use a backup copy of the data file.
-
- 35 Directory Error
-
- Either a Get Directory operation specified a drive that does not exist, or a
- Set Directory operation specified an invalid pathname. Check the validity of
- both drive and directory path.
-
- 36 Transaction Error
-
- The engine tried to perform a Begin Transaction operation without the engine
- being configured to allow transactions. If the maximum concurrent transactions
- configuration setting is set to 0, the engine cannot allow transactions.
-
- 37 Transaction Is Active
-
- The application has issued a Begin Transaction operation while another
- transaction was active by the same client. The engine does not accommodate
- nesting transactions.
-
- 38 Transaction Control File I/O Error
-
- The engine encountered an error when it tried to write to the transaction
- control file. Possible causes for receiving this status code are that the disk
- is full, the disk is write protected, the transaction control file (MKDE.TRN)
- that is created when the engine is initialized has been deleted or the
- transaction control file has a read only attribute.
-
- 39 End/Abort Transaction Error
-
- The application issued an End or Abort Transaction operation without a
- corresponding Begin Transaction operation.
-
- 41 Operation Not Allowed
-
- This status code is returned for one of the following reasons:
-
- o The application tried to perform an operation that is not allowed at this
- time. The engine does not allow some operations under ceratin operating
- conditions. For example, the engine returns this status code if the
- application attempts to perform a Set operation on a key-only file or a Get
- operation on a data-only file.
-
- o The key number parameter of a continuous operation is 0, 1, or 2.
-
- Also, the engine prohibits certain operations during transactions because they
- have too great an effect on the file or on the engine's performance. The
- operations include Close, Set Owner, Clear Owner, Create Index, or Drop Index.
-
- 42 Incomplete Accelerated Access
-
- Either the application tried to open a v5.x format file that was previously
- opened in Accelerated mode by a v5.x engine and never successfully closed, or
- the application tried to open a file for which the v6.x engine encountered an
- unrecoverable error during a Set or Clear Owner operation. The file's
- integrity cannot be ensured. Either use the RECOVER command in the File
- Manager utility to build a new file or restore the file using the latest
- backup.
-
- 43 Invalid Record Address
-
- This status code is returned for one of the following reasons:
-
- o The record address specified for a GetDirect/Record operation is invalid. The
- address is outside the file's boundaries, it is not on a record boundary
- within a data page or on a data page, or the record at the specified address
- has been deleted.
-
- o If v5.x format files are shared among multiple engines in a networked
- environment, this status code may indicate a file access conflict. For
- example, workstation 1 has a file locked in an exclusive transaction.
- Workstation 2 is reading records from the same file and tries to update a
- record that the workstation 1 transaction either inserted or updated. If
- workstation 2 reads the record and then workstation 1 aborts the transaction,
- workstation 2 receives this status code when issuing the Update operation.
-
- o For a Find Percentage operation that is seeking a percentage based on a
- record's physical location within the file, the specified address is invalid.
-
- o The file may be corrupt, and you must rebuild it.
-
- 44 Null Key Path
-
- The application tried to use the Get Direct/Record operation to establish an
- index path for a key whose value is null in the corresponding record. The
- engine cannot establish positioning based on a null key value.
-
- 45 Inconsistent Key Flags
-
- The key flags specification on a Create operation is inconsistent. If the key
- has multiple segments, the duplicate, modifiable, and null attributes should be
- the same for each segment in the key. Also, you cannot use the Null or Manual
- key attributes in a key-only file.
-
- This status code is also returned if an attempt is made to specify a different
- alternate collating sequence for two or more segments of a segmented key.
-
- 46 Access To File Denied
-
- This status code is returned for one of the following reasons:
-
- o The application opened a file in read-only mode and tried to perform an
- Insert, Update, or Delete operation on that file.
-
- o An attempt was made to perform an Insert, Update, or Delete operation on a
- file with a read-only attribute.
-
- o The owner name required for updates was not specified correctly.
-
- 48 Invalid Alternate Collating Sequence Definition
-
- The first byte of an alternate collating sequence definition file (the
- identification byte) does not contain the hexadecimal value 0xAC. Make sure
- the file contains the proper value.
-
- 49 The extended key type is invalid
-
- The MicroKernel returns this status code for one of the following reasons:
-
- o You tried to create a file or an index with an invalid extended key type, or
- you are trying to assign an ACS to a BINARY key or key segment. You can
- assign an ACS only to a STRING, LSTRING, or ZSTRING key type.
-
- o You defined an index requiring an ACS, but no ACS definition exists (either
- in the file or in the key definition passed in the data buffer).
-
- o You attempted to create a key segment with both the Case Insensitivity and
- the Alternate Collating Sequence flags set, and the MicroKernel is configured
- to create files in v5.x format. This combination is invalid for v5.x files.
-
- o You attempted to create a file that contains multiple ACSs, but you are
- running a pre-v6.1 MicroKernel. Only v6.1 and later MicroKernels support
- multiple ACSs.
-
- o You are running a v6.x or later MicroKernel with the Create Files Version
- option set to v5.x, and you attempted to create a file with a NUMERICSA or
- NUMERICSTS key. Pre-v6.1 files do not support these key types.
-
- o You set the default file creation format to v6.x, but you are using one of
- the new Btrieve v7.0 data types, such as CURRENCY.
-
- 50 Owner Already Set
-
- The application tried to perform a Set Owner operation on a file that already
- has an owner. The Clear Owner operation must be performed to remove the
- previous owner before specifying a new one.
-
- 51 Invalid Owner
-
- The possible causes for this status code are as follows:
-
- o If the application received this status code from a Set Owner operation, the
- owner names do not match.
-
- o If this status occurred while opening the file, the application attempted to
- open a file that has an owner name assigned to it without specifying the
- correct owner name.
-
- 54 Variable Page Error
-
- During a Get or Step operation, the engine cannot read all or part of the
- variable length portion of a record. The engine returns as much data as
- possible to the application. This status code usually indicates one or more
- pages used to store variable length records is corrupt. Use the RECOVER
- command of the File Manager utility to recover as much data as possible.
-
- 55 Auto Increment Key Error
-
- The application tried to specify either the segmented or duplicate attribute
- for an AUTOINCREMENT key type. This key type cannot be part of a segmented key
- and cannot allow duplicates.
-
- 56 Incomplete Index
-
- An index can be damaged if a Create or Drop Index operation is interrupted
- before it runs to completion. A Drop Index operation must be performed to
- completely remove the damaged index from the file, and then rebuild the index
- with the Create index operation, if so desired.
-
- 58 Compression Buffer Too Short
-
- The application tried to read or write a record that is longer than the value
- specified for the compression buffer. The compression work buffer
- configuration setting must be large enough to accommodate the uncompressed size
- of the largest record to be accessed.
-
- 59 File Already Exists
-
- This status code is returned for the Create operation if the application
- specified that the operation is to fail if the file currently exists.
-
- 60 Reject Count Reached
-
- The engine has rejected the number of records specified before a Get or Step
- Extended operation found the requested number of records that satisfy the
- filtering condition.
-
- 61 Extended Operation Work Space Too Small
-
- Extended operations use a memory buffer as a work space. This status code
- indicates that the buffer is not large enough to accommodate the filtering
- structure and the largest record to be received. Increase the configuration
- setting for the extended operation work buffer.
-
- 62 The descriptor is incorrect
-
- The descriptor (data buffer structure), which is passed for a Get Next
- Extended, Get Previous Extended, Step Next Extended, or Step Previous Extended
- operation, is incorrect. The descriptor length (the first two bytes of the data
- buffer) on the extended operation call must be the exact length of the
- descriptor. This requirement does not apply to the data buffer length option,
- which can still be declared longer than necessary.
-
- On a Stat Extended operation, the signature field in the data buffer is not set
- to 0x74537845, the subfunction is not set to 1, or the namespace field in the
- data buffer is not set to 0.
-
- On a Get Direct/Chunk or Update Chunk operation, the descriptor structure in
- the data buffer is incorrect, or it is inconsistent (either internally or with
- respect to the data buffer length).
-
- 63 Invalid Extended Insert Data Buffer Length
-
- For an Insert Extended operation, the application specified an invalid data
- buffer. Either the buffer length is less than 5, or the number of records
- specified is 0.
-
- 64 Extended Get Filter Limit Reached
-
- During a Get or Step Extended operation, there are no other records which
- satisfy the filtering condition.
-
- 65 Extended Operation Field Offset Incorrect
-
- The field offset in the extractor of a Get or Step Extended operation is
- invalid based on the length of the retrieved record. The field offset must be
- an inclusive value between 0 and the record length minus 1.
-
- 78 Deadlock Condition Detected
-
- The application should clear all resources (for example, by aborting or ending
- the transaction or by releasing all record locks) before proceeding. This
- breaks the deadlock, allowing other clients to access the resources for which
- they are waiting.
-
- 80 Record Level Conflict
-
- The engine did not perform the Update or Delete operation because of a record
- level conflict. For example, client A reads a record, client B reads the same
- record and updates it, and then client A attempts to update the record. Client
- A will receive this status code and must reread the record prior to attempting
- another Update or Delete operation.
-
- 81 Lock Error
-
- This status code can result from one of the following conditions:
-
- o The maximum number of locks available to the client application has been
- reached. Increase the Maximum Locks/Client configuration setting.
-
- o The application tried to unlock one record that is locked with a multiple
- record lock, but the record address specified does not correspond to any
- record locked in the associated file.
-
- o The application tried to unlock a single record lock with a multiple record
- lock or vice versa.
-
- 82 Positioning Lost
-
- When performing a Get Next/Previous operation on a key with duplicates, the
- application tried to retrieve a record that was deleted or has a key value that
- was modified by another application. The application should use a Get Equal or
- Get Direct/Record operation to reestablish positioning.
-
- 83 Record Read Outside Transaction
-
- The application tried to update or delete a record within a transaction, but
- the record was not read within the transaction. The application must read the
- record within the transaction before attempting to modify the data.
-
- 84 Record Is Locked
-
- The application tried to apply a no-wait lock on a record that is currently
- locked by another client, or the application tried to access a file in a
- no-wait transaction while another client holds an active record lock in that
- file.
-
- This staus code can also occur if the application tried to update or delete a
- record locked by another client.
-
- The application can use either of the following recovery methods:
-
- o Retry the operation until it is successful. Under light to moderate network
- use, this may be the simplest and quickest solution.
-
- o Use the wait option instead of the no-wait option.
-
- 85 File Is Locked
-
- Any of the following can cause this status code to occur:
-
- o Another engine has the file opened exclusively.
-
- o Another client application has the file locked in an exclusive transaction.
-
- 86 File Table Full
-
- The engine's open file table is full. Specify a larger value for the Maximum
- Number of Open Files configuration setting.
-
- 87 Handle Table Full
-
- This status code is returned under the follwing conditions:
-
- o The engine's cursor table is full. Each file Open operation by client
- applications generates a new cursor, even though the engine opens the file
- itself only once.
-
- o A file Open operation failed because there are no more file handles available
- to the engine. The engine sets the number of file handles available to it
- based on the Maximum Number of Open Files configuration setting.
-
- 88 Incomaptible Mode Error
-
- If a client application opens a file in Exclusive mode, all other client
- applications receive this status code.
-
- 91 The application encountered a server error
-
- The MicroKernel returns this status code in one of the following situations:
-
- o The Requester cannot establish a session with the server. Either the
- client/server MicroKernel is not loaded or the server is not active.
-
- o The SPX drivers are not installed or are outdated.
-
- o The value for the Number of Sessions configuration option is too low. Use the
- Setup utility to specify a higher value for this option.
-
- o An application specified an incorrect path for a file.
-
- o The Btrieve Message Router has not been loaded, and the following situation
- has occurred: an application that uses both the Btrieve Message Router and
- the MicroKernel to make remote calls has attempted to open a remote file.
- Because the Btrieve Message Router does not interpret the server name, the
- MicroKernel attempts to do so but cannot.
-
- o A communication or network addressing problem exists in your network
- environment, so the MicroKernel requests never reach their destination server
- address. Ensure that your workstation and server network components are up to
- date and certified for your network environment.
-
- 92 Transaction Table Full
-
- The Maximum Number of Concurrent Transactions has been reached. Increase the
- value for this configuration setting.
-
- 93 Incompatible Record Lock
-
- An application tried to mix single-record locks and multiple-record locks. All
- locks of one type must be released before locks of a different type can be
- applied.
-
- 94 Permission Error
-
- The application attempted to open or create a file without the proper
- privileges. The engine does not override any assigned privileges or
- attributes.
-
- 95 Session Lost
-
- The application has lost its session with the engine. This may be due to
- either a communications failure or an engine shutdown while client applications
- were still active.
-
- 96 A communications environment error occurred
-
- The MicroKernel returns this status code for one of the following reasons:
-
- o The user count limit has been exceeded. Either close a session or upgrade
- your user count.
-
- o You tried to attach to the MicroKernel on a server, but the SPX connection
- table or the MicroKernel's client table is full. Use the Setup utility to
- specify a higher value for the Number of Remote Sessions configuration
- option.
-
- o An application that calls the MicroKernel can return this status code in any
- of the following situations:
-
- - Not all of the clients have been properly reset.
-
- - You loaded the MicroKernel with a value that is too small for its Active
- Clients setting. Use the Setup Utility to increase the Active Clients
- configuration option.
-
- - You are using a limited user count version of the MicroKernel, and it has
- reached the maximum number of users.
-
- 97 Communications Buffer Too Small
-
- The buffers used to transfer data between client application and worker threads
- are too small to accommodate the data. Increase the Maximum Record Size
- configuration setting.
-
- 100 No Cache Available
-
- The engine has used all the cache buffers it allocated during initialization.
- Increase the Cache Size configuration setting.
-
- This status code may be the result of many concurrent transactions, or a single
- very large transaction.
-
- 103 Chunk Offset Too Large
-
- A Get Direct/Chunk operation has specified an offset beyond the end of the
- record, either explicitly or through the use of the next-in-record bias to the
- subfunction value. A partial number of chunks may have been returned.
-
- This status code can also be returned by an Update Chunk operation when the
- specified offset is beyond the end of the record. No changes are made to the
- record when this status code is returned.
-
- 104 Locale Information Not Found
-
- The Create or Create Index function returns this status code if the operating
- system was not able to return a collation table for the country ID and code
- page specified.
-
- 105 File Cannot Be Created With Variable Tail Allocation Tables
-
- The application specified that a data file should be created with Variable-tail
- Allocation Tables(VATs); however, the application failed to specify that the
- file uses variable length records (a precondition for using VATs). This status
- code applies to key-only files, as well as regular data files.
-
- 106 Cannot Get Next Chunk
-
- The application called the Get Direct/Chunk operation to retrieve a chunk from
- a record and used the next-in-record bias on the descriptor subfunction.
- However, after the application established its positioning in the record (but
- prior to this call), the target record was deleted.
-
- 107 Pre-6.0 File Cannot Support Chunk Operations
-
- The application tried to use either a Get Direct/Chunk operation or an Update
- Chunk operation on a pre-v6.0 formatted Btrieve file.
-
- 109 Semaphore Create/Access Error
-
- An unknown error was encountered either creating or accessing a semaphore.
-
- 110 The MicroKernel cannot access the archival logging configuration file
-
- The MicroKernel returns this status code for the following reasons:
-
- o The MicroKernel cannot find the BLOG.CFG file. Ensure that the file is in the
- \BLOG directory in a real root directory of the physical drive that contains
- data files you want to log. (That is, do not use a mapped root directory.) If
- your files are on multiple volumes, you must create a \BLOG directory on each
- volume.
-
- o The MicroKernel cannot open the BLOG.CFG file. Either the file is locked or
- it does not exist.
-
- o The MicroKernel cannot read the BLOG.CFG file. Either the file does not use
- the correct format or it is corrupt. Refer to the User's Guide for
- information about the format of the BLOG.CFG file.
-
- 111 The specified filename was not found in the archival logging
- configuration file
-
- The MicroKernel cannot find the specified file in the BLOG.CFG file. The file
- must be specified in the BLOG.CFG file on the same physical drive.
-
- 112 The specified file is in use by another client
-
- Before the MicroKernel can perform a roll forward, the file must be in the same
- state it was in when it was last backed up. If another client changes the file,
- you must restore the file again before rolling forward.
-
- 113 The MicroKernel cannot find the archival log for the specified file
-
- The MicroKernel cannot find the archival log file associated with the specified
- file. By default, the MicroKernel names the archival log file the same as the
- logged file, but with a .LOG extension. However, you can specify a different
- filename for the archival log file in the BLOG.CFG file. Ensure that the
- BLOG.CFG file indicates the correct filename for the archival log and ensure
- that the archival log file exists.
-
- 114 The archival log for the specified file is invalid
-
- The archival log associated with the specified file is not a valid archival log
- file. By default, the MicroKernel names the archival log file the same as the
- logged file, but with a .LOG extension. However, you can specify a different
- filename for the archival log file in the BLOG.CFG file. Ensure that the
- BLOG.CFG file indicates the correct filename for the archival log and ensure
- that the archival log file exists.
-
- 115 The MicroKernel cannot access the archival logging dump file
-
- The MicroKernel cannot access the archival logging dump file for one of the
- following reasons:
-
- o The filename indicated for dumping entries in an archival log is not a valid
- filename. Be sure this filename does not contain a volume specification. The
- dump file is created on the same volume as the log file.
-
- o The caller does not have access rights to the dump file.
-
- o The MicroKernel cannot open the file because another user has opened the file
- using an exclusive operating system lock.
-
- 132 The file has reached its size limit
-
- The MicroKernel returns this status code in one of the following situations:
-
- o An operation attempted to allocate more than 16,777,216 pages to a data file.
-
- o A data file has remained in continuous operation for a lengthy period of
- time, causing its delta file to exceed the operating system limit.
-
- o A pre-v7.0 data file has reached the operating system file size limit.
-
- 133 More than 5 concurrent users attempted to access the same data file
-
- In the Scalable SQL or Btrieve Developer Kit for a workstation environment, you
- attempted to access a data file with more than five MicroKernels at the same
- time. The Scalable SQL Developer Kit and the Btrieve Developer Kit for
- workstation environments limit the number of concurrent users of a file to five
- engines.
-
- 134 The MicroKernel cannot read the International Sorting Rule
-
- The Create or Create Index operation returns this status code if the
- MicroKernel is not able to read the specified International Sorting Rule (ISR)
- for one of the following reasons:
-
- o The ISR is not found in LOCALE.CFG.
-
- o LOCALE.CFG is missing or corrupted.
-
- The Step/Get Next Extended or Step/Get Previous Extended operations can also
- return this status code if the application specifies an ISR to use in string
- comparison and the MicroKernel cannot read the ISR record from LOCALE.CFG.
-
- 136 The MicroKernel cannot find the specified Alternate Collating Sequence in
- the file
-
- The MicroKernel returns this status code in one of the following situations:
-
- o The application tried to create an index by specifying the name of an
- Alternate Collating Sequence ( ACS) and setting the EXISTING_ACS bit.
- However, the MicroKernel could not locate an ACS of the same name within the
- file.
-
- o The application called the Step/Get Next Extended or Step/Get Previous
- Extended operation and specified the name of an ACS to use in the string
- comparison. However, the MicroKernel cannot locate an ACS of the same name
- within the file.
-
- 139 The MicroKernel has detected an unacceptable value in the key number
-
- Certain Btrieve operations either use, or reserve the use of, the key number
- parameter as a subfunction number, rather than as a means to specify the file's
- index to be used with the operation (as is done, for example, in the Get Equal
- operation). This status code is returned if an application does not specify a
- valid subfunction number (via the key number parameter) to one of these
- operations.
-
- 143 The MicroKernel cannot allow unauthorized access to files in a secure
- Scalable SQL database
-
- You attempted to open a data file bound to a Scalable SQL database that has
- security enabled. The MicroKernel does not allow access to such files, except
- through Scalable SQL.
-
- The MicroKernel also returns this status code if you are not using Scalable SQL
- and all of the following are true:
-
- o You attempted to create a file with the Replace option.
-
- o A bound Scalable SQL data file with the same name and location already
- exists.
-
- o The database to which the existing file is bound has security enabled.
-
- 147 The log segment is missing
-
- The MicroKernel cannot find a transaction durability log segment that is
- necessary for rolling at least one file forward.
-
- 148 A roll forward error occurred
-
- The MicroKernel encountered an error while rolling a file forward for
- transaction durability. The MicroKernel displays the error message in the
- console message window and writes the message in the file MKDEMSG.LOG, which is
- located in the home directory
-
- 149 You must use Scalable SQL to make changes to this file
-
- You attempted to write to a Scalable SQL data file for which triggers are
- defined, and you are not using Scalable SQL. You can only make changes to files
- that contain triggers if you are using Scalable SQL.
-
- 2001 DLL Memory Allocation/Access Error
-
- The DLL was not able to allocate enough memory to work, or the DLL failed in
- seeking access to shared memory allocated by the engine. Either free
- additional memory by closing other applications or reduce the memory
- configuration settings for the engine.
-
-
- ΓòÉΓòÉΓòÉ 6. Edit Buffer Dialog ΓòÉΓòÉΓòÉ
-
- The Edit Buffer Dialog is used to view and modify the contents of either the
- key buffer or the data buffer. The buffer is displayed in Hexadecimal and ASCII
- format. Use the scroll bar on the right to scroll through the lines in the list
- box. The Hex Offset window shows the relative position of the displayed lines
- within the buffer. You can edit in either the Hex or the ASCII window.
-
- As you edit the buffer, the changes are immediately visible in the
- corresponding buffer control on the main screen.
-
- GotoOffset
- Allows the user to change the current position. Specify the new position in
- Hex.
-
- Data Length
- Specifies the size of the data buffer parameter. Also shows the amount of
- data returned by the last Btrieve operation. This control is only available
- in the Data Buffer dialog.
-
- Execute
- Tells the Function Executor to make the Btrieve function call as defined by
- the specified parameters.
-
- Clear
- Resets the entire buffer to binary zeros.
-
- Close
- Closes this dialog and returns to the Main screen of the Function Executor.
-
- Help
- Displays this help text.
-
-
- ΓòÉΓòÉΓòÉ <hidden> Help for Select File ΓòÉΓòÉΓòÉ
-
- Browse among your files and select a file to open.
-
- Open filename: Enter the name of the file to open. You may specify wild cards.
-
- Type of File: Select the default format of files from the drop down list.
-
- Drive: Select the drive on which the file to open is located.
-
- File: Displays all the files in the selected drive and directory that match the
- pattern specified in the Open filename field.
-
- Directory: Shows the directory structure for the selected drive. Use this
- information to change the directory while searching for a file.
-
- Select: Select the specified filename and close the screen. The selected file
- name is placed in the key buffer of the Main screen of the Function Executor.
-
- Cancel: Close the screen and return to the Main screen of the Function Executor
- without modifying the key buffer.
-
- Help: Display this help text.
-
-