Browse Prior Art Database

Arbitrary User defined Variables to Govern JCL Generation

IP.com Disclosure Number: IPCOM000130736D
Original Publication Date: 2005-Nov-03
Included in the Prior Art Database: 2005-Nov-03
Document File: 3 page(s) / 49K

Publishing Venue

IBM

Abstract

JCL(Job Control Language) is the most commonly used language to compile/build COBOL, PL/I, Assembler applications on the MVS systems. System administrators typically set up JCL Procedures where all the information which a normal user need not worry like Compiler or Linker data set name is already specified, the information which is not standard and depend on the application that is being built like for e.g Compile Parms, is specified as a variable(known as symbolic parameter) and the JCL which executes this procedure is responsible for passing in the value for that variable, and the value gets substituted at the procedure execution time. The user who is writing the JCL is responsible for specifying the value for the variable. If the value for the variable changes, the user has to open the JCL file on ISPF modify the value, save the file and re-submit it to do the execution. More over, if there are 2 source files that the user has to compile and both source programs require different compile parms, then the user should create 2 JCL files and specify the value for variable in each file and the process of editing and specifying those variables is a cumbersome process. The invention allows users to provide the values for the defined variables and symbolic parameters in the JCL procedure through a easily usable User Interface. The advantage of this scheme, is the user need not have to hand code the values in each and every JCL that would be executing a given procedure. The user can set these values once, and any JCL that is generated to execute the given procedure will have these values specified automatically and the user need not have to worry about specifying these for every JCL he would like to submit to carry out a Compile or a Compile and Link or a Compile, Link and Go.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 71% of the total text.

Page 1 of 3

Arbitrary User defined Variables to Govern JCL Generation

In Websphere Studio Enterprise Developer, there is a feature for generating JCL based on properties the user specifies. The JCL can then be submitted to do builds or compiles. The invention provides a new User Interface (UI) tab which allows users to specify the variable name and variable value for proper execution of the Procedure. These properties can be set on every source file, so in a situation as described above, the user can specify the different values for the variable as a property in the UI and use the feature of generating the JCL. The generated JCL would have a SET statement which looks something like this: SET var-name = value ,and this value would be substituted at the time of execution of the procedure when the JCL is submitted.

Consider the following example:

Create a JCL Procedure by the name ASMDEBUG to debug symbolic assembler from WSED, and the sample Procedure is looks like this: //*************************************************************
//* *
//* ASMDEBUG -- SAMPLE PROCEDURE FOR ASSEMBLING HIGH LEVEL *
//* ASSEMBLER PROGRAMS AND DO THE XTRACT STEP *
//* FOR DOING THE SYMBOLIC ASSEMBLER DEBUG. *
//* *
//* Licensed Materials - Property of IBM *
//* 5724-B67 *
//* (C) Copyright IBM Corp. 2003 *
//* *
//* WebSphere Studio Enterprise Developer Options for z/OS *
//* *
//*************************************************************
//* *
//* CUSTOMIZE THIS PROCEDURE AS PER YOUR SITE REQUIREMENTS *
//* *
//* THIS PROCEDURE WILL BE USED BY WSED TO ASSEMBLE HIGH *
//* LEVEL ASSEMBLER PROGRAMS. *
//* *
//* CUSTOMIZATION TASKS: *
//* *
//* 1) MODIFY THE LNGPRFX VALUE AS PER YOUR SITE *
//* REQUIREMENTS. DEFAULT VALUE IS 'SYS1' *
//* *
//* ADDITIONAL COMMENTS: *
//* *
//* SYSIN, SYSLIN AND SYSLIB DD CARDS WILL BE PROVIDED *
//* BY THE GENERATION CODE. *
//* *
//*************************************************************
// ASMDEBUG PROC LNGPRFX = 'SYS1'
// ASM EXEC PGM =ASMA90, REGION =2048K,
// PARM =( 'TEST' ,
// 'ADATA' ,
// 'LIST' )
// STEPLIB DD DSN =&LNGPRFX..LINKLIB, DISP =SHR
// SYSPRINT DD SYSOUT =*
// SYSLIN DD DUMMY
// SYSUT1 DD UNIT =SYSALLDA, SPACE =(CYL,(1,1))
// SYSUT2 DD UNIT =SYSALLDA, SPACE =(CYL,(1,1))
// SYSUT3 DD UNIT =SYSALLDA, SPACE =(CYL,(1,1))
// SYSUT4 DD UNIT =SYSALLDA, SPACE =(CYL,(1,1))

1

Page 2 of 3

// SYSUT5 DD UNIT =SYSALLDA, SPACE =(CYL,(1,1))
// SYSUT6 DD UNIT =SYSALLDA, SPACE =(CYL,(1,1))
// SYSUT7 DD UNIT =SYSALLDA, SPACE =(CYL,(1,1))
//*
// SYSTERM DD SYSOUT =*
// SYSADATA DD DSNAME =&ADATADS(&MEM), DISP =SHR
// XTRACT EXEC PGM =EQALANGX, REGION =32M,
// PARM = '&MEM (ASM ERROR OFT IDILANGX FAULT'
// SYSADATA DD DSNAME =&ADATADS(&MEM), DISP =SHR
// IDILANGX DD DSNAME =&LANGXDS(&MEM), DISP =SHR
//*

Note that there are three parms that have been defined in the Procedure: &ADA...