ANOMALIES UPLOADED ON MAY 8, 1989 ANOMALY8.TXT The following listing addresses seven known anomalies when using dBASE IV. Use of these techniques will aid you in avoiding anomalies that have been reported to our Software Support Center. This report will be supplemented as new information is received. There is also one Usage Tip that may be used in order to avoid further problems or misunderstandings when using the dBASE IV product. ************************************************************************************* ANOMALIES SET FIELDS/example contains errors The example in "Set Commands", page 3-49 of Language Reference for the SET FIELDS TO command contains several errors. In the first example, the fourth line is supposed to be a TALK response. Therefore, the fourth and fifth lines should be as follows: Stock: Record 10 . LIST NEXT 5 In the second example there are two errors. The USE command should come first, and the SET FIELDS command contains unnecessary periods. The first and second lines should be as follows: . USE Client . SET FIELDS TO ALL LIKE *name* ================================================================================ FORM/Calculated fields based on other calculated fields Defining a calculated field during CREATE/MODIFY SCREEN based upon another calculated field (that was defined in the current screen), will result in a "Variable not found" error message. This limitation does not exist in CREATE/MODIFY REPORT. EXAMPLE: Create a screen and define a calculated field that uses an existing numeric field in its expression and call it C1. Then attempt to define another calculated field using the expression, C1 * 1. The operation aborts with the aforementioned error. WORKAROUND: Prior to creation of a screen, define a calculated field for C1. USE Sales SET FIELDS TO Item,c1=Item * 2 && Item is a numeric field CREATE SCREEN Sales Defining another calculated field based upon C1 will not return the "Variable not found" error message. ================================================================================ LOG()/usage incorrectly explained The explanation of the LOG() function is incorrect in "Functions" page 4-72 of Language Reference. In the section titled "Usage" it should state that: where y is the numeric expression used by the LOG() function. . . . LOG() returns the value of x, . . . " When y=e^x, then LOG(y)=x. For a referral, the description of LOG() was correct in the dBASE III Plus manual, page U 6-50. ================================================================================ SET FILTER TO FILE/allows only III+ .QRYs To maintain compatibility with dBASE III Plus, dBASE IV allows the SET FILTER TO FILE syntax. The documentation in "Set commands" page 3-50 of Language Reference explains that this command, "reads the filter condition from a file created by CREATE/MODIFY QUERY." This is misleading, since the queries can only be those created in dBASE III Plus (.QRY files). Queries created in dBASE IV (with the extension .QBE), cannot be set via SET FILTER TO FILE. dBASE IV .QBE files can be activated via SET VIEW TO <.QBE or .VUE query filename>. ================================================================================ Report Forms named "Detail" will not run If a report is named "DETAIL", the Detail.FRO file will crash with an "Incorrect number of parameters" message when the report is run. No error is returned until the report is run. WORKAROUND: 1) Name report anything but "DETAIL". 2) A fix for this error is now available in the REPORT.GEN file dated after 12-9-88, available from The Ashton-Tate Bulletin Board, and CompuServe. ================================================================================ CONVERT an encrypted file corrupts any locked records When a file is encrypted and CONVERTed (or CONVERTed and encrypted), and an RLOCK() is executed, any record that is locked becomes corrupted. It is important that you identify the chronology of actions made to the file so as to successfully retrieve the original unencrypted, unconverted file. WORKAROUND: If the file in question was converted and then encrypted, the original .DBF file can be retrieved by copying the .CVT file to .DBF. If the file was encrypted and then converted, the record information is lost. (unless the user has made a backup of the original .DBF file). ================================================================================ USAGE-TIP APPEND FROM with large number of index tags The speed of the APPEND FROM command is markedly affected by the number of index tags designated in the production .MDX of the active database file. As the number of active index tags increase, the APPEND process will take much longer. Since a production .MDX file is always opened when a file is USEd, all tags will have to be updated during an APPEND. For the best performance, limit the total number of index tags to only those fields or expressions that are most commonly required for daily operations. An .NDX or non-production .MDX can be created or maintained for rarely used index key expressions. If using an .NDX file, close the .NDX before APPENDing, then open the index and REINDEX. If an .MDX file is desired, use a non-production .MDX and close it during the APPEND operation.