ACL105 AATI Modify
ACL105 AATI Modify
Muhammad Yousuf
Azmatullah Khan
7/13/23
Class Hours
Breaks
Lunch
Telephones
Sign-in Sheet
Training Materials
Comprehensive test
Course Evaluation
Training Objectives
Word processing
Spreadsheet
Database
Integrated audit software
Custom reporting software
Real time testing programs
Common tools for performing CAATs?
Excel
Access
Audit Command Language (ACL)
Interactive Data Extraction and Analysis (IDEA)
SQL
CAATs Tools Comparison
1. Fundamentals
2. Data Access
3. Expressions
4. Data Integrity Verification
5. Data Analysis
6. Reporting Results
105 FOUNDATIONS OF ACL
CONCEPTS AND PRACTICES
Fundamentals
Module 1
In this Module
What is ACL?
Data concepts
The ACL Interface
ACL basics
Best Practice – File Organization
Elements of Data Analysis
The data analysis cycle
What is ACL?
Letters, numbers, or
symbols representing
information, suitable for
processing,
V
communicating, or
interpreting.
04092003
This string could be interpreted as
An Amount (NUMERIC) $4,092,003 or $40,920.03
An Invoice Date (DATE) April 9, 2003 or September 4, 2003
An Account Number (CHARACTER) 04092003
Data Structure
Files
Named collection of records
stored or processed as an
individual entity
Records
Subset of a file
Collection of related fields
containing data items
grouped for processing
Fields
Subset of a record
A specified area of a record
used for storing a particular
class of data
File and Fields
Data Type
TEXT TEXT DATE NUMERIC
....|....10...|....20...|....30...|....40...|
Decimals
Length
Length
Length
Length
Start
Start
Start
Start
1 9 10 17 27 10 37 9 2
Record_Length 45
The ACL Interface
Welcome tab
Project Navigator
Status bar
ACL Basics
Tables
Data Source
Table Layout
View
Scripts Data Source
Logs Collection of related records
stored as a unit with a single
Workspaces
name. Data source does not
Folders reside inside an ACL project.
ACL Basics
Tables
Table layout
Data source
View
Scripts Table Layout
Logs Contains everything needed
to read a data source.
Workspaces
Folders
ACL Basics
Tables
Table layout
Data Source
View
Scripts Views
Logs The visual presentation of a
file. A table can have one
Workspaces
or more views.
Folders
ACL Basics
Tables
Table layout
Data Source
View
Scripts Table
Logs A table layout is linked to a
data source. Contents of a
Workspaces
file are displayed in views.
Folders
ACL Basics
Tables
Table layout
Data Source
View Scripts
Scripts A macro or batch file – a
Logs series of ACL commands
that can be executed
Workspaces without user interaction.
Folders
ACL Basics
Tables
Table layout
Data Source
View
Scripts Logs
Logs History of commands and
results from your analysis.
Workspaces
Folders
ACL Basics
Tables
Table layout
Data Source
View
Scripts Workspaces
Logs Field definitions that are
saved for reuse with other
Workspaces
tables.
Folders
ACL Basics
Tables
Table layout
Data Source
View
Scripts Folders
Logs Used to organize your work
in an ACL project.
Workspaces
Folders
Best Practice – File Organization
stored automatically in
ACL Project
12KB
Payroll 2003 All Regions.LOG
Text Document
5KB
the Default Working
Payroll.dat
DAT File
Folder
135KB
Elements of Data Analysis
Commands
Expressions
Filters
Computed fields
Functions
Variables
Elements of Data Analysis
Commands
Expressions
Commands
Filters
Computed fields
Predefined routines that can
be used for Verification and/or
Functions Analytical purposes.
Variables Some parameters are optional.
Most Commands are located
under Data & Analyze on the
menu bar.
Results can be sent to file,
screen, print, or graph.
Elements of Data Analysis
Commands
Expressions
Filters
Computed fields
Functions Expressions
Variables Statements used to create
filters and computed fields.
Filters create logical
conditions (True/False).
Computed fields create
values that don’t exist.
Elements of Data Analysis
Commands
Expressions
Filters
Computed fields
Functions Functions
Variables Predefined routines that are
incorporated into expressions.
There are over 80 functions
that can be used to achieve
either simple or complex
objectives.
Elements of Data Analysis
Commands
Expressions
Filters
Computed fields
Functions Variables
Variables Named memory space that
stores data. Can be
character, numeric, date, or
logical type.
The Data Analysis Cycle
Planning
Data access
Data integrity
verification
Data analysis
Reporting results
The Data Analysis Cycle
Planning
Data access
Data integrity
verification Planning
Data analysis Plan your work before you
Reporting results start.
Consider the steps required
to achieve the objectives of
the remaining 4 phases.
Formulate clear objectives,
develop concise strategies,
and budget the right
amount of time.
The Data Analysis Cycle
Planning
Data access
Data integrity
verification
Data analysis
Data access
Reporting results Access the data outlined in
your strategic plan.
Includes locating, requesting,
and transferring the data.
Data access will be discussed
in detail in module 2.
The Data Analysis Cycle
Planning
Data access
Data integrity
verification Data integrity verification
Data analysis Test the integrity of the data you
Reporting results receive. If you don’t, results may
be incomplete or incorrect.
ACL provides many tools,
including commands and
expressions, which make it easy
to identify data integrity errors.
Data integrity verification will be
discussed in detail in module 4.
The Data Analysis Cycle
Planning
Data access
Data integrity
verification
Data analysis
Data analysis
Reporting results
Perform the tests necessary
to achieve your objectives.
Use commands, filters,
computed fields, etc.
Data analysis will be
discussed in detail in
module 5.
The Data Analysis Cycle
Planning
Data access
Data integrity
verification Reporting results
Data analysis
Create reports from your results
Reporting results and document your work.
Reports can be printed or sent
to a file. File types include text,
HTML and Excel. Some reports
can be sent to a graph.
Reporting results will be
discussed in detail in module 6.
105 FOUNDATIONS OF ACL
CONCEPTS AND PRACTICES
Data Access
Module 2
In This Module
Locating data
Acquiring data
Accessing/importing data
Creating tables to access data
Reusing table layouts
Locating Data
Transferring
Determine your
the objectives
data
Access the
Request to production
data database
Access to a copy
Data request of the data
letter
User access
Summary to source data
Report
Record Layout
Control Totals
Accessing Data
Direct access
Automatic layout
Manual layout
External definition
Import and copy
Automatic layout
Manual layout
Flat Files – Direct Access, Manual Layout
Direct access
Automatic layout
Manual layout
External definition
Import and copy
Automatic layout
Manual layout
MS Excel file – Import and Copy, Automatic Layout
Direct access
Automatic layout
Manual layout
External definition
Import and copy
Automatic layout
Manual layout
ODBC – Import and Copy, Automatic Layout
Direct access
Automatic layout
Manual layout
External definition
Import and copy
Automatic layout
Manual layout
dBASE file – Direct Access, Automatic Layout
Direct access
Automatic layout
Manual layout
External definition
Import and copy
Automatic layout
Manual layout
Report File – Import and Copy, Manual Layout
Direct access
Automatic layout
Manual layout
External definition
Import and copy
Automatic layout
Manual layout
Delimited file – Import and Copy, Automatic Layout
Direct access
Automatic layout
Manual layout
External definition
Import and copy
Automatic layout
Manual layout
External Definition – Direct Access
To
Reuse
reuse
table
a table
layouts
layout,
to save
you time
can:
Duplicate
Useful whenand rename a table layout
you:
Link
Haveamultiple
table layout to a new
files with source
the same structure
Import a table
Regularly layout
receive files from
with another
the sameACL project
structure
Export a table layout
105 FOUNDATIONS OF ACL
CONCEPTS AND PRACTICES
Expressions
Module 3
In This Module
Understanding expressions
Filters
Computed fields
Expressions
Expression
Output?
Filter
Filter Computed
Field
Fields
Operators
Values
Computed Fields
Input
Processing
Extraction
Conversion
Transmission
Definition
Sources of Error
Input
Processing
Extraction
Conversion
Transmission Input
Definition Includes incorrect data,
omitted items, unwanted
items, or invalid data. Sign
of faulty input validation
controls.
Sources of Error
Input
Processing
Extraction
Conversion
Transmission Processing
Definition Undetected flaws in
programming can cause
validity errors.
Sources of Error
Input
Processing
Extraction
Conversion
Transmission Extraction
Definition The party responsible for
extracting requested data
may misinterpret your
request, mistakenly or
deliberately extract the
wrong data.
Sources of Error
Input
Processing
Extraction
Conversion
Transmission Conversion
Definition Programmers often convert
data from EBCDIC to ASCII.
This can corrupt fields
native to the mainframe
environment.
ACL can read and process EBCDIC.
Sources of Error
Input
Processing
Extraction
Conversion
Transmission Transmission
Definition The process of transferring
data can corrupt data.
Sources of Error
Input
Processing
Extraction
Conversion
Transmission Definition
Definition Mistakes in your table
layout can cause validity
errors.
Checking Validity
If
Ensure
errorsyour
are table
found:
isvalid
Determine if errors are in the table layout or in the data itself
Character fields
If errors are contain
in table onlyfix
layout, printable characters
and check validity again
Numeric fields
If errors are in contain only have
data, either numeric
the digits, decimals,
data re-sent minus
or try to fix
signs
them and currency symbols
Date fields are valid dates
To check validity use the Verify command
Confirming Control Totals
Ensure data
If control meets
totals thematch:
don’t specifications in the summary
report
Usually means data was not extracted properly from source
Compare
data control totals generated in ACL to those
provided
If therein
aresummary report use a filter to extract the
too many records,
required data
To confirm control totals, use:
If
Thethere arecommand
Count too few records, have the file re-sent
The Total command
The Statistics command
Checking for Correct Bounds
Ensure
If your records
upper and arelower
not within
boundsspecified
of databounds:
match your
request
If your table contains extraneous records, extract the valid
records
Numericinto a new table
bounds
If there
Date are insufficient records, have the data re-sent
bounds
To check for correct bounds, use:
The Statistics command
The BETWEEN( ) function
Identifying Missing Items
If
Duplicates
you find occur
duplicate
often
entries:
and can be valid
Examine
Check findings in context
for duplicate recordstoand
determine their validity
duplicates in fields
that shouldn’t
Contact contain
the data duplicates
provider
You can create a table that does not contain duplicates by
To identify duplicates, use the Duplicates command
using the Summarize command
Testing for Reliability
Always
If your filter
test values
or computed
derivedfields
from reveal
calculations
errors i.e. they
don’t
Ensurematch the original
that fields based field:
on calculations are free of
Contact the data provider
errors
Use the computed field in your analysis rather than the
To test for reliability, use a filter or computed fields
original field
If errors are pervasive or significant, have the data resent
Other DIV Tests
STATISTICS
Bounds STATISTICS Dates within bounds
BETWEEN() Filter data within bounds
Missing Items GAPS Data is not missing
ISBLANK() Test for blanks where data
is expected
Duplicates DUPLICATES Unique transactions
Reliability Computed Fields Valid processing
Reasonableness Various Commands Data meets expectations
Relationships Various Commands Data is consistent
105 FOUNDATIONS OF ACL
CONCEPTS AND PRACTICES
Data Analysis
Module 5
In This Module
Profiling data
Isolating data
Reordering tables
Combining tables
Profiling Data
Functional
Classify Summarize
Specification
Calculates # of times each
Yes Yes
key field appears in the table
Sequences records on key
Yes No
field before producing result
Can produce a graph Yes No
Primary location for command
RAM Hard disk
processing
Number of key fields One One or more
Allows output of other fields No Yes
Profiles on Character Fields Yes Yes
Profiles on Date Fields No Yes
Computes numeric sub-totals Yes Yes
The Cross-tabulate Command
Groups
With Age,records
you: into specified ranges or
aging periods
Specify a date field
Specify a cutoff date
Commonly used to age receivables data
Specify the aging periods
Specify fields to subtotal (optional)
Output to screen, graph, print, or file
Isolating Data
The Sequence command tests that the selected fields are in sequence.
The Sequence Command
Subsequent processing of an
Much faster Much slower
entire table
Subsequent processing when
Much slower Much faster
searching for a few records
Quick Sort
Create a new
table that:
Combines multiple tables
that have the same
structure
Contains the same type
of information
Extract with the Append Option
AP_Trans_January
Custno Product Inv_Date Inv_Amount
01542 Printer 5-Jan-05 257.89
04723 Toner 18-Jan-05 39.99 AP_Trans_Quarter_1
29452 Printer 19-Jan-05 294.32 Custno Product Inv_Date Inv_Amount
03914 Paper 25-Jan-05 15.86 01542 Printer 5-Jan-05 257.89
Extract
46778 Scanner 30-Jan-05 125.99 04723 Toner 18-Jan-05 39.99
29452 Printer 19-Jan-05 294.32
AP_Trans_February 03914 Paper 25-Jan-05 15.86
Custno Product Inv_Date Inv_Amount 46778 Scanner 30-Jan-05 125.99
04723 Paper 1-Feb-05 15.86 04723 Paper 1-Feb-05 15.86
Extract / Append
33397 Paper 15-Feb-05 84.33 33397 Paper 15-Feb-05 84.33
46778 Toner 28-Feb-05 79.98 46778 Toner 28-Feb-05 79.98
01542 Flash Drive 2-Mar-05 99.99
AP_Trans_March 88754 Toner 3-May-05 39.99
Custno Product Inv_Date Inv_Amount Extract / Append 12679 Scanner 25-Mar-05 134.99
01542 Flash Drive 2-Mar-05 99.99 46778 Scanner 31-Mar-05 85.00
88754 Toner 3-May-05 39.99
12679 Scanner 25-Mar-05 134.99
46778 Scanner 31-Mar-05 85.00
The Join Command
Create
Six types
a new
of joins:
table that contains matched or
unmatched
Matched records from two tables
Based on common key fields in two tables
Unmatched
Matched, All Primary
The first 5 join types use a Many-to-One relationship
Matched, All Secondary
Matched, All Primary & Secondary
Many-to-Many (covered in advanced courses only)
Rules & Guidelines
Rules Guidelines
Primary and secondary Data in key fields should
tables must be in the be in the same case:
same project UPPER(), LOWER(), or
Both tables must share PROPER() functions
at least one common Key fields should have
key field same justification:
Key fields must be LTRIM() function
defined as the same data
type in both files
Key fields must be
the same length:
SUBSTRING() function
Files must be sequenced
in the same order –
presort option
Planning
One output record for every match between primary and secondary
tables
Shows employees who have been paid and who are also listed in
the employees table
Unmatched Primary Records
One output record for every record in the primary table that doesn’t
have a match
Shows all employees paid, but not listed in the employees table
Matched Primary Records, include All Primary records
One output record for every match between primary and secondary
tables, plus one record for every unmatched primary record
Results equivalent to combined results of Matched and Unmatched
Matched Primary Records, include All Secondary records
One output record for every match between primary and secondary
tables, plus one record for every unmatched secondary record
Lets you account for all employees in the employee table
Matched Primary Records, include All Primary & All
Secondary records
One output record for every match between primary and secondary
tables, plus one record for every unmatched record
Shows all payroll checks issued and all employees listed in the
employees table
How to Join Tables
Salesperson
sales rep num
name
address
Rules & Guidelines
Guidelines
Rules
Key fields must
All tables should
bebe
in the
the
same length:
same project SUBSTRING() function
Data in key fields should be in the same case: UPPER(),
Both tables must share
LOWER(), or PROPER() functions
at least one common key
Key
field fields should have same justification: LTRIM() function
Key fields must be
defined as the same
data type in both files
Relationships are defined
and stored in the parent
table
Delete or modify existing
relationships from the
parent table
Child table must be
indexed by key field
How to Relate Tables
Disk space Creates a third table that The only disk space
required for may be larger than both required is to create an
results original tables combined. index for the child table(s).
Can vary depending on
Time to Considerably less. No
whether the primary table
process record matching is done
is sorted and the
command when Relations is run.
complexity of the join.
Time to Results in a flat file can Record matching is done at
process be processed very command processing and
results quickly. takes longer than Join.
Presort Sort or Presort required Index is required for child
or Index for secondary tables. tables.
Number of
One or more key fields Limited to one key field
key fields
105 FOUNDATIONS OF ACL
CONCEPTS AND PRACTICES
Reporting Results
Module 6
In This Module
Views
Graphs
Results tab
Logs
Project contents
Creating a Report from a View
Sorted reports
Reports with subtotals
Multiline reports
Advanced Reporting
Sorted reports
Reports with subtotals
Multiline reports
Advanced Reporting
Sorted reports
Reports with subtotals
Multiline reports
Advanced Reporting
Sorted reports
Reports with subtotals
Multiline reports
Reporting with Crystal Reports
Commands
Add visual appeal
that create graphs:
Stratify
Provide easily accessible presentation of results
Classify
Create a graph from a view:
Histogram
Select a range of data
Age
Right-click, select Graph Selected Data
Cross-tabulate
Benford
Graph Options
Create
View andproject
print notes
a
table history
Helpful for projects that you don’t work on consistently
Created whenever a new table is created as the result of an ACL
Print project contents
command
Good for archiving work done on a project
Useful to find how a table was created or what tables and fields
were
Print out:
used to create a table
Record Table layouts
Notes
View, Script, Index, and Workspace definitions
Attach a note to a single record
Preferences, notes, and the log
105 FOUNDATIONS OF ACL
CONCEPTS AND PRACTICES
Thank You