"Applications"
is a feature that ACL incorporates that allows users to create and
utilize scripts on a regular basis without having to "Copy"
the script into a project. When properly defined, one can use the
applications to access standardized tools/batches. This has several
features:
It
enables programmers to access and preserve standardized scripts
without having to worry about local users modifying the standardized
scripts. (E.g. the scripts can be protected from non-authorized
editing ensuring that the script is executed as originally
designed!)
This
helps ensure version control. If a change is identified in one
script, all projects that run that script in the future will
incorporate that change/enhancement. It is no longer necessary to
try to figure out if a particular version of the script has the fix
or not (likewise, if you are using a non-standard batch script, you
don't have to look in numerous projects for the desired
version/script.)
It
allows ACL users to create tools that are always available in every
ACL project. (E.g. the user has written a script that will perform a
duplicates test on data. Using applications, the execution of this
script simply requires pushing a button.)
This
makes it significantly easier to place ACL scripts into the hands of
non-ACL users (E.g. audit teams and other units.) This allows ACL to
become more of an end-user system and enhances the programmers'
ability to provide more value to the client.
CREATING
THE .BAT FILES
In
order to create a standardized script that is available for all
projects, one must create a .bat version of the script. This is easy
to do as ACL provides a built in tool to do so. Simply highlight the
script that needs to be saved. Right click the mouse button. This
will provide a dropdown box which includes the option "Export to
OS/390 file." Select that option and save the file as a .BAT
file. Best practice is to save the file in a segregated directory
that has a short pathname and short script name. The reason for the
short names is that the MNU file has a very limited length for
commands.
Once
the .bat file is created, it can be protected from non-authorized
editing.
CREATING
THE .MNU FILE
The
MNU file is the file that populates the ACL Applications button. This
file can be titled anything, but the name will dictate what appears
on the APPLICATIONS button. E.g. if the MNU is saved as "SAS 99
Testing" then the drop down box that appears under the
APPLICATIONS button will be labelled "SAS 99 Testing." You
can thus have multiple MNU files in a project (different MNU files
for SAS 99, AR, AP, General Tools, etc.)
The
MNU file must be written in a very specific manner. Each menu item is
compromised of blocks. The general format for the block is:
MENU
HEADING Number of entries
Menu
Entry Menu link or command
…
Last
Menu entry Menu link or command
The
first Menu Header must be "Main Menu" and the number of
items indicate the number of commands/links that the main menu will
display. For example:
MAIN
MENU 6 .
Margins
Analysis 11 menu_def .
Statistics
Statistics .
VV_DO_ALL_SCRIPTS
DO "c:\ACL\Scripts Analysis\vv_Do_All_scripts.bat"
.
A01_Define_fields
DO A01_Define_Fields .
General
Tools 20 menu_def .
Quit
ACL QUIT .
In
the above example, there are 6 items that will appear on the main
menu for this MNU table. Those six items are Margin Analysis,
Statistics, vv_do_all_scripts, A01_Define_fields, General Tools, and
quit. Each of those items are associated with specific commands.
The
Margins Analysis and General Tools commands will create submenus on
the 11th and 20th line of the MNU file. (NOTE: when counting the
lines of an MNU files start on the first line as line 0. E.g. the
11th and 20th lines are really the 12th and 21st lines of the file.)
When creating the submenus the first line should repeat the label
(Margins Analysis/General Tools) and then indicate the number of
lines on each of the submenus.
The
Statistics and Quit lines will simply execute ACL commands.
The
vv_do_all_scripts line demonstrates the format for executing a
standardized script saved as vv_do_all_scripts.bat file with a path
of c:\ACL\Scripts Analysis\. NOTE: When executing a .BAT file it is a
best practice to delete the script as ACL will copy the .bat script
into an active script within the current project.
The
A01_Define_Fields line will execute a script already loaded into ACL
called A01_Define_Fields.
KEY
SYNTAX:
1)
Do not use tabs. Tabs may cause problems with the coding.
2)
The start of each block of numbers must include the block title and
the number of lines in the block.
3)
The number of entries/ Menu link or command must start at the same
character space on the line. E.g. every line must contain the number
of entries/menu link/command at the same space (38th character/50th
character/etc.)
4)
At the end of each line, at the same character point, the MNU file
MUST have a period. E.g. every line must end at the same character
point with a period.
5)
After the period there cannot be any other characters including blank
spaces.
6)
ACL official guidelines indicates that the description field MUST be
less than 35 characters, that the number of entries/ Menu link or
command MUST start at point 37, and that the period MUST be at
character point 78. Per ACL technical support these are really
guidelines and other values will work, but care should be taken to
ensure that the MNU works if you choose not to follow them.
7)
The maximum number of items per menu/submenu is 14 items.
NOTE:
ACL provides a template.mnu with every installation of ACL.