Gil, thanks.

Yes, I am modifying (actually, repeatedly building on the fly) the member
itself in the PDS referenced by JCLLIB, not changing the member name in the
INCLUDE statement.

This is not some "I think I'll improve the user's job" sort of thing. This
is a test process for a batch product. I've got 20 or so jobs that exercise
the product in various ways, and then I have been using two INCLUDE files to
parametize certain aspects of those jobs, so by commenting out or
"un-commenting" certain defined statements in the INCLUDE files, the total
number of variations in the whole suite is quite high: Does feature X work?
Does feature X work if you also turn on option A? Etc.

I have been doing this manually, working from a checklist:

- Set the INCLUDE files in a certain way.
- Run a certain six jobs and watch for zero return codes
- Make certain modifications to the INCLUDE files
- Run a specific set of seven jobs
And so forth.

I'm getting bored with this three-hour manual process, and boredom makes it
more likely that I skip some step and thereby skip some part of the release
regression test, or OTOH generate a false error that ruins my day until I
figure out it is a testing error, not a last minute software bug.

So I'm trying to automate it. (Automate just the submission part -- I can
scan ISPF pretty quickly for seventy 0000 return codes.) I have an exec that
effectively does the INCLUDE file modifications (building), and then I
started on a "meta" script to drive the whole thing:

- Build the INCLUDE files a certain way
- Submit six specific jobs
- Build the INCLUDE files in a certain variant way
- Submit seven specific jobs
Etc.

So these are not "general purpose" INCLUDE files that I am whacking on.

Are there other ways I could do this? Of course. Could I build the entire
test job on the fly? I suppose so, but that is a major change from what I am
doing today. Building test jobs that will run in a development environment
in a constant way and give a can't-miss zero or not, go or no-go return code
is not a trivial process, and I don't find it to be much fun. I really want
to minimize the re-do of that part.

Unfortunately, in the current setup, the jobs in question don't INCLUDE the
subject INCLUDE files directly, they're nested (only one deep!) in INCLUDEs
that have certain "constant" (for a given round of testing) things like the
load library name, but I suppose I can work with that somehow.

Thanks again,

Charles

-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On Behalf
Of Paul Gilmartin
Sent: Monday, October 16, 2006 4:41 PM
To: IBM-MAIN@BAMA.UA.EDU
Subject: Re: Collisions between converter(?) and TSO?

In a recent note, Tony Harminc said:

> Date:         Mon, 16 Oct 2006 17:35:35 -0400
> 
> > Are you implying that the basic job file is completely read
> > before the TSO SUBMIT command returns to the issuer? In other words,
that
> > the following sequence would be safe?
> >
> > "SUB X.CNTL(ABC)"
> > Allocate, modify, and free X.CNTL(ABC)

Your OP said "Modify a JCL INCLUDE used by the job."  I take this
to mean you're updating the INCLUDE member in JCLLIB, rather
than changing the member named in the "INCLUDE" in the primary
JCL.

> > "SUB X.CNTL(ABC)"
> 
I'd place far less weight on Tony's "Sure" than on "Some time later, ...
the converter ... may read INCLUDE members ..."  This strikes me as a
major serialization hazard -- you don't know how many additional jobs
you may have submitted and how many times you have updated the INCLUDE
member in vain before the converter gets around to reading the INCLUDE
member for the first job.

Since you're in a script anyway, I'd recommend scanning for the "INCLUDE",
converting it to a comment, and copying the INCLUDE member inline,
modifying on the fly.  Serialization concerns vanish, and you need
never modify the primary copy of the INCLUDE member.

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to