ACMU cross-reference examples
Analysing legacy MVS/z/OS assets accumulated over recent decades reveals figures you may not be aware of!
The following examples show cross-reference results generated automatically from the JCL and procedures you supply. They are standalone, macro-free Excel files that are easy to read, search, filter and manipulate.
The cross-references help HH&S and the client assess feasibility, make decisions about the target architecture, prioritise application and data migration, and plan the project realistically.
Index Sheet
This view shows counts of JCL, procedures and distinct programs. It provides an indication of the effort required to port legacy application programs and utilities to the target architecture: whatever the number of JCL jobs, the determining factors are the number and nature of the distinct programs, procedures and utilities.
JCL/EXEC XRef Sheet
This view shows which application programs, utilities and procedures are called by each JCL across all applications.
It answers these questions:
- Which applications and JCL jobs use this program?
- Which programs are required by the JCL for an application?
Furthermore, we can see which technologies are used by the applications. In this example, CUSTOMER and FINANCIAL share programs and technologies such as DB2 (DSN*) and OPC/TWS scheduling components (EQQ*).
- to check that we have a corresponding shell wrapper (1) for each legacy IBM utility or utility supplied by an independent software vendor:
(ADABATC7 BPXBATCH CFTUTIL DMS DSNUPROC EQQYCAIN FTP ICEGENER ICEMAN ICESORT IDCAMS IEBCOPY IEBEDIT IEBGENER IEFBR14 IEHLIST IKJEFT01 IKJEFT1A IKJEFT1B IRXJCL ISRSUPC JVMLDM86 JZOS86 SENDMAIL SORT etc...) - to identify every utility for which a shell wrapper must be developed;
- to identify all client application programs that must be ported to Open Systems.
JCL - IKJEFT01 Sheet
With IBM’s “Swiss Army knife”, IKJEFT01, you can do many things!
The question is:
- What do your IKJEFT01 jobs do?
- How tricky will it be to migrate to Unix/Linux?
Our cross-reference classifies IKJEFT01 operations as follows:
- DB2, TSO commands and ISPSTART commands: may be difficult and require analysis
- REXX procedures: require analysis to decide between porting REXX and rewriting
- BPXBATCH and OMVS commands: no particular difficulty
Using this table, we focus on the difficult points identified and provide a reasonably accurate estimate of feasibility and of the work required from HH&S and the client.
XRef Datasets
What a pleasure to see all the datasets in your legacy batch estate at a glance!
- Sorted by application, JCL, step and DDNAME.
- Original dataset name, disposition and RECFM (fixed or variable).
- High-level qualifier.
- Proposed target file names for UNIX/Linux. The naming convention is, of course, decided by the client and configured in ACMU.
- Data that is easy to sort, search, filter and manipulate when defining the target naming convention.
Program/Utility Count Sheet
This view shows the number of calls to each program and procedure across all JCL jobs, by application and in total.
We can see at a glance which technologies are used by each application.
Mainframe eyes will see that, in this example, HR is the only application using Oracle (SQLPLUS and SQLLoader), CUSTOMER, PURCHASE and SALES use DB2 (DSNUTIL and DSNUPROC), and all applications use OPC/TWS scheduling components (EQQ*).
Once the cross-references have been produced, the HH&S team identifies programs and utilities that may be difficult to port.
This table then supports the decision: Remove / Replace / Rewrite.
Typical cases:
| Legacy | Decision | Target |
|---|---|---|
| ADRDSSU backup | Replace | Your preferred UNIX/Linux backup utility: tar, zip, ... We write a custom ACMU user exit that replaces the ADRDSSU pattern with the appropriate target pattern on the fly. |
| IDCAMS IEBCOPY IEBGENER | Replace | In most cases, standard UNIX utilities such as cp, mv, dd and awk |
| REXX proc | Rewrite | Your preferred scripting language: shell, Perl, Python, ... |
| BPXBATCH Shell commands | Remove | BPXBATCH is useful only on z/OS: shell commands run directly on UNIX/Linux |
| ISPSTART | Rewrite | ISPF calls: determine whether retaining or porting them to Open Systems is appropriate |
| SORT, ICESORT | Replace | Our XSM DFSORT-syntax sort utility was designed for this purpose! |
Missing Material Sheet
Not sure you have supplied all Legacy items ?
Don't worry! Our Missing Material Sheet will point out missing files!
