Bugs
The following is a list of known or suspected bugs within ACL. While we are defining them as bugs, not all are considered bugs. In fact, often times a "bug" when known or understood can be used productively.
Bug: Dialog Boxes
Author: Porter Broyles
Description: If you have dialog boxes in your script and you use variables in those dialog boxes, you do not want edit the dialog box when the variables are defined. If the variables are defined, and you edit a dialog box, then the script will be rewritten with the contents of the variables hard coded where you thought the variable was located.
Benefit: If you are working on a script with variables in a dialog box, it can be frustrating having to contantly enter in the data over and over again. Rather than entering the same data repeatedly, you can hard code the answers. Likewise, if you write a code that is "universal" but installed for a specific project, you can then intentially use this bug to permanently preserve the values as default values within the project itself!
Bug: Excel Load Bug
Author: Porter Broyles
Description: When loading Access/XML/Excel Files, you can't load the file. This probably is not the result of a bug within ACL, but rather a lack of a key component on your system. In order to load these files, you have to have MDAC (Microsoft Data Access Components) 2.6 or higher on your system. This is downloadable from Microsoft. This issue is often encountered shortly after upgrading ACL or another program on your system wherein the MDAC was deleted or corrupted.
Bug: Foreign CharactersAuthor: Porter Broyles
Description: When using foreign characters in a code, the code will operate correctly, but will destroy the project when the project is reopened.
Bug: FILESIZE() Author: Porter Broyles
Description: The FILESIZE() function is a command that is designed to provide the size of the a file. It can be used to verify that a file exists on one's hard drive or confirm that a table exists. It can also be used to determine the size of a file. If the command gives the result of "-1" it indicates that the file does not exist. Unfortunately, the command does not work. Eventhough the file exists, ACL will return the value of -1.
Cause: Unknown, but I suspect it is similar to the Presort Bug described below. I've only encountered this when I've aborted scripts and the fix is to restart ACL.
Bug: Hidden Character's affect on DO WHILE sequences
Author: Porter Broyles
Description: A character not visible to human eyes can sometimes be copied onto a script. If this happens in a DO WHILE sequence, it can cause the WHILE conditional not to be read.
Bug: Join Fields
Author: Porter Broyles
Description: ACL allows for fields to have up 32 characters in their field names. When a table is joined to a second table with the same field name, the new field name is appended with the number 2. In other words, if two tables with a field name "User_name" were joined together, ACL will call the field from the primary table "User_name" and the field from the secondary table "User_name2". This works out fine. Due to the limitations on field name lengths, however, if a field had 32 characters in in, then logically the 32nd character will be converted to a 2, with the first 31 characters remaining identical.
Unfortunately, this is not how ACL joins tables with a length over 32 characters, instead the first table will remain the same, but the second table will be truncated down to the first 17 characters and a 2 added as the 18th character! This can create problems with tables wherein the first 17 characters are identical and unique identification only occurs in the last 15 characters! If two fields from the secondary table are truncated down to the first 17 characters plus a 2, then the same field name might be used twice. When the same field name is used twice, ACL will replace the existing field with the new field. This can create a data/integrity loss.
Bug: Presort Bug
Author: Porter Broyles
Description: If you stop a command while a presort command is in operation, then you will have to quit ACL before running another command with a presort. When ACL initiates a Presort, it places a cookie of some sort on your computer. When the presort is complete, the cookie is removed. If the cookie isn't removed, furture presorts will error out.
Benefit: There is no known way to use this bug.
Bug: PdF Load Error
Author: Porter Broyles
Description: Files loaded into ACL via PdF can have problems as PdF files may contain actual data that appears to be truncated to fit certain sizes when in reality the entire data contents are preserved by the PdF.
Bug: Recoffset BugAuthor: David Coderre
Description: Take any file with a field called Name and define:
name_a as recoffset(name,1)
name1 as substr(recoffset(name,1),1,1)
name2 as substr(recoffset(name,1),2,1)
Look at the last record: name_a will be blank; name1 will be blank; but name2 will be the second letter of name even though the recoffset(name,1) is blank.
Title: The SET Bug
Author: Porter Broyles
Summary: While not really a bug, a lack of familiarity with this command can have negative consequences to your ACL experience.
Bug: SAP Load
Author: Jakob Saga
Description: I sometimes download tables from SAP which contains text fields (eg. descriptions of some special postings). Whenever the user entered two consecutive ## the .fil file becomes corrupted. Usually some blanks are inserted followed by a return. This shifts the following line at least one character forward. The error ID from ACL: ID 407
Bug: Two Screen Bug
Author: Porter Broyles
Description: If you use multiple screens while using ACL (eg two or more monitors) you may encounter a bug where the computer freezes. If you encounter that bug, follow the instructions here to fix it.
BUG: ZONE() in a Unicode Environment
Author:GJH from the ACL User Forum
Description: When using the ZONE() function with the Unicode version of ACL, you will get faulty results.
Solution: Embed the ZONE() function within the BINTOSTR( ) function.
DISCLAIMER:
Neither ACL TexasACL nor the script writers warranty or guarantee the effectiveness or reliability of any information or scripts provided herein. Users are advised to validate the effectiveness/reliability on their own.