mainframe JCL conversion to Unix/Linux

UV Software provides the best solution for converting mainframe MVS/VSE/ZOS JCL to Korn shell scripts for execution on Unix/Linux systems. Unix scripts are far more flexible than JCL emulations, because unix scripts can be expanded to run any open source software desired. JCL emulations are locked in to the original mainframe functions.

UV Software has converted over 60 mainframe sites to Unix/linux. You can see a customer list & some reference letters in the link provided at the end of this newsletter. This newsletter discusses just some aspects of JCL conversion. Please see links to other components of mainframe conversion at the end of this newsletter, such as EBCDIC data conversion to ASCII while preserving packed fields.

Vancouver Utilities GDG files - a better solution

Vancouver Utilities provide functions for generation files because unix systems do not have built-in GDG files as do mainframes. For example here are the file definitions for an update program (that reads the latest generation of a file & writes the next generation) - first for the mainframe & second as converted by the Vancouver Utility JCL converter.

      //GLMSOLD  DD DSN=GL.ACCOUNT.MASTER(0)
      //GLMSNEW  DD DSN=GL.ACCOUNT.MASTER(+1)
      exportgen0 0 GLMSOLD data1/gl.account.master_
      exportgen1 +1 GLMSNEW data1/gl.account.master_

The JCL converter converts mainframe GDG files to Vancouver Utility function equivalents exportgen0 & exportgen1. 'exportgen0' determines the most recent generation for reading & 'exportgen1' determines the next generation for writing.

VU GDG files are identified in JCL/scripts by a '_' trailing underscore. The actual datafiles have 6 digits following the '_'. The number of generations maintained is controlled by gdg=... in a control file which can be autoamtically generated from mainframe LISTCAT reports.

Here are the physical filenames for the 1st 3 generations - 1st for the mainframe and 2nd as converted by Vancouver Utilities.

 GL.ACCOUNT.MASTER.G0001V00
 GL.ACCOUNT.MASTER.G0002V00     <-- sample GDG filenames on the mainframe
 GL.ACCOUNT.MASTER.G0003V00
 gl.account.master_000001
 gl.account.master_000002       <-- sample GDG filenames converted to unix
 gl.account.master_000003

VU GDG files solve a problem with AIX gdgmgr

IBM provides 'gdgmgr' to handle GDG files on AIX unix systems, but it has a serious problem - new generations are committed immediately, instead of waiting for successful End of Job (as did the mainframe).

The Vancouver utility GDG system writes new generations into a temporary directory & these files are restored to the intended directory on reaching successful end of Job.

'gdgmgr' is a big problem when you have jobs with 100 steps that terminate abnormally - you need to manually restore prior generations before you can rerun the job. But with Vancouver Utility GDG files, you can just rerun the job - and accept the option to discard any new generations, OR you could restart at the point of failure step (after problem correction).

mainframe utilities converted to equivalents

The JCL converter recognizes JCL steps executing various mainframe utilities and converts them to Vancouver Utility or Unix/Linux equivalents of SORT, IDCAMS, IKJEFT.., IEFBR14, IEBGENER, IEBCOPY, ADRDSSU, FTP, MAIL, QUIKJOB, ICETOOL, ISRSUPC, EASYTRIEVE, FILEAID, ADUUMAIN, AMUUMAIN, FASTLOAD, BTQMAIN, MLOAD, etc). See some of these conversions by clicking the JCL conversion link at the bottom of this email.

Note that many mainframe utilities can not be replaced by standard Unix/Linux utilities, because they do not have the ability to process packed decimal fields or address fields by column# (abilities unique to Vancouver Utilities on Unix).

In particular, please note that the mainframe SORT conversion to uvsort handles the many complex record selection & reformatting provided by DFSORT & SYNCSORT (INCLUDE, OMIT, INREC, OUTREC, etc).

RUNLIBS & RUNDATA provide great flexibility

The converted JCL/scripts use environmental variables RUNLIBS & RUNDATA to to define superdirs for the libraries & data files effective for the current logged in user. You never have to modify the JCL/scripts to run with different sets of data or programs. You could have test systems & production systems on the same machine. More likely this feature would be used to allow different programmers to have different sets of test data. Programmers can modify the definition of 'RUNDATA' in their profile. See link at bottom for listings of the recommended stub_profile & common_profile.

sample JCL conversions

If you are interested in migrating your applications to unix/linux, UV Softare invites you to send samples of your JCL for conversion to Korn shell scripts. Be sure to send any referenced PROCs & SYSIN parms. UV Software will return the converted equivalent Korn shell scripts within a few days (at no charge).

links to more information

 http://www.uvsoftware.ca                 - UV Software Home Page
 http://www.uvsoftware.ca/jclcnv1demo.htm - JCL Conversion to Unix/Linux scripts
 http://www.uvsoftware.ca/jclcnv1demo.htm#Part_2 - sample JCL & converted scripts
 http://www.uvsoftware.ca/jclcnv1demo.htm#1B1 - stub & common profiles
 http://www.uvsoftware.ca/jclcnv2real.htm - instructions for your conversion vs demos
 http://www.uvsoftware.ca/datacnv1.htm#Part_3  - DATA conve
 http://www.uvsoftware.ca/uvsort.htm      - uvsort documentation
 http://www.uvsoftware.ca/libuvhd.htm     - download uvhd FREE utility
 http://www.uvsoftware.ca/uvprices.htm    - prices & partner agreements
 http://www.uvsoftware.ca/uvintro.htm#G1  - customer list & reference letters
 http://www.uvsoftware.ca/news/           - all newsletters past & present

I invite your feedback. Let me know if these news letters are useful to you, and any suggestions you may have for improvements.

Thank You, Owen Townsend, UV Software Inc.

Goto:   Begin this document End this document UVSI Home-Page