VSE, short for Virtual Storage Extended, is an operating system for IBM mainframe computers. Programs scripted in its job control language (JCL) instruct the system in how to run batch jobs or start subsystems.
During VSE re-hosting and application modernization efforts, your mainframe sort product should be replaced. It will either not run off the mainframe, or perform much more than the same JCL sort/merge steps if it does. And it won’t come cheap. The IRI CoSort package, however, provides a robust, affordable migration and upgrade path for high-volume data manipulation and reporting jobs.
CoSort includes an automated parm conversion utility for JCL sort/merge steps in VSE. It produces equivalent parms in a more explicit 4GL program that generates the same output and delivers more capability. More specifically, IRI’s “VSE2SCL” program translates the relevant sort (select, sum, etc.) parms from a JCL stream into a functionally-equivalent “Sort Control Language” (or SortCL) specification file that will run on Linux, Unix, or Windows (LUW).
Once the JCL conversions are completed, you can begin to leverage the full range of SortCL data transformation, conversion, cleansing, masking, and reporting functionality. These scripts jobs can also be managed in a free and familiar graphical IDE built on Eclipse called IRI Workbench. The GUI also supports many data profiling, integration (ETL), migration, governance, and analytic operations.
With or without the GUI, conversion to SortCL scripts a simple two-step process:
- Move the JCL job stream(s) containing sort cards to your LUW O/S
- Run the JCL through the VSE2SCL program
For a standalone conversion example, consider the following VSE JCL script, called vse1.jcl:
// DLBL SYS011,'CAP.P.AUTO.PAC',,VSAM,DISP=NEW,CAT=PRODCAT 06760 // DLBL REPO260,'CAP.N.AUTO.REP0260A',,VSAM,CAT=PRODCAT // DLBL SORTIN1,'CAP.N.AUTO.REP0260A',,VSAM,CAT=PRODCAT // DLBL SORTOUT,'CAP.N.AUTO.REP0260A',,VSAM,DISP=NEW,CAT=PRODCAT * PCAPA260 - SORT:PAC TAPE DATA FOR NN 06720 // EXEC SORT,SIZE=256K SORT FIELDS=(1,2,A,29,7,A,3,26,A,36,10,A),FORMAT=CH RECORD TYPE=F,LENGTH=(170) INPFIL VSAM OUTFIL ESDS,REUSE OPTION ROUTE=LST END /*
To perform the conversion that creates the SortCL script, enter:
$ vse2scl vsel.jcl vsel.scl
This produces the following SortCL job specification (text) file: $ cat vse1.scl
/INFILE=(CAP.N.AUTO.REP0260A) /LENGTH=170 /FIELD=(field_0, POSITION=1, SIZE=2, EBCDIC) /FIELD=(field_1, POSITION=29, SIZE=7, EBCDIC) /FIELD=(field_2, POSITION=3, SIZE=26, EBCDIC) /FIELD=(field_3, POSITION=36, SIZE=10, EBCDIC) /KEY=(field_0, ASCENDING) /KEY=(field_1, ASCENDING) /KEY=(field_2, ASCENDING) /KEY=(field_3, ASCENDING) /OUTFILE=(CAP.N.AUTO.REP0260A)
IRI Workbench makes it even easier to convert VSE JCL sort parms into SortCL job scripts. Below are some sample screenshots from the JCL Sort Job import wizard that illustrate this process.
Here the user selects Import from the File menu, and then JCL Sort in the import source area to bring up this Import JCL Sort dialog box:
Note that in the resulting SortCL script file ( vse1.jcl.scl), each /FIELD statement is given a default name. IRI recommends that you re-name the fields with meaningful, symbolic references that will allow you to expand, share, and re-use these layouts in new applications.
Again, beyond mere rehosting, there lies a wide range of available data transformation, protection, reporting, and test data generation functionality in CoSort that dramatically expands your operational possibilities going forward. Consider all the different use cases for SortCL, and thus its core role in the IRI product line; e.g., being the default ETL, data quality, masking, and BI engine in IRI’s new big data management platform, Voracity.