Category Archives: ACL

My Python Journey, Part 2

python programmingIn my previous Python post, I described the first steps of my python journey.

In this post, I want to respond to Grant’s comments that he left here re: auditors getting into programming, and specifically python.

[For my readers who don’t know, Grant is the founder, President and Chief Architect of Arbutus Software Inc, which specializes in audit analytics (he usually doesn’t mention that he was involved in writing the first versions of ACL too).

So his words have experience to back them up, and while I’m flattered he pops in here and there to comment on my little blog, I don’t hesitate to disagree with him occasionally .]

Continue reading

Advertisement

3 Comments

Filed under ACL, artificial intelligence (ai), Audit, Data Analytics, Data Science, Machine Learning, Scripting (ACL), Technology

Most Popular Blog Posts of 2021

most popular posts 2021Here’s a look back at the most popular blog posts of 2021 according to the number of times readers opened those posts. It’s been a long time since I’ve done a best blogs post…

Some of these posts are oldies, and yet they are still pulling in plenty of traffic. Check out the list, and see if you missed any of them, especially new readers.

Continue reading

Leave a comment

Filed under ACL, Audit, Blogging, Certification, Data Analytics, Employment, Excel, Free, Free Download, How to..., Security, Technology

ACL Table Already Open error message

acl table leggyOh, I hate the Table Already Open ACL error message with a passion.

And the Command Cancelled message (see the end of this post regarding that message).

Usually, it means I did something stupid, and I can figure out what, and fix it pretty fast.

Sometimes I have to scratch my head for quite some time before I figure it out.

I wrote a post in 2017 about Deleting ACL Table Covers A Multitude of Sins. This post is an expansion of that post, but mainly focuses on the “Table Already Open” error.

Continue reading

2 Comments

Filed under ACL, Audit, Data Analytics, How to...

My Favorite ACL Tricks

Here’s a couple of my favorite ACL tricks & treats that I use frequently to get me through the day a little faster and a little less frustrated.

These tricks are the kind that they don’t teach you in class or in tutorials (at least I’ve never learned any of them there; maybe I was in the bathroom during that session); I either figured them out on my own or had someone say, “Let me show you something.”


The Command Line

When I train someone in ACL, the command line is one of the first bonus items to which I draw their attention. The command line allows you to run individual ACL commands without using the ACL menu or scripts.

To open the command line: in the menu bar, click Window, Command Line. This will appear:

You can run most ACL commands from the command line, such as OPEN a table, ASSIGN a variable value, and lots more (the commands can be entered in lower/upper/camel case, but I use uppercase in this post to help them stand out).

My 2 most frequently used command are listed below.

DISPLAY – list the fields in a table, along with their start position, length, and more.

To run this command, 1) open the table you want to run this command against, and 2) enter the command in yellow in the command line, and press Enter.

Note that the last line shows you a computed field and the formula behind it.

DISPLAY VARIABLES – list all currently active variables, their type/format, and their values.

To run the following command, just enter it in the command line, and press Enter.

Note that user-defined variables (v_record and v_table) are shown, along with system variables (OUTPUTFOLDER and WRITE1). If you’re not familiar with ACL system variables, look them up in the ACL help file (it will be worth your time).

Note that 2 of the variables are character (C) type and 2 are numeric (N).

This command is extremely helpful when you are troubleshooting variables.

Bonus: Instead of DISPLAY, you can type DIS; instead of DISPLAY VARIABLES, you can type DIS VAR. Much shorter!

Bonus #2: Another useful use of the command line is to enter variable values. For example, if you have a NOTIFY command at the end of a script that will send an email if v_Run_Notify = “Y”, you can enter v_Run_Notify = “N” in the command line and press Enter to change the variable value and prevent the NOTIFY command from running while you test changes to your script.

Open a Table You Can’t Find

Sometimes I can’t find a table because I don’t remember (or know) which ACL folder it is hiding in (the folder in your project, not a Windows folder on your hard drive).

If you know the name of the table, you can just type OPEN <tablename> and press Enter (where <tablename> is the name of the table you want to open). When I don’t remember the table name or I’m too lazy to type it out, I copy the name from the ACL log or a script that uses it, and copy it to the command line.

When the table opens, you can then see what folder the table was hiding in (the folder is not shown in screenshot below).

Clear the Command Line

When you use the command line a lot, you have to clear it before entering another command. Instead of backspacing and deleting the text, or highlighting and deleting the text, just click the X at the far right.

Likewise, instead of pressing Enter after entering a command, you can click the checkmark.

Table History

When you’re working on a big project that contains many different tables, sometimes it’s hard to remember how that table was created. Or you haven’t opened the ACL project in a while, or you have to troubleshoot or review a project someone else created.

So what table(s) were used to create that table, and what filters/joins were used to create it? How many records did the original table contain?

I used to hunt through the ACL log or the scripts to find all that info, but for the most part, it’s all in the table history.

To access a table’s history, 1) open the table you’re interested in, and 2) from the menu bar, select Tools, Table History. You’ll see something like this:

The first line shows the original table (PcardTransactions) and the FILTER used. The second line shows the filtered data (all fields) was extracted to a new table (PCardUSA).

The third line shows number of records in the original table (Input) and the fourth line shows the number of resulting records (Output) in the extracted table.

If a JOIN was used, the table history would list the primary and secondary tables as well as the JOIN command parameters used.

The other nice thing is that you can take a screenshot of the table history and use it for documentation or evidence.

Bonus: Instead of selecting Tools, History from the menu, you can type DIS HIS in the command line, and press ENTER. Same results!

If you have some ACL tricks up your sleeve, let me know.

5 Comments

Filed under ACL, Audit, Data Analytics, Free, How to..., Scripting (ACL)

Another Nail in ACL’s Coffin

Diligent’s acquisition of Galvanize (ACL) is another nail in the ACL analytics coffin.

First, ACL acquired another company and created Galvanize. And we were told governance, risk, and compliance (GRC) would never be the same.

And I told you that ACL analytics would never be the same. In fact, I predicted that this acquisition meant that ACL analytics was dying (when I say ACL analytics, I’m referring to the Windows desktop version that they built the original company on).

For more on this, see ACL Officially Changes Name & Spots  and Is ACL Analytics Dying?

Continue reading

25 Comments

Filed under ACL, Audit, Data Analytics, Scripting (ACL), Technology, Written by Skyyler

Mack-the-Auditor Gets Audited! Part 3

Review ACL log

This is the third of 3 posts; this post describes how I audited the auditors and my perspective on the whole thing.

Read the first post (background) and the second post (audit results).

Continue reading

1 Comment

Filed under ACL, Audit, Case Files, Data Analytics, Scripting (ACL)

Mack-the-Auditor Gets Audited! Part 2

Review ACL log

This is the second of 3 posts; this post describes the audit, some speed bumps, and the audit results.

Read the first post here, which provides the background on the audit and the audit’s scope.

Continue reading

1 Comment

Filed under ACL, Audit, Case Files, Data Analytics, Scripting (ACL)

Mack-the-Auditor Gets Audited! Part 1

Review ACL logUsually, I’m the one doing the auditing, but this time, I (Mack) was the one who was audited.

It was a great experience for me.

Well, sort of. No one likes being audited (ahem). But it gave me a fresh perspective of how others feel when I audit them.

This is the first of 3 posts; this post contains some background info on the project that was audited, and the second one discusses the audit and the results, and in the third post, I describe my perspective on the whole thing, and some takeaways.

Continue reading

1 Comment

Filed under ACL, Audit, Case Files, Data Analytics, Scripting (ACL)

Is ACL Analytics Dying?

Spiral deathI fear that ACL Analytics is dying, and has been as long as I’ve been ranting about it.

Making Laurie Schultz their CEO helped, but I don’t think it has been enough.

NOTE: I wrote this well over a month ago, long before I posted the ACL Officially Changes Name & Spots post; I just got sidetracked and forgot about this post. I stumbled across it today in my Drafts folder. I decided to publish it ‘posthumously’ (so to speak) to show 1) how much I’m agonizing over ACL’s direction, 2) how I’ve always felt about ACL’s software, and 3) provide some balance to my previous post.

Continue reading

20 Comments

Filed under ACL, Audit, Data Analytics, Written by Skyyler

ACL Officially Changes Name & Spots

It’s official: ACL is changing its name AND its spots.

I’ve claimed several times that ACL has left its first love (analytics) and doesn’t put enough work into their flagship product, ACL Analytics.

Correction: their FORMER flagship product.

At least they are publicly admitting it finally–they NO LONGER are an ANALYTICS company!

Continue reading

10 Comments

Filed under ACL, Data Analytics, Excel, Technology, Written by Skyyler

ACL Desktop Gone in 5 Years?

Rumors have it that ACL will no longer be available on the desktop (laptop, or other local machine) in 5 years.

That is, according to an ACL user who attended the 2018 ACL Connections conference.

Continue reading

3 Comments

Filed under ACL, Audit, Data Analytics, Scripting (ACL), Written by Skyyler

ACL Robotics is NOT Robotics

RPA the robotContrary to what ACL has been touting as their new ‘robotics’ feature, it is NOT robotics process automation (RPA).

[The ‘robotics’ feature is due out later in 2018. It appears to be ACL’s latest attempt to get you to use their GRC software.]

ACL, via John Verver, defines the term this way in his RPA article: “The idea is a relatively simple one: get computers to perform tasks normally performed by humans, and cut resource and time requirements for many repetitive activities.” Continue reading

4 Comments

Filed under ACL, Audit, Data Analytics, Scripting (ACL), Technology

ACL Tip: Be Careful when Renaming Tables

acl table leggy




When you need to rename ACL tables, be careful to also rename the associated .fil file also.

Otherwise, you (or your ACL script) might get confused. You might delete the wrong table or .fil file, and create a head-scratching problem.

I know because I confused myself.

Continue reading

Leave a comment

Filed under ACL, Audit, Data Analytics, How to..., Scripting (ACL)

The Analytic Staircase for Auditors

analytic staircase stepsBuilding a successful audit analytics program is like climbing a staircase.

The staircase is a set of steps that consist of several items having increasing levels of maturity.

The staircase steps not only help you build your program, but enable you to measure that maturity.

As you view the staircase graphic, mentally insert the word “analytics” before each step.

Continue reading

3 Comments

Filed under ACL, Audit, Data Analytics, How to..., Technology, Written by Skyyler

5 Things We Need from ACL in 2018

5 thingsHere’s the 5 things I’m hoping will change in 2018 regarding ACL.

They are all related to each other and feed off each other…

Interesting.

Continue reading

9 Comments

Filed under ACL, Audit, Data Analytics, Excel, Scripting (ACL), Technology, Written by Skyyler

Quick Introduction to ACL

If you’ve ever wondered what Audit Command Language (ACL) is, here’s a quick way to find out.

ACL has provided a quick, one-page introduction to ACL. And I mean quick.

It doesn’t explain a lot, but it gives you a quick peek at the basic user interface.

You could call it the ACL Overview for Dummies.

Continue reading

3 Comments

Filed under ACL, Audit, Data Analytics, Technology

Audit Automation is NOT all Automation

audit automation ACLSome Chief Audit Executives (CAEs) and audit managers tend to think that audit automation is a set-it-and-forget-it process. NOT.

In this post, I want to expand on a problem I mentioned in an earlier post , 10 Signs Mgmt Doesn’t Really Support Analytics.

Audit management too often thinks that once a process or an audit is automated, ALL auditor/staff hours previously spent performing that process can be reassigned elsewhere.

That is not the case at all.

Continue reading

3 Comments

Filed under ACL, Audit, Data Analytics, Scripting (ACL), Security, Technology, Written by Skyyler

Deleting ACL Table Covers A Multitude of Sins

Delete ACL table problemI’m not sure why, but sometimes deleting an ACL table or two covers a multitude of sins, errors, or just plain weird behavior.

No, I don’t get any error messages. That’s the strange part.

I’m talking about strange ACL behavior that you can’t troubleshoot by reviewing the log.

Continue reading

2 Comments

Filed under ACL, How to..., Scripting (ACL)

Robotics to Replace ACL, Part 2

robot replace ACLPreviously I wrote Will Robotics (RPA) Replace ACL?

The short answer is no, and I describe the reasons in that post.

But that doesn’t mean someone won’t try.

Shortly after I wrote my original robotics post, I encountered robotics vs. ACL, part 2.

Continue reading

2 Comments

Filed under ACL, Audit, Scripting (ACL), Technology

Some of my Favorites

Since some of you are newer to the blog, I thought I’d bring a couple of my favorite posts to your attention.

Continue reading

Leave a comment

Filed under ACL, Audit, How to..., Security, Technology, Top 10

ACL Import Fails, No Error?

import errorToday I was adding a new table to a scripted ACL project and kept getting an error.

This project automatically opens a folder on the LAN, reads the files in the folder, and loads all of them.

All I did was add one more file to the folder. ACL refused to load that one file.

Syntax error.

WTS?

Continue reading

1 Comment

Filed under ACL, Audit, Data Analytics, Scripting (ACL), Technology

How to Review Your ACL Log

Review ACL logWhether you script your projects or use menu commands, you need to review your ACL log carefully.

Good analysts review their results and the log as they work in ACL, after they think they are done, and have others review their log before the ACL project is relied upon.

(You can’t imagine the dumb mistakes my team and I found that saved us a lot of embarrassment later.)

Continue reading

3 Comments

Filed under ACL, Data Analytics, How to..., Scripting (ACL), Written by Skyyler

Why You Should Run ACL in a Virtual Machine

virtual machineRunning the desktop version of ACL in a virtual machine* (VM) has so many advantages, but I haven’t heard anyone else doing it.

Consider the following advantages, listed in order of importance (to me):

Continue reading

11 Comments

Filed under ACL, Audit, Data Analytics, Technology

#1 Reason for NOT Doing Data Analytics

Do you know the #1 reason auditors don’t do data analytics (DA) much?

It is so simple, so obvious, I hesitated to blog about it. Let me know if you agree.

Continue reading

10 Comments

Filed under ACL, Audit, Data Analytics, Scripting (ACL), Technology, Written by Skyyler

ACL: Automate Active Directory Downloads

Here’s a way to automate the download of data from Active Directory (AD), specifically group members, into ACL using adfind and the ACL Execute command.

I’ll walk you through it step-by-step.

This was posted before ACL released their own Active Directory driver, which I still haven’t figured out.

Even if you don’t use ACL, you might gain a better understanding of AD and LDAP in general….

Continue reading

2 Comments

Filed under ACL, Audit, How to..., Scripting (ACL), Technology, Written by Skyyler

Review of ACL Excel Add-in, Now FREE! (NOT)

In case you missed it, ACL released the next version of their Acerno product, renamed it ACL Excel Add-in, and made it FREE!  2021 UPDATE – it doesn’t look like it’s free any more; requires ACL subscription.

UPDATE – I’m guessing that since this product never caught on, they only give it away to subscribers – go figure.

So I thought I’d update my review.

For my original review of Acerno, see A Review of ACL Acerno. It still seems that I’m the only one who ever took the time to review the product (versus marketing blurbs, which are all over the ‘net), which appears to be a statement regarding its popularity.

Despite the poor popularity, since they updated it AND made it free, I decided to dive in for another look.

Note: This add-in is not just for auditors! Any one who regularly reviews data should consider using this simple, EASY-to-use software.

Please take the new & improved poll at the bottom of this post (also free).

Continue reading

4 Comments

Filed under ACL, Audit, Data Analytics, Excel, Free, Free Download

ACL Tip: Beware of ORs and ANDs

AND ORWhenever you use OR and AND operators in ACL (or other software, for that matter), be careful to ensure that you receive the results that you are looking for.

Assume you have Table1, which contains 100 loan transactions. 10 of those transactions have a loan rate of 5% and 10 transactions have a rate of 6%. The remaining transactions have rates above 10%.

Continue reading

Leave a comment

Filed under ACL, Audit, Data Analytics, How to..., Scripting (ACL), Written by Skyyler

ACL Error: Not all Fields Imported via Script

Recently, I  ran an import script to import a delimited file into ACL, but the last 10 fields were not imported. And I didn’t know it right away, because I received no error message.

In addition (or should I say, in subtraction), the log did not indicate anything was wrong. Continue reading

4 Comments

Filed under ACL, Scripting (ACL), Written by Skyyler

You Might be an ACL Freak if…

Dream ACLYou might be an Audit Command Language (ACL) freak if more than 2 of the following are true:

  • At work, you have a second computer (or virtual machine) just for running ACL.

Continue reading

1 Comment

Filed under ACL, Audit, Data Analytics, Scripting (ACL), Top 10, Written by Skyyler

Great Training at the 2014 ACL Conference

If you have ever wanted to go to an ACL conference, this is the year to do it.

Continue reading

1 Comment

Filed under ACL, Written by Skyyler

Teach Yourself ACL UPDATED

If you’re trying to learn ACL on your own, Teach Yourself ACL, the widest read post on this blog, has been updated.

ACL revised their website, which broke many of the links. Those are now fixed.

Until ACL does the dirty deed again (they like to change links for some reason, without redirecting the old ones).

I also updated other items that ACL has changed since the last blog update in 2012.

Leave a comment

Filed under ACL, Written by Skyyler

ACL: How to Add a Conditional Computed Field

In ACL, a conditional computed field (CCF), is basically a regular computed field with some fireworks.

It looks and acts much like a regular computed field, but has some extra parts that do some extra work. Fortunately, the extras are NOT complicated, and after reading this post, you will find that will you use CCFs frequently.

So what’s the difference?

Continue reading

2 Comments

Filed under ACL, Audit, Data Analytics, How to..., Scripting (ACL), Written by Skyyler

5 Things I Hate About ACL

I have 5 things I really hate about ACL. 

No, these aren’t critical issues, but I deal with them constantly, and they waste my time. All of them deal with the user interface.

Continue reading

11 Comments

Filed under ACL, Audit, Data Analytics, Technology, Top 10, Written by Skyyler

ACL Error: Cannot Export to Excel

Next time you get the cannot perform export to Excel error in ACL, try one of the 3 solutions described below.  The full text of the error is:

 Cannot perform the export.
You can export fields with maximum of 254 characters to Excel.

Continue reading

1 Comment

Filed under ACL, Audit, Data Analytics, Excel, How to..., Written by Skyyler

ACL: How to Add Computed Fields via Script

Once you’ve mastered creating computed fields, you’re ready to add computed fields to a table via script. It is easier than it sounds.

If you need some background on computed fields, see my previous posts, What is a Computed Field? and How to Add a Computed Field (manually). Now let’s explore writing a script that adds computed fields to a table.

Continue reading

6 Comments

Filed under ACL, Data Analytics, How to..., Scripting (ACL), Written by Skyyler

ACL: Edit Scripts Easily

As soon as you create an ACL script, you often have to add to it or edit it. There’s an easy way to do it.

Continue reading

6 Comments

Filed under ACL, Data Analytics, How to..., Scripting (ACL), Written by Skyyler

ACL: How to Create Your Own Scripts

Creating scripts (and editing them) is not as hard as many of you believe them to be.

Sure, it takes practice and time to learn the basics, but YOU can do it.

If you don’t learn scripting, you are NOT using ACL to it’s fullest, nor are you making the best use of your time.

Continue reading

5 Comments

Filed under ACL, Data Analytics, Free, Free Download, Scripting (ACL), Written by Skyyler

Optimize ACL Scripts

Have you been following the “Optimizing Script Performance” series on the ACL Blog? aclkevin has been offering some great tips.

In case you missed them:

Continue reading

Leave a comment

Filed under ACL, Data Analytics, Scripting (ACL), Written by Skyyler

ACL: Add a Custom View to a Table

Adding a custom view to an ACL table comes in handy when you want to 1) change the order of the fields in an ACL table, or 2) view a select number of fields.

You can add a custom view manually or via script. We’ll tackle the script version first.

This post is in response to Les’ question about reordering fields in a table.

Continue reading

4 Comments

Filed under ACL, Data Analytics, How to..., Scripting (ACL), Written by Skyyler

ACL: How to Add a Computed Field

If you’ve been wondering how to add a computed field to an existing ACL table, you’re at the right place. I’ll take you through it step-by-step.

In ACL tip: What is a Computed Field?, I defined computed fields and provided 2 examples. I suggest you read that post before you dive into this one.

That post also explains expressions and functions, which you need to understand when creating computed fields. Both that post and this one are long ones, complete with graphics. You might want to print them both out first…

In this post, I’ll show you how to add the c_Region field that is described in the computed field post. It’s not as hard as it looks.

Continue reading

18 Comments

Filed under ACL, Data Analytics, Free, Free Download, How to..., Written by Skyyler

New ACL CEO, New Fierce Direction?

The profile article of the new ALC CEO, Laura Schultz, indicates a new direction at the company, but I’m not sure what that direction is. Here’s why:

1. ACL tweeted that Schultz is  “fiercely determined” (see below), and in the profile, she talks about being “hell-bent” and “extreme” and taking vacations that involve “starving” and “afraid”. This is not your grandmother’s CEO, and maybe that’s the point. Either way, it doesn’t give me any comfort.

Lori Schultz, Fierce ACL CIO

Continue reading

2 Comments

Filed under ACL, Data Analytics, Written by Skyyler

ACL tip: Create a File Import Script

File Import Script VacuumDid you know that you can create a script to import a file into ACL? That you can automate loading a table?

I’m talking about the File > New > Table command in ACL, also known as the Data Definition Wizard. Yes, you can create such a script, and I’m going to teach you how!

The good news is that it’s so much easier than you think. The bad news is that it doesn’t APPEAR easy, but it really is, because ACL does the heavy lifting for you. I promise that if you hang in there, you’ll so be a pro. Just try it once, and you’ll be hooked!

Continue reading

23 Comments

Filed under ACL, Data Analytics, How to..., Scripting (ACL), Written by Skyyler

ACL Error: Working Directory Does Not Have Write Access

On occasion, I have received the following ACL error: The working directory does not have write access permission (see below).

Simply said, it means: the working directory is not working; something is not write. :)

Seriously, the working directory is the directory in which the application wants to start, which is why it is also called the starting directory. This is the directory to which ACL expects you to save your ACL projects. That’s why ACL needs write access to that directory.

Continue reading

6 Comments

Filed under ACL, Data Analytics, How to..., Written by Skyyler

Error: ACL Desktop cannot complete this function

When you’re trying to load a new file into an ACL table, you’ll sometimes get this error:: “Application error. ACL Desktop cannot complete this function…contact ACL Technical Support…” (see below).

ACL Desktop Cannot Complete this function

Here’s the situations in which I’ve encountered this error, and how I’ve fixed it (most common and easiest to fix situations are first).

Continue reading

5 Comments

Filed under ACL, Data Analytics, Written by Skyyler

Master List of ACL Articles and Tips

To make these posts easier to find (and link to), here’s a list of all the ACL posts on this blog in alphabetical order, and by most popular.
I’ll add other posts as they are written.

Continue reading

4 Comments

Filed under ACL, Audit, Data Analytics, Excel, Free, How to..., Scripting (ACL), Technology, Top 10

ACL tip: Quickly View/Print Table Layout

To quickly view or print the table layout in ACL, type dis in the ACL command line (dis is short for display).

The table layout contains information about the fields in a table, such as field names, field type (ASCII, Date, Numeric), field length, and most importantly, the expressions used to create computed fields. For more info on computed fields, see What is a Computed Field?

Continue reading

2 Comments

Filed under ACL, Audit, Data Analytics, How to...

A Review of ACL Acerno

I haven’t been able to find any reviews of ACL Acerno, so I decided I better get to it.

What is Acerno?

According to ACL’s website, ACL Acerno is a Microsoft Excel Add-in that allows you to efficiently and easily investigate the results generated by ACL software or other sources and share your findings. For a quick overview, watch this video or check out the quick reference sheet (pdf)—-This info must have been removed when the software was updated.

Acerno is $250 per user.

Even if you don’t read the rest of this, if you’re an auditor, please take the poll at the end of this post.

Continue reading

5 Comments

Filed under ACL, Audit, Data Analytics, Excel, Poll, Written by Skyyler

ACL tip: Prefix Computed Fields with c_

It’s a best practice to prefix all computed fields with “c_” (e.g., c_Region) for the following reasons:

1) Computed fields are not original data, and you should always keep this in mind. You should scrutinize the values in computed fields carefully, especially when you discover data or relationships that you were not expecting.

Continue reading

Leave a comment

Filed under ACL, Data Analytics, Written by Skyyler

ACL tip: What is a Computed Field?

A computed field is a field in an ACL table that you create using expressions.

An ACL expression is similar to a Microsoft Excel formula [e.g., =SUM(A1:A2)] in that it contains at least one function [like SUM]. Excel formulas operate on cells (like A1 and A2), but computed fields operate on fields.

Continue reading

3 Comments

Filed under ACL, Audit, Data Analytics, How to..., Written by Skyyler