home *** CD-ROM | disk | FTP | other *** search
/ Datatid 1999 #6 / Datatid_1999-06.iso / internet / Tango352Promo / P.SQL / PTKPKG.1 / OS2FEXEC.HLP (.txt) < prev    next >
Encoding:
OS/2 Help File  |  1998-09-30  |  32.7 KB  |  1,180 lines

  1.  
  2. ΓòÉΓòÉΓòÉ 1. Using Help ΓòÉΓòÉΓòÉ
  3.  
  4. To access the help system within the Function Executor you can either press the 
  5. Help button or the F1 key from within any of the screens. For information on 
  6. how to use the OS/2 help system, press F1 from within the help system. 
  7.  
  8.  
  9. ΓòÉΓòÉΓòÉ 2. Overview ΓòÉΓòÉΓòÉ
  10.  
  11. The Function Executor (OS2FEXEC.EXE) is an interactive workstation utility that 
  12. allows you to perform Btrieve operations without writing an application. This 
  13. is useful for two groups of people. 
  14.  
  15. First, you may find it useful if you need to learn how the various Btrieve 
  16. operations work. 
  17.  
  18. Secondly, you can simulate the operations of a Btrieve application, which helps 
  19. in testing and debugging the application. 
  20.  
  21. Related Topics: 
  22.  Main Window 
  23.  Example Operations 
  24.  
  25.  
  26. ΓòÉΓòÉΓòÉ 3. Example Operations ΓòÉΓòÉΓòÉ
  27.  
  28. Below are a few examples of the steps you must perform to execute Btrieve 
  29. operations within the Function Executor. Refer to the Btrieve Programmer's 
  30. Manual for more detailed information on the required parameters for each 
  31. operation. 
  32.  
  33. Open File 
  34.    Select the Open(0) operation in the Operation List. Enter the path of the 
  35.    Btrieve compatible file you want to open in the Key Buffer. Note that the 
  36.    Browse button allows you to select a file for the Open operation. Enter the 
  37.    Open Mode in the Key Number (0 is Normal Mode). If the file has an owner 
  38.    name, enter the owner name in the Data Buffer. Press the Execute Button to 
  39.    perform the operation. If successful (Status = 0), the Open Files list box 
  40.    will be updated and you can now perform other Btrieve operations on the 
  41.    file. If the operation is not successful, the Status message will give a 
  42.    brief description of the problem. Refer to the Status Codes Help or the 
  43.    Installation and Operations manual for more detailed information. 
  44.  
  45. Insert Record 
  46.    Open the file (see above). Select the Insert(2) operation. Modify the Data 
  47.    Buffer to contain the data to insert in the new record. Specify the length 
  48.    of the data to insert in the Data Length. Press the Execute Button. 
  49.  
  50. Get First 
  51.    Open the file (see above). Select the Get First(12) operation. Set the Key 
  52.    Number to the number of the index you wish to use in fetching the record. 
  53.    Set the Data Length to a value greater than or equal to the length of the 
  54.    record you want to retrieve. Select the appropriate lock bias (0 for no 
  55.    lock). Press the Execute Button. If successful, the Microkernel will return 
  56.    the requested record in the Data Buffer, store the corresponding key value 
  57.    in the Key Buffer, and set the Data Length to the size of the record 
  58.    returned. 
  59.  
  60. Get Next 
  61.    Open the file (see above). Perform a Get First (see above). Select the Get 
  62.    Next(24) operation. Use the key value and key number from the previous Get 
  63.    First operation. Set the Data Length to the length of the record being 
  64.    retrieved. Select the appropriate lock bias (0 for no lock). If you choose 
  65.    to perform multiple Step Next operations, you can set the To Do control to 
  66.    the number of times to repeat the operation. Press the Execute Button. If 
  67.    successful, the Microkernel will return the requested record in the Data 
  68.    Buffer, store the corresponding key value in the Key Buffer, and set the 
  69.    Data Length to the size of the record returned. 
  70.  
  71. Set Owner 
  72.    Open the file (see above). Select the Set Owner(29) operation. Store the 
  73.    owner name in both the Data Buffer and the Key Buffer. Set the Data Length 
  74.    to be the size of the owner name. Set the Key Number to the type of access 
  75.    restriction you want to define (0,1,2,3: See the Btrieve Programmer's Manual 
  76.    for a detailed description ). Press the Execute Button. 
  77.  
  78. File Statistics 
  79.    Open the file (see above). Select the Stat(15) operation. Set the Data 
  80.    Length to be large enough to hold the file's specification structure (Refer 
  81.    to the specification structure used by the Create operation in the Btrieve 
  82.    Programmer's Manual for details). Set the Key Number to 0 for the standard 
  83.    statistics structure or -1 for the new structure (which includes the file's 
  84.    version information). Press the Execute Button. If successful, the 
  85.    Microkernel will copy the file's specification structure to the Data Buffer 
  86.    and set the Data Length to the length of the data. 
  87.  
  88.  
  89. ΓòÉΓòÉΓòÉ 4. Main Window ΓòÉΓòÉΓòÉ
  90.  
  91. Using the Main Screen 
  92.  
  93. The main screen of the Function Executor screen allows the user to edit and 
  94. view the various parameters used when performing a Btrieve operation. Refer to 
  95. the Btrieve programmer's Manual for a detailed explanation of what parameters 
  96. are used for each operation, valid parameter values, etc. 
  97.  
  98. Open Files 
  99.    This drop down list shows all the files currently open in this session of 
  100.    the Function Executor. The Function Executor keeps track of the data in all 
  101.    of the controls for each open file. It resets the controls to match the 
  102.    current state of the data for the selected file. To start a new file, you 
  103.    choose "Scratch Buffers". This enables you to create a new file without 
  104.    overwriting existing key buffers. 
  105.  
  106. Transaction 
  107.    Tells you whether your current Function Executor session is in a Btrieve 
  108.    transaction. The possible values for this field are: 
  109.  
  110.    No             No transaction is in progress. 
  111.  
  112.    Exclusive      An application begins an exclusive transaction when it 
  113.                   inserts, updates, or deletes a record in a file. To do this, 
  114.                   an application executes the Begin Transaction (19) operation. 
  115.                   Other users can open and read the file but cannot modify its 
  116.                   contents. 
  117.  
  118.    Concurrent     An application begins a concurrent transaction by executing 
  119.                   the Begin Transaction (19) operation with a bias value of 
  120.                   1,000. Btrieve may lock either records or pages depending on 
  121.                   the operation the application performs. This implementation 
  122.                   enables other users to modify different parts of the same 
  123.                   file simultaneously, as long as the modifications do not 
  124.                   affect previously locked portions of the file. 
  125.  
  126.    Conc+ModLk     An application begins a concurrent transaction by executing 
  127.                   the Begin Transaction (19) operation with a no-wait lock on 
  128.                   modification bias (+500). Users from within a concurrent 
  129.                   transaction can read locked information, but users within an 
  130.                   exclusive transaction cannot. Also, users cannot apply a lock 
  131.                   to any read operations on locked files, records, or pages. 
  132.  
  133. Execute 
  134.    Signals the Function Executor to make the Btrieve function call as defined 
  135.    by the specified parameters. 
  136.  
  137. Help 
  138.    Displays this help text. 
  139.  
  140. Operation Group Box 
  141. This set of controls relates to the Btrieve operation you want to perform how 
  142. many times to execute the operation, and the status code returned by the 
  143. Microkernel Engine. 
  144.  
  145. Current 
  146.    Enter the number of the operation to perform next in this edit field. When 
  147.    you enter an operation code, the List field is updated with the selected 
  148.    value. 
  149.  
  150. Last 
  151.    This field displays the number of the last operation that was performed for 
  152.    the selected open file. 
  153.  
  154. List 
  155.    Select an operation. This drop down list shows the names and operation codes 
  156.    for all Btrieve operations. When you make a selection, the Current operation 
  157.    field will be updated with the selected value. 
  158.  
  159. Browse 
  160.    Locate a Btrieve-compatible file to open. This button displays a file 
  161.    selection dialog. This button is enabled only when the Current operation is 
  162.    an Open. 
  163.  
  164. Get Key Bias (+50) 
  165.    To perform a Key-Only read operation (no data is returned in the data 
  166.    buffer), use this check box to add 50 to the Current operation. 
  167.  
  168. Modify Lock Bias (+500) 
  169.    To perform no-wait insert, update, and delete operations from within the 
  170.    transaction, use this check box to add 500 to a Begin Transaction operation. 
  171.  
  172. Read Lock Bias 
  173.    This list box provides five lock-bias choices. These biases enable you to 
  174.    resolve conflicts that can occur at the record, page, or file level when 
  175.    multiple clients or applications attempt to access the same records at the 
  176.    same time. See the Btrieve Programmer's Manual for a more detailed 
  177.    description of when to use these biases. Below is a brief description of the 
  178.    available biases. 
  179.  
  180.    No Lock                     No bias is added to the operation code. 
  181.  
  182.    Single Wait (+100)          Instructs Btrieve to place a lock on a single 
  183.                                record. If the record is already locked, Btrieve 
  184.                                will wait until the record is available to 
  185.                                return to the application. 
  186.  
  187.    Single No Wait (+200)       Instructs Btrieve to place a lock on a single 
  188.                                record. If the record is already locked, Btrieve 
  189.                                will immediately return with a status code. 
  190.  
  191.    Multiple Wait (+300)        Instructs the MKDE to place add a record lock to 
  192.                                the current set of locks. If the record is 
  193.                                already locked, the MKDE will wait until the 
  194.                                record is available to return to the 
  195.                                application. 
  196.  
  197.    Multiple No Wait (+400)     Instructs the MKDE to place add a recod lock to 
  198.                                the current set of locks. If the record is 
  199.                                already locked, the MKDE will immediately return 
  200.                                with a status code. 
  201.  
  202. To Do 
  203.    Enter the number of times you want to repeat this operation when the Execute 
  204.    button is pressed. 
  205.  
  206. Done 
  207.    Shows the number of times the current operation has been performed, up to 
  208.    the number of times specified in the To Do edit field. 
  209.  
  210. Status 
  211.    Shows the resulting status after the operation is executed. 
  212.  
  213. Status Help 
  214.    Use this button to get more information on the status returned by the 
  215.    current operation. If the status is zero, this button is disabled. 
  216.  
  217. Buffer Group Box 
  218. This set of controls allows the user to modify and view the key and data buffer 
  219. parameters. 
  220.  
  221. Key Number 
  222.    Enter the key number to be used on the next operation. 
  223.  
  224. Data Length 
  225.    Enter the size of the data buffer for the next operation. This field also 
  226.    shows the amount of data returned in the data buffer after the operation is 
  227.    executed. 
  228.  
  229. Key 
  230.    Shows a portion of the key buffer. Use the arrow keys and the home and end 
  231.    keys to scroll through the information. 
  232.  
  233. Position 
  234.    Shows the position of the cursor in the Key Buffer field. 
  235.  
  236. Edit Key 
  237.    Displays a screen for detailed viewing and editing of the key buffer. 
  238.  
  239. Data 
  240.    Shows a portion of the data buffer. Use the arrow keys and the home and end 
  241.    keys to scroll through the information. 
  242.  
  243. Position 
  244.    Shows the position of the cursor in the Data Buffer field. 
  245.  
  246. Edit Data 
  247.    Displays a screen for detailed viewing and editing of the data buffer. 
  248.  
  249. Related Help Topics 
  250. Edit Buffer Dialog 
  251.  
  252.  
  253. ΓòÉΓòÉΓòÉ 5. Btrieve Status Codes ΓòÉΓòÉΓòÉ
  254.  
  255. Following is a short description of all Btrieve status codes. For more detailed 
  256. information please see the Btrieve Installation and Operations manual. 
  257.  
  258. 0    No Error 
  259.  
  260. The operation completed successfully. 
  261.  
  262. 1    Invalid Function 
  263.  
  264. The application has requested an invalid operation. 
  265.  
  266. 2    I/O Error 
  267.  
  268. The MKDE encountered an unexpected error while reading from or writing to the 
  269. file.  The file may be damaged, and if so it must be recreated. 
  270.  
  271. 3    File Not Open 
  272.  
  273. The operation cannot be executed because the file is not open. 
  274.  
  275. 4    Key Value Not Found 
  276.  
  277. The MKDE cannot find the specified key value in the index path. 
  278.  
  279. 5    Duplicate Key Value 
  280.  
  281. The MKDE cannot add or update a record for the designated index because the 
  282. record has a key field that contains a duplicate key value, and the index does 
  283. not allow duplicate keys. 
  284.  
  285. 6    Invalid Key Number 
  286.  
  287. The value stored in the key number parameter is not valid for the file being 
  288. accessed.  The key number must correspond to one of the keys defined for the 
  289. file. Valid key numbers are 0 through 118. 
  290.  
  291. 7    Different Key Number 
  292.  
  293. The key number parameter changed before a Get, Update, or Delete operation. The 
  294. operation requires the same key number parameter as the previous operation 
  295. because the engine uses positioning information relative to the previous key 
  296. number. 
  297.  
  298. If you need to change key numbers between consecutive Get, Update, or Delete 
  299. operations, use a Get Position operation followed by a Get Direct/Record 
  300. operation to reestablish positioning for the new index path. 
  301.  
  302. 8    Invalid Positioning 
  303.  
  304. The current position must be established to update or delete a record. Perform 
  305. a Get or Step operation to establish the current position. 
  306.  
  307. This status code may also be returned if the application passed an invalid 
  308. position block for the file. 
  309.  
  310. 9    End Of File 
  311.  
  312. This status code indicates one of the following conditions has occurred: 
  313.  
  314. o The operation encountered a file boundary either at the beginning or the end 
  315.   of the file. 
  316.  
  317. o In an extended Step or Get operation, the number of records satisfying the 
  318.   filtering condition is less than the number of specified records to be 
  319.   returned, and the reject count has not been reached. 
  320.  
  321. o When reading a file in ascending order according to an index path, the engine 
  322.   has already returned the last record in that index path.  When reading a file 
  323.   in descending order according to an index path, the engine has already 
  324.   returned the first record in the index path. 
  325.  
  326. o When using the Get By Percentage operation, either the value supplied for the 
  327.   percentage is too high - that is, it exceeds 10,000 decimal (0x2710)  - or 
  328.   the file contains no records. 
  329.  
  330. 10    Modifiable Key Value Error 
  331.  
  332. During an update operation, an attempt was made to modify a key field that is 
  333. defined as nonmodifiable. 
  334.  
  335. 11    Invalid Filename 
  336.  
  337. The filename specified does not conform to file naming conventions.  Make sure 
  338. the filename is valid for the environment. 
  339.  
  340. 12    File Not Found 
  341.  
  342. The specified filename does not exist.  Verify that the file path and name are 
  343. correct. 
  344.  
  345. 13    The MicroKernel could not open the extension file for an extended file 
  346.  
  347. The MicroKernel could not open the extension file for an extended file that the 
  348. application tried to open. For v7.0 and later MicroKernels, an extended file 
  349. can consist of a base file and up to 15 extension files. Extension files must 
  350. remain in the same volume and directory as their base files. The MicroKernel 
  351. returns this status code if you delete, move, or rename the extension files. 
  352.  
  353. 14    Pre-Image Create/Open Error 
  354.  
  355. Pre-image files are used only with files either created by a pre-v6.0 engine or 
  356. by a v6.x engine, if the Create Files Using v5.x format configuration setting 
  357. was selected. 
  358.  
  359. Possible causes for this status code: 
  360.  
  361. o The engine cannot create a new pre-image file because the disk is full. 
  362.  
  363. o The engine cannot open the pre-image file to restore file integrity. If the 
  364.   pre-image file is erased or damaged, the engine cannot restore the file's 
  365.   integrity.  In this case, either use the RECOVER command in the File Manager 
  366.   utility to retrieve the file's data records in a sequential file or replace 
  367.   the data file with a recent backup. 
  368.  
  369. o The engine does not have access rights to the pre-image file. 
  370.  
  371. 15    Pre-Image I/O Error 
  372.  
  373. Pre-image files are used only with files either created by a pre-v6.0 engine or 
  374. by a v6.x engine if the Create Files Using v5.x format configuration setting 
  375. was selected. 
  376.  
  377. This status code indicates either the disk is full or the pre-image file is 
  378. damaged.  When this status code occurs, proceed as follows: 
  379.  
  380. o If the disk is full, create additional free space by deleting any unnecessary 
  381.   files. 
  382.  
  383. o If the pre-image file is damaged, the integrity of the data file cannot be 
  384.   ensured. Either use the RECOVER command in the File Manager utility or 
  385.   replace the file with its most recent backup. 
  386.  
  387. 17    Close Error 
  388.  
  389. The engine encountered an error while attempting to close a file. Check for a 
  390. disk hardware failure. 
  391.  
  392. 18    Disk Full 
  393.  
  394. The disk is full, and the file cannot be expanded to accommodate additional 
  395. records. 
  396.  
  397. 19    Unrecoverable Error 
  398.  
  399. To ensure file integrity, either use the RECOVER command in the File Manager 
  400. utility to retrieve the damaged file's data in a sequential file or replace the 
  401. data file with its most recent backup. 
  402.  
  403. 20    MKDE Inactive 
  404.  
  405. The MKDE is not active.  If autostarting the engine, make sure that the 
  406. interface DLL can find the engine.  The DLL uses the home directory specified 
  407. in the OS/2 system file OS2.INI to attempt to locate the engine.  This 
  408. directory location is set by the engine and can be altered through the engine 
  409. option settings. 
  410.  
  411. To temporarily override, or establish, the home directory specification, you 
  412. can use an environment variable to specify an alternate directory as the home 
  413. directory.  If the MKDE cannot detect a currently set home directoy in OS2.INI, 
  414. it will write it there based on the directory specified in the environment 
  415. variable. 
  416.  
  417. To set this environment variable, use the following command: 
  418.  
  419.    SET BTRINTF=/H:drive:\path 
  420.  
  421. Substitute the drive letter and directory path for where the home directory is 
  422. to be. 
  423.  
  424. 22    Data Buffer Length Error 
  425.  
  426. The application's data buffer is not large enough to accommodate the length of 
  427. the data record defined when the file was created.  In this situation, the 
  428. engine returns as much data as possible, given the size of the application's 
  429. data buffer. 
  430.  
  431. 24    Page Size Error 
  432.  
  433. There are two possible reasons for receiving this status code: 
  434.  
  435. o The page size is invalid.  The page size must be a multiple of 512 bytes and 
  436.   cannot exceed 4,096 bytes. 
  437.  
  438. o During a Create operation, the page size is the first file specification the 
  439.   engine checks.  A status code of 24 at this point may indicate an invalid 
  440.   data buffer parameter. 
  441.  
  442. Versions of the engine earlier than v6.1 can return this status code from the 
  443. Open operation. In this case, the engine cannot open the file because the 
  444. file's page size exceeds the Largest Page Size configuration option. To 
  445. successfully open the file, you must increase the value of the Largest Page 
  446. Size configuration option and then reload the engine.  The v6.1 engine does not 
  447. return this status code on the Open operation. 
  448.  
  449. 25    Create I/O Error 
  450.  
  451. If the application is creating a file over an existing file, the engine returns 
  452. this status code when the existing file is open, or when the operating system 
  453. prevents the operation for some other reason (for example, because the file has 
  454. a read-only attribute). 
  455.  
  456. 26    Invalid Number Of Keys 
  457.  
  458. The number of keys specified for the page size is invalid.  The following 
  459. number of key segments must be within the following limits: 
  460.  
  461.  
  462.  Page Size       Max Key Segments
  463.  ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  464.  512             8
  465.  ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  466.  1,024           23
  467.  ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  468.  1,536           24
  469.  ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  470.  2,408           54
  471.  ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  472.  2,560           54
  473.  ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  474.  3,072           54
  475.  ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  476.  3,584           54
  477.  ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  478.  4,096           119
  479.  
  480. 27    Invalid Key Position 
  481.  
  482. The key field position specified is less than 1 or exceeds the defined record 
  483. length for the file.  Either the key position is greater than the record length 
  484. or the key position plus the key lengths exceeds the total record length. 
  485.  
  486. 28    Invalid Record Length 
  487.  
  488. The record length specified (plus overhead for duplicate, record usage count, 
  489. variable record pointers, record length, and blank truncation information) must 
  490. be less than or equal to the page size minus 8 bytes, and greater than or equal 
  491. to 4 bytes. 
  492.  
  493. 29    Invalid Key Length 
  494.  
  495. The key length specified must be greater than 0 but cannot exceed 255 bytes. 
  496. The length of a binary key must be an even number.  The engine requires that 
  497. each key page in the file be large enough to hold at least 8 keys. 
  498.  
  499. If the page size is too small to accommodate 8 occurrences of the specified key 
  500. length (plus overhead), either increase the file's page size or decrease the 
  501. key length. 
  502.  
  503. 30    Not A MKDE Compatible File 
  504.  
  505. Either the MKDE did not create the file, or a version of Btrieve earlier than 
  506. v3.x created it. 
  507.  
  508. This status code may also indicate that the first page of the file is damaged. 
  509. Use a backup copy of the data file. 
  510.  
  511. 35    Directory Error 
  512.  
  513. Either a Get Directory operation specified a drive that does not exist, or a 
  514. Set Directory operation specified an invalid pathname.  Check the validity of 
  515. both drive and directory path. 
  516.  
  517. 36    Transaction Error 
  518.  
  519. The engine tried to perform a Begin Transaction operation without the engine 
  520. being configured to allow transactions.  If the maximum concurrent transactions 
  521. configuration setting is set to 0, the engine cannot allow transactions. 
  522.  
  523. 37    Transaction Is Active 
  524.  
  525. The application has issued a Begin Transaction operation while another 
  526. transaction was active by the same client.  The engine does not accommodate 
  527. nesting transactions. 
  528.  
  529. 38    Transaction Control File I/O Error 
  530.  
  531. The engine encountered an error when it tried to write to the transaction 
  532. control file.  Possible causes for receiving this status code are that the disk 
  533. is full, the disk is write protected, the transaction control file (MKDE.TRN) 
  534. that is created when the engine is initialized has been deleted or the 
  535. transaction control file has a read only attribute. 
  536.  
  537. 39    End/Abort Transaction Error 
  538.  
  539. The application issued an End or Abort Transaction operation without a 
  540. corresponding Begin Transaction operation. 
  541.  
  542. 41    Operation Not Allowed 
  543.  
  544. This status code is returned for one of the following reasons: 
  545.  
  546. o The application tried to perform an operation that is not allowed at this 
  547.   time.  The engine does not allow some operations under ceratin operating 
  548.   conditions.  For example, the engine returns this status code if the 
  549.   application attempts to perform a Set operation on a key-only file or a Get 
  550.   operation on a data-only file. 
  551.  
  552. o The key number parameter of a continuous operation is 0, 1, or 2. 
  553.  
  554. Also, the engine prohibits certain operations during transactions because they 
  555. have too great an effect on the file or on the engine's performance.  The 
  556. operations include Close, Set Owner, Clear Owner, Create Index, or Drop Index. 
  557.  
  558. 42    Incomplete Accelerated Access 
  559.  
  560. Either the application tried to open a v5.x format file that was previously 
  561. opened in Accelerated mode by a v5.x engine and never successfully closed, or 
  562. the application tried to open a file for which the v6.x engine encountered an 
  563. unrecoverable error during a Set or Clear Owner operation.  The file's 
  564. integrity cannot be ensured.  Either use the RECOVER command in the File 
  565. Manager utility to build a new file or restore the file using the latest 
  566. backup. 
  567.  
  568. 43    Invalid Record Address 
  569.  
  570. This status code is returned for one of the following reasons: 
  571.  
  572. o The record address specified for a GetDirect/Record operation is invalid. The 
  573.   address is outside the file's boundaries, it is not on a record boundary 
  574.   within a data page or on a data page, or the record at the specified address 
  575.   has been deleted. 
  576.  
  577. o If v5.x format files are shared among multiple engines in a networked 
  578.   environment, this status code may indicate a file access conflict.  For 
  579.   example, workstation 1 has a file locked in an exclusive transaction. 
  580.   Workstation 2 is reading records from the same file and tries to update a 
  581.   record that the workstation 1 transaction either inserted or updated.  If 
  582.   workstation 2 reads the record and then workstation 1 aborts the transaction, 
  583.   workstation 2 receives this status code when issuing the Update operation. 
  584.  
  585. o For a Find Percentage operation that is seeking a percentage based on a 
  586.   record's physical location within the file, the specified address is invalid. 
  587.  
  588. o The file may be corrupt, and you must rebuild it. 
  589.  
  590. 44    Null Key Path 
  591.  
  592. The application tried to use the Get Direct/Record operation to establish an 
  593. index path for a key whose value is null in the corresponding record.  The 
  594. engine cannot establish positioning based on a null key value. 
  595.  
  596. 45    Inconsistent Key Flags 
  597.  
  598. The key flags specification on a Create operation is inconsistent.  If the key 
  599. has multiple segments, the duplicate, modifiable, and null attributes should be 
  600. the same for each segment in the key.  Also, you cannot use the Null or Manual 
  601. key attributes in a key-only file. 
  602.  
  603. This status code is also returned if an attempt is made to specify a different 
  604. alternate collating sequence for two or more segments of a segmented key. 
  605.  
  606. 46    Access To File Denied 
  607.  
  608. This status code is returned for one of the following reasons: 
  609.  
  610. o The application opened a file in read-only mode and tried to perform an 
  611.   Insert, Update, or Delete operation on that file. 
  612.  
  613. o An attempt was made to perform an Insert, Update, or Delete operation on a 
  614.   file with a read-only attribute. 
  615.  
  616. o The owner name required for updates was not specified correctly. 
  617.  
  618. 48    Invalid Alternate Collating Sequence Definition 
  619.  
  620. The first byte of an alternate collating sequence definition file (the 
  621. identification byte) does not contain the hexadecimal value 0xAC.  Make sure 
  622. the file contains the proper value. 
  623.  
  624. 49    The extended key type is invalid 
  625.  
  626. The MicroKernel returns this status code for one of the following reasons: 
  627.  
  628. o You tried to create a file or an index with an invalid extended key type, or 
  629.   you are trying to assign an ACS to a BINARY key or key segment. You can 
  630.   assign an ACS only to a STRING, LSTRING, or ZSTRING key type. 
  631.  
  632. o You defined an index requiring an ACS, but no ACS definition exists (either 
  633.   in the file or in the key definition passed in the data buffer). 
  634.  
  635. o You attempted to create a key segment with both the Case Insensitivity and 
  636.   the Alternate Collating Sequence flags set, and the MicroKernel is configured 
  637.   to create files in v5.x format. This combination is invalid for v5.x files. 
  638.  
  639. o You attempted to create a file that contains multiple ACSs, but you are 
  640.   running a pre-v6.1 MicroKernel. Only v6.1 and later MicroKernels support 
  641.   multiple ACSs. 
  642.  
  643. o You are running a v6.x or later MicroKernel with the Create Files Version 
  644.   option set to v5.x, and you attempted to create a file with a NUMERICSA or 
  645.   NUMERICSTS key. Pre-v6.1 files do not support these key types. 
  646.  
  647. o You set the default file creation format to v6.x, but you are using one of 
  648.   the new Btrieve v7.0 data types, such as CURRENCY. 
  649.  
  650. 50    Owner Already Set 
  651.  
  652. The application tried to perform a Set Owner operation on a file that already 
  653. has an owner.  The Clear Owner operation must be performed to remove the 
  654. previous owner before specifying a new one. 
  655.  
  656. 51    Invalid Owner 
  657.  
  658. The possible causes for this status code are as follows: 
  659.  
  660. o If the application received this status code from a Set Owner operation, the 
  661.   owner names do not match. 
  662.  
  663. o If this status occurred while opening the file, the application attempted to 
  664.   open a file that has an owner name assigned to it without specifying the 
  665.   correct owner name. 
  666.  
  667. 54    Variable Page Error 
  668.  
  669. During a Get or Step operation, the engine cannot read all or part of the 
  670. variable length portion of a record.  The engine returns as much data as 
  671. possible to the application.  This status code usually indicates one or more 
  672. pages used to store variable length records is corrupt.  Use the RECOVER 
  673. command of the File Manager utility to recover as much data as possible. 
  674.  
  675. 55    Auto Increment Key Error 
  676.  
  677. The application tried to specify either the segmented or duplicate attribute 
  678. for an AUTOINCREMENT key type.  This key type cannot be part of a segmented key 
  679. and cannot allow duplicates. 
  680.  
  681. 56    Incomplete Index 
  682.  
  683. An index can be damaged if a Create or Drop Index operation is interrupted 
  684. before it runs to completion.  A Drop Index operation must be performed to 
  685. completely remove the damaged index from the file, and then rebuild the index 
  686. with the Create index operation, if so desired. 
  687.  
  688. 58    Compression Buffer Too Short 
  689.  
  690. The application tried to read or write a record that is longer than the value 
  691. specified for the compression buffer.  The compression work buffer 
  692. configuration setting must be large enough to accommodate the uncompressed size 
  693. of the largest record to be accessed. 
  694.  
  695. 59    File Already Exists 
  696.  
  697. This status code is returned for the Create operation if the application 
  698. specified that the operation is to fail if the file currently exists. 
  699.  
  700. 60    Reject Count Reached 
  701.  
  702. The engine has rejected the number of records specified before a Get or Step 
  703. Extended operation found the requested number of records that satisfy the 
  704. filtering condition. 
  705.  
  706. 61    Extended Operation Work Space Too Small 
  707.  
  708. Extended operations use a memory buffer as a work space.  This status code 
  709. indicates that the buffer is not large enough to accommodate the filtering 
  710. structure and the largest record to be received.  Increase the configuration 
  711. setting for the extended operation work buffer. 
  712.  
  713. 62    The descriptor is incorrect 
  714.  
  715. The descriptor (data buffer structure), which is passed for a Get Next 
  716. Extended, Get Previous Extended, Step Next Extended, or Step Previous Extended 
  717. operation, is incorrect. The descriptor length (the first two bytes of the data 
  718. buffer) on the extended operation call must be the exact length of the 
  719. descriptor. This requirement does not apply to the data buffer length option, 
  720. which can still be declared longer than necessary. 
  721.  
  722. On a Stat Extended operation, the signature field in the data buffer is not set 
  723. to 0x74537845, the subfunction is not set to 1, or the namespace field in the 
  724. data buffer is not set to 0. 
  725.  
  726. On a Get Direct/Chunk or Update Chunk operation, the descriptor structure in 
  727. the data buffer is incorrect, or it is inconsistent (either internally or with 
  728. respect to the data buffer length). 
  729.  
  730. 63    Invalid Extended Insert Data Buffer Length 
  731.  
  732. For an Insert Extended operation, the application specified an invalid data 
  733. buffer.  Either the buffer length is less than 5, or the number of records 
  734. specified is 0. 
  735.  
  736. 64    Extended Get Filter Limit Reached 
  737.  
  738. During a Get or Step Extended operation, there are no other records which 
  739. satisfy the filtering condition. 
  740.  
  741. 65    Extended Operation Field Offset Incorrect 
  742.  
  743. The field offset in the extractor of a Get or Step Extended operation is 
  744. invalid based on the length of the retrieved record.  The field offset must be 
  745. an inclusive value between 0 and the record length minus 1. 
  746.  
  747. 78    Deadlock Condition Detected 
  748.  
  749. The application should clear all resources (for example, by aborting or ending 
  750. the transaction or by releasing all record locks) before proceeding. This 
  751. breaks the deadlock, allowing other clients to access the resources for which 
  752. they are waiting. 
  753.  
  754. 80    Record Level Conflict 
  755.  
  756. The engine did not perform the Update or Delete operation because of a record 
  757. level conflict.  For example, client A reads a record, client B reads the same 
  758. record and updates it, and then client A attempts to update the record. Client 
  759. A will receive this status code and must reread the record prior to attempting 
  760. another Update or Delete operation. 
  761.  
  762. 81    Lock Error 
  763.  
  764. This status code can result from one of the following conditions: 
  765.  
  766. o The maximum number of locks available to the client application has been 
  767.   reached.  Increase the Maximum Locks/Client configuration setting. 
  768.  
  769. o The application tried to unlock one record that is locked with a multiple 
  770.   record lock, but the record address specified does not correspond to any 
  771.   record locked in the associated file. 
  772.  
  773. o The application tried to unlock a single record lock with a multiple record 
  774.   lock or vice versa. 
  775.  
  776. 82    Positioning Lost 
  777.  
  778. When performing a Get Next/Previous operation on a key with duplicates, the 
  779. application tried to retrieve a record that was deleted or has a key value that 
  780. was modified by another application.  The application should use a Get Equal or 
  781. Get Direct/Record operation to reestablish positioning. 
  782.  
  783. 83    Record Read Outside Transaction 
  784.  
  785. The application tried to update or delete a record within a transaction, but 
  786. the record was not read within the transaction.  The application must read the 
  787. record within the transaction before attempting to modify the data. 
  788.  
  789. 84    Record Is Locked 
  790.  
  791. The application tried to apply a no-wait lock on a record that is currently 
  792. locked by another client, or the application tried to access a file in a 
  793. no-wait transaction while another client holds an active record lock in that 
  794. file. 
  795.  
  796. This staus code can also occur if the application tried to update or delete a 
  797. record locked by another client. 
  798.  
  799. The application can use either of the following recovery methods: 
  800.  
  801. o Retry the operation until it is successful.  Under light to moderate network 
  802.   use, this may be the simplest and quickest solution. 
  803.  
  804. o Use the wait option instead of the no-wait option. 
  805.  
  806. 85    File Is Locked 
  807.  
  808. Any of the following can cause this status code to occur: 
  809.  
  810. o Another engine has the file opened exclusively. 
  811.  
  812. o Another client application has the file locked in an exclusive transaction. 
  813.  
  814. 86    File Table Full 
  815.  
  816. The engine's open file table is full.  Specify a larger value for the Maximum 
  817. Number of Open Files configuration setting. 
  818.  
  819. 87    Handle Table Full 
  820.  
  821. This status code is returned under the follwing conditions: 
  822.  
  823. o The engine's cursor table is full.  Each file Open operation by client 
  824.   applications generates a new cursor, even though the engine opens the file 
  825.   itself only once. 
  826.  
  827. o A file Open operation failed because there are no more file handles available 
  828.   to the engine.  The engine sets the number of file handles available to it 
  829.   based on the Maximum Number of Open Files configuration setting. 
  830.  
  831. 88    Incomaptible Mode Error 
  832.  
  833. If a client application opens a file in Exclusive mode, all other client 
  834. applications receive this status code. 
  835.  
  836. 91    The application encountered a server error 
  837.  
  838. The MicroKernel returns this status code in one of the following situations: 
  839.  
  840. o The Requester cannot establish a session with the server. Either the 
  841.   client/server MicroKernel is not loaded or the server is not active. 
  842.  
  843. o The SPX drivers are not installed or are outdated. 
  844.  
  845. o The value for the Number of Sessions configuration option is too low. Use the 
  846.   Setup utility to specify a higher value for this option. 
  847.  
  848. o An application specified an incorrect path for a file. 
  849.  
  850. o The Btrieve Message Router has not been loaded, and the following situation 
  851.   has occurred: an application that uses both the Btrieve Message Router and 
  852.   the MicroKernel to make remote calls has attempted to open a remote file. 
  853.   Because the Btrieve Message Router does not interpret the server name, the 
  854.   MicroKernel attempts to do so but cannot. 
  855.  
  856. o A communication or network addressing problem exists in your network 
  857.   environment, so the MicroKernel requests never reach their destination server 
  858.   address. Ensure that your workstation and server network components are up to 
  859.   date and certified for your network environment. 
  860.  
  861. 92    Transaction Table Full 
  862.  
  863. The Maximum Number of Concurrent Transactions has been reached.  Increase the 
  864. value for this configuration setting. 
  865.  
  866. 93    Incompatible Record Lock 
  867.  
  868. An application tried to mix single-record locks and multiple-record locks. All 
  869. locks of one type must be released before locks of a different type can be 
  870. applied. 
  871.  
  872. 94    Permission Error 
  873.  
  874. The application attempted to open or create a file without the proper 
  875. privileges.  The engine does not override any assigned privileges or 
  876. attributes. 
  877.  
  878. 95    Session Lost 
  879.  
  880. The application has lost its session with the engine.  This may be due to 
  881. either a communications failure or an engine shutdown while client applications 
  882. were still active. 
  883.  
  884. 96    A communications environment error occurred 
  885.  
  886. The MicroKernel returns this status code for one of the following reasons: 
  887.  
  888. o The user count limit has been exceeded. Either close a session or upgrade 
  889.   your user count. 
  890.  
  891. o You tried to attach to the MicroKernel on a server, but the SPX connection 
  892.   table or the MicroKernel's client table is full. Use the Setup utility to 
  893.   specify a higher value for the Number of Remote Sessions configuration 
  894.   option. 
  895.  
  896. o An application that calls the MicroKernel can return this status code in any 
  897.   of the following situations: 
  898.  
  899.    - Not all of the clients have been properly reset. 
  900.  
  901.    - You loaded the MicroKernel with a value that is too small for its Active 
  902.      Clients setting. Use the Setup Utility to increase the Active Clients 
  903.      configuration option. 
  904.  
  905.    - You are using a limited user count version of the MicroKernel, and it has 
  906.      reached the maximum number of users. 
  907.  
  908. 97    Communications Buffer Too Small 
  909.  
  910. The buffers used to transfer data between client application and worker threads 
  911. are too small to accommodate the data. Increase the Maximum Record Size 
  912. configuration setting. 
  913.  
  914. 100   No Cache Available 
  915.  
  916. The engine has used all the cache buffers it allocated during initialization. 
  917. Increase the Cache Size configuration setting. 
  918.  
  919. This status code may be the result of many concurrent transactions, or a single 
  920. very large transaction. 
  921.  
  922. 103   Chunk Offset Too Large 
  923.  
  924. A Get Direct/Chunk operation has specified an offset beyond the end of the 
  925. record, either explicitly or through the use of the next-in-record bias to the 
  926. subfunction value.  A partial number of chunks may have been returned. 
  927.  
  928. This status code can also be returned by an Update Chunk operation when the 
  929. specified offset is beyond the end of the record.  No changes are made to the 
  930. record when this status code is returned. 
  931.  
  932. 104   Locale Information Not Found 
  933.  
  934. The Create or Create Index function returns this status code if the operating 
  935. system was not able to return a collation table for the country ID and code 
  936. page specified. 
  937.  
  938. 105   File Cannot Be Created With Variable Tail Allocation Tables 
  939.  
  940. The application specified that a data file should be created with Variable-tail 
  941. Allocation Tables(VATs); however, the application failed to specify that the 
  942. file uses variable length records (a precondition for using VATs). This status 
  943. code applies to key-only files, as well as regular data files. 
  944.  
  945. 106   Cannot Get Next Chunk 
  946.  
  947. The application called the Get Direct/Chunk operation to retrieve a chunk from 
  948. a record and used the next-in-record bias on the descriptor subfunction. 
  949. However, after the application established its positioning in the record (but 
  950. prior to this call), the target record was deleted. 
  951.  
  952. 107   Pre-6.0 File Cannot Support Chunk Operations 
  953.  
  954. The application tried to use either a Get Direct/Chunk operation or an Update 
  955. Chunk operation on a pre-v6.0 formatted Btrieve file. 
  956.  
  957. 109   Semaphore Create/Access Error 
  958.  
  959. An unknown error was encountered either creating or accessing a semaphore. 
  960.  
  961. 110   The MicroKernel cannot access the archival logging configuration file 
  962.  
  963. The MicroKernel returns this status code for the following reasons: 
  964.  
  965. o The MicroKernel cannot find the BLOG.CFG file. Ensure that the file is in the 
  966.   \BLOG directory in a real root directory of the physical drive that contains 
  967.   data files you want to log. (That is, do not use a mapped root directory.) If 
  968.   your files are on multiple volumes, you must create a \BLOG directory on each 
  969.   volume. 
  970.  
  971. o The MicroKernel cannot open the BLOG.CFG file. Either the file is locked or 
  972.   it does not exist. 
  973.  
  974. o The MicroKernel cannot read the BLOG.CFG file. Either the file does not use 
  975.   the correct format or it is corrupt. Refer to the User's Guide for 
  976.   information  about the format of the BLOG.CFG file. 
  977.  
  978. 111   The specified filename was not found in the archival logging 
  979. configuration file 
  980.  
  981. The MicroKernel cannot find the specified file in the BLOG.CFG file. The file 
  982. must be specified in the BLOG.CFG file on the same physical drive. 
  983.  
  984. 112   The specified file is in use by another client 
  985.  
  986. Before the MicroKernel can perform a roll forward, the file must be in the same 
  987. state it was in when it was last backed up. If another client changes the file, 
  988. you must restore the file again before rolling forward. 
  989.  
  990. 113   The MicroKernel cannot find the archival log for the specified file 
  991.  
  992. The MicroKernel cannot find the archival log file associated with the specified 
  993. file. By default, the MicroKernel names the archival log file the same as the 
  994. logged file, but with a .LOG extension. However, you can specify a different 
  995. filename for the archival log file in the BLOG.CFG file. Ensure that the 
  996. BLOG.CFG file indicates the correct filename for the archival log and ensure 
  997. that the archival log file exists. 
  998.  
  999. 114   The archival log for the specified file is invalid 
  1000.  
  1001. The archival log associated with the specified file is not a valid archival log 
  1002. file. By default, the MicroKernel names the archival log file the same as the 
  1003. logged file, but with a .LOG extension. However, you can specify a different 
  1004. filename for the archival log file in the BLOG.CFG file. Ensure that the 
  1005. BLOG.CFG file indicates the correct filename for the archival log and ensure 
  1006. that the archival log file exists. 
  1007.  
  1008. 115   The MicroKernel cannot access the archival logging dump file 
  1009.  
  1010. The MicroKernel cannot access the archival logging dump file for one of the 
  1011. following reasons: 
  1012.  
  1013. o The filename indicated for dumping entries in an archival log is not a valid 
  1014.   filename. Be sure this filename does not contain a volume specification. The 
  1015.   dump file is created on the same volume as the log file. 
  1016.  
  1017. o The caller does not have access rights to the dump file. 
  1018.  
  1019. o The MicroKernel cannot open the file because another user has opened the file 
  1020.   using an exclusive operating system lock. 
  1021.  
  1022. 132   The file has reached its size limit 
  1023.  
  1024. The MicroKernel returns this status code in one of the following situations: 
  1025.  
  1026. o An operation attempted to allocate more than 16,777,216 pages to a data file. 
  1027.  
  1028. o A data file has remained in continuous operation for a lengthy period of 
  1029.   time, causing its delta file to exceed the operating system limit. 
  1030.  
  1031. o A pre-v7.0 data file has reached the operating system file size limit. 
  1032.  
  1033. 133   More than 5 concurrent users attempted to access the same data file 
  1034.  
  1035. In the Scalable SQL or Btrieve Developer Kit for a workstation environment, you 
  1036. attempted to access a data file with more than five MicroKernels at the same 
  1037. time. The Scalable SQL Developer Kit and the Btrieve Developer Kit for 
  1038. workstation environments limit the number of concurrent users of a file to five 
  1039. engines. 
  1040.  
  1041. 134   The MicroKernel cannot read the International Sorting Rule 
  1042.  
  1043. The Create or Create Index operation returns this status code if the 
  1044. MicroKernel is not able to read the specified International Sorting Rule (ISR) 
  1045. for one of the following reasons: 
  1046.  
  1047. o The ISR is not found in LOCALE.CFG. 
  1048.  
  1049. o LOCALE.CFG is missing or corrupted. 
  1050.  
  1051. The Step/Get Next Extended or Step/Get Previous Extended operations can also 
  1052. return this status code if the application specifies an ISR to use in string 
  1053. comparison and the MicroKernel cannot read the ISR record from LOCALE.CFG. 
  1054.  
  1055. 136   The MicroKernel cannot find the specified Alternate Collating Sequence in 
  1056. the file 
  1057.  
  1058. The MicroKernel returns this status code in one of the following situations: 
  1059.  
  1060. o The application tried to create an index by specifying the name of an 
  1061.   Alternate Collating Sequence ( ACS) and setting the EXISTING_ACS bit. 
  1062.   However, the MicroKernel could not locate an ACS of the same name within the 
  1063.   file. 
  1064.  
  1065. o The application called the Step/Get Next Extended or Step/Get Previous 
  1066.   Extended operation and specified the name of an ACS to use in the string 
  1067.   comparison. However, the MicroKernel cannot locate an ACS of the same name 
  1068.   within the file. 
  1069.  
  1070. 139   The MicroKernel has detected an unacceptable value in the key number 
  1071.  
  1072. Certain Btrieve operations either use, or reserve the use of, the key number 
  1073. parameter as a subfunction number, rather than as a means to specify the file's 
  1074. index to be used with the operation (as is done, for example, in the Get Equal 
  1075. operation). This status code is returned if an application does not specify a 
  1076. valid subfunction number (via the key number parameter) to one of these 
  1077. operations. 
  1078.  
  1079. 143   The MicroKernel cannot allow unauthorized access to files in a secure 
  1080. Scalable SQL database 
  1081.  
  1082. You attempted to open a data file bound to a Scalable SQL database that has 
  1083. security enabled. The MicroKernel does not allow access to such files, except 
  1084. through Scalable SQL. 
  1085.  
  1086. The MicroKernel also returns this status code if you are not using Scalable SQL 
  1087. and all of the following are true: 
  1088.  
  1089. o You attempted to create a file with the Replace option. 
  1090.  
  1091. o A bound Scalable SQL data file with the same name and location already 
  1092.   exists. 
  1093.  
  1094. o The database to which the existing file is bound has security enabled. 
  1095.  
  1096. 147   The log segment is missing 
  1097.  
  1098. The MicroKernel cannot find a transaction durability log segment that is 
  1099. necessary for rolling at least one file forward. 
  1100.  
  1101. 148   A roll forward error occurred 
  1102.  
  1103. The MicroKernel encountered an error while rolling a file forward for 
  1104. transaction durability. The MicroKernel displays the error message in the 
  1105. console message window and writes the message in the file MKDEMSG.LOG, which is 
  1106. located in the home directory 
  1107.  
  1108. 149   You must use Scalable SQL to make changes to this file 
  1109.  
  1110. You attempted to write to a Scalable SQL data file for which triggers are 
  1111. defined, and you are not using Scalable SQL. You can only make changes to files 
  1112. that contain triggers if you are using Scalable SQL. 
  1113.  
  1114. 2001   DLL Memory Allocation/Access Error 
  1115.  
  1116. The DLL was not able to allocate enough memory to work, or the DLL failed in 
  1117. seeking access to shared memory allocated by the engine.  Either free 
  1118. additional memory by closing other applications or reduce the memory 
  1119. configuration settings for the engine. 
  1120.  
  1121.  
  1122. ΓòÉΓòÉΓòÉ 6. Edit Buffer Dialog ΓòÉΓòÉΓòÉ
  1123.  
  1124. The Edit Buffer Dialog is used to view and modify the contents of either the 
  1125. key buffer or the data buffer. The buffer is displayed in Hexadecimal and ASCII 
  1126. format. Use the scroll bar on the right to scroll through the lines in the list 
  1127. box. The Hex Offset window shows the relative position of the displayed lines 
  1128. within the buffer. You can edit in either the Hex or the ASCII window. 
  1129.  
  1130. As you edit the buffer, the changes are immediately visible in the 
  1131. corresponding buffer control on the main screen. 
  1132.  
  1133. GotoOffset 
  1134.    Allows the user to change the current position. Specify the new position in 
  1135.    Hex. 
  1136.  
  1137. Data Length 
  1138.    Specifies the size of the data buffer parameter. Also shows the amount of 
  1139.    data returned by the last Btrieve operation. This control is only available 
  1140.    in the Data Buffer dialog. 
  1141.  
  1142. Execute 
  1143.    Tells the Function Executor to make the Btrieve function call as defined by 
  1144.    the specified parameters. 
  1145.  
  1146. Clear 
  1147.    Resets the entire buffer to binary zeros. 
  1148.  
  1149. Close 
  1150.    Closes this dialog and returns to the Main screen of the Function Executor. 
  1151.  
  1152. Help 
  1153.    Displays this help text. 
  1154.  
  1155.  
  1156. ΓòÉΓòÉΓòÉ <hidden> Help for Select File ΓòÉΓòÉΓòÉ
  1157.  
  1158. Browse among your files and select a file to open. 
  1159.  
  1160. Open filename: Enter the name of the file to open. You may specify wild cards. 
  1161.  
  1162. Type of File: Select the default format of files from the drop down list. 
  1163.  
  1164. Drive: Select the drive on which the file to open is located. 
  1165.  
  1166. File: Displays all the files in the selected drive and directory that match the 
  1167. pattern specified in the Open filename field. 
  1168.  
  1169. Directory: Shows the directory structure for the selected drive. Use this 
  1170. information to change the directory while searching for a file. 
  1171.  
  1172. Select: Select the specified filename and close the screen. The selected file 
  1173. name is placed in the key buffer of the Main screen of the Function Executor. 
  1174.  
  1175. Cancel: Close the screen and return to the Main screen of the Function Executor 
  1176. without modifying the key buffer. 
  1177.  
  1178. Help: Display this help text.
  1179.  
  1180.