Browse Prior Art Database

Method and process for resolving substitution values in job control language

IP.com Disclosure Number: IPCOM000200870D
Publication Date: 2010-Oct-27
Document File: 2 page(s) / 46K

Publishing Venue

The IP.com Prior Art Database

Abstract

Method and process for resolving substitution values in job control language.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 54% of the total text.

Page 01 of 2

Method and process for resolving substitution values in job control language

Job control Language (JCL) used by operating systems uses substitution to turn symbolic logical names into physical names for resources such as data sets.

When reading JCL associated with a job the user has to manually relate the

job steps with the physical values. This invention describes a process whereby that

can be automated and assist in software tools which need to map the symbolic values to the actual values and assist with tasks such as cloning of subsystems started with JCL

    The core of the approach is to find symbolic values and then lookup the non-symbolic characters in the JCL and attempt to match the two so work out what the physical actual value is that is associated with the executed program. This is described more in step 3 - the essence of this approach is to use a set of rules for matching symbolic to actual values and provide a representation that can be used by automation tools or shown to the user in editors and viewers

    When we are parsing the JCL for a CICS region (in output step JESJCL), we may find symbolic values (effectively variables) that can be set either earlier in the JCL, or when the JCL is invoked. These values are often used in dataset names, but may also be used for parameters and other values. We can see what the symbolic values map to at execution time because the output in JESJCL will include a line that shows the line with the symbol resolved. Thus, the output will include lines such as the following:

26 // DD DISP=SHR,DSN=&CICSAUT2

IEFC653I SUBSTITUTION JCL -

DISP=SHR,DSN=CTS320.CICS650.SDFHAUT

    So, in the above very simple example, we can see that '&CICSAUT2' maps to 'CTS320.CICS650.SDFHAUT'. In a slightly more complex example, where we do not simply have the symbol representing an entire field, we can derive the symbol by matching up the non-symbolic characters in both strings, and then we can say with confidence that the symbol represents the characters that are in the expanded string, but not in the unexpanded string.

27 // DD DISP=SHR,DSN=JT1.&MLQ..JCL

IEFC653I SUBSTITUTION JCL - DISP=SHR,DSN=JT1.CICS.JCL

    In this example, we can see that the strings 'JT1.' and '.JCL' are in both strings. Excluding these from the expanded string leaves just 'CICS', so we can see that the symbol '&MLQ.' represents the value 'CICS'.

    When we are cloning a CICS region, we need to use the fully resolved values to identify the names of the datasets used by the...