.
.
.
dsname = "T54V01H.SASHI.UTIL "
do_it = 0
xxx = 0
x = OUTTRAP('var.')
Address 'TSO' 'LISTDS 'dsname 'MEMBERS'
x = OUTTRAP('OFF')
do i = 1 to var.0
if do_it = 1 then
do
xxx = xxx + 1
MEML.xxx = var.i
end
if do_it = 0 then
do
if var.i = '--MEMBERS--' then do_it = 1
end
end
MEML.0 = xxx
do i = 1 to MEML.0
ADDRESS TSO "SUBMIT 'T54V01H.SASHI.UTIL('"MEML.i"')'"
end
.
.
.
Good luck - Grant.
"Dumpa,
Sasikanth"
<Sasikanth.Dumpa@ To
AIG.COM> TSO-...@VM.MARIST.EDU
Sent by: TSO REXX cc
Discussion List
<TSO-...@VM.MARI Subject
ST.EDU> [TSO-REXX] Mass Compilation
10/04/2006 12:06
Please respond to
TSO REXX
Discussion List
<TSO-...@VM.MARI
ST.EDU>
Hi,
My problem is I have to compile around 300 programs at a time. I mean by
executing a Rexx or whatever it should at a time submit a list of 250 to
300
programs for compilation...for this I have written a Rexx but it is some
what cumbersome, I want to know is there anyother easy way for that...my
Rexx is as below
/* REXX */
ADDRESS ISPEXEC
DATAID="'"T54V01H.SASHI.UTIL"'"
"ISPEXEC LIBDEF ISPSLIB DATASET ID("DATAID")"
ADDRESS TSO
"ALLOC F(SAS) SHR DS('T54V01H.SASHI.BTSB.PANLIB(MEM1)') REUSE"
"EXECIO * DISKR SAS (FINIS STEM IN."
ADDRESS ISPEXEC
CNT1 = 1
DO I = 1 TO IN.0
CALL PROG_NAME
END
EXIT
PROG_NAME:
INT_UTIL = WORD (IN.I, 1)
PROG = INT_UTIL
CNT = CNT1
ADDRESS TSO "SUBMIT 'T54V01H.SASHI.UTIL (BTSCOM"CNT")'"
CNT1 = CNT1 + 1
RETURN
But the Problem with this Rexx is that I have to Define as many number of
jobs that I want to submit..I tried with file tailoring technique but when
it is trying to compile the second program it is telling the temporary file
is not usable.
Can anyone Suggest me Easier way to do this??
----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to LIST...@VM.MARIST.EDU with the message: INFO TSO-REXX
----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to LIST...@VM.MARIST.EDU with the message: INFO TSO-REXX
bobh
-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-...@VM.MARIST.EDU] On Behalf
Of Walter u. Christel Pachl
Sent: Monday, April 10, 2006 8:27 AM
To: TSO-...@VM.MARIST.EDU
Subject: Re: Mass Compilation
Instead of using FT-Services you can easily use Rexx to change a
skeleton-JCL for each program name and generate 50 or 100 steps each of
them compiling one program.
Send me the JCL of one compile and I'll help you with the generation...
Walter
----- Original Message -----
From: "Lindy Mayfield" <Lindy.M...@SSF.SAS.COM>
To: <TSO-...@VM.MARIST.EDU>
Sent: Monday, April 10, 2006 3:02 PM
Subject: Re: [TSO-REXX] Mass Compilation
Hi,
Can you be more specific about the problem you have with file tailoring?
Can you also tell a little about what you are compiling?
I've done things like this before. Let's say you have 250 - 300 COBOL
programs and say they are all regular compile/link. Basically one JCL
job stream and the only thing that changes is the name of the COBOL
source and the load module.
So you could have an input file with the list of COBOL program names:
COB001
COB003
COB004
COB005
Your Rexx could read that file and then using the FT services it could
customize the JCL by putting in the COBOL names in the appropriate
places and submit one JCL job for each COBOL program. This might be the
easiest.
You also have other choices. You can also create one big JCL job stream
with 20 or 50 (depending on the number of steps allowed in one JCL
stream, I
forget) compile/links in each job. That would take a little more
coding.
You could submit the compile/link as suggested above (one per job) but
you can either keep the job name the same so that they queue up and one
submits after the other finishes, or you can cycle the job names with
the suffix A-Z so that you have up to 26 running at one time.
Probably if you show your skeleton JCL we may be able to say what is
wrong.
I don't quite understand what you mean by the temporary file.
Lindy
I am reading from an input file to rexx where the members are defined and
then submitting the jobs through rexx to compile all the programs at a time.
For this when I am using file tailoring I am getting an error message like
IKJ56250I JOB SNMS854A(JOB17433) SUBMITTED
23 *-* RETURN
IKJ56265I INPUT DATA SET T54VSDU.GCUV.ISPCTL1 NOT USABLE+
IKJ56265I THE DATA SET IS EMPTY
***
My Rexx is as below :
ADDRESS ISPEXEC
DATAID="'"T54V01H.SASHI.UTIL"'"
"ISPEXEC LIBDEF ISPSLIB DATASET ID("DATAID")"
ADDRESS TSO
"ALLOC F(SAS) SHR DS('T54V01H.SASHI.BTSB.PANLIB(MEM1)') REUSE"
"EXECIO * DISKR SAS(FINIS STEM IN."
ADDRESS ISPEXEC
DO I = 1 TO IN.0
CALL PROG_NAME
END
EXIT
PROG_NAME:
INT_UTIL = WORD(IN.I,1)
PROG = INT_UTIL
"FTOPEN TEMP"
"FTINCL BTSCOMP"
"VGET ZTEMPF"
"FTCLOSE"
ADDRESS TSO "SUBMIT" "'"ZTEMPF"'"
"LIBDEF ISPSLIB"
TRACE I
RETURN
Where Prog is the program name that I am reading from the member list. This
I am defining in my jcl as &prog and passing it through this FT technique .
First time the job has submitted but when it is trying to submit the second
job it is giving
IKJ56265I INPUT DATA SET T54VSDU.GCUV.ISPCTL1 NOT USABLE+
IKJ56265I THE DATA SET IS EMPTY
Can you please resolve this issue?
1. DATAID="'"T54V01H.SASHI.UTIL"'" should be
DATAID="'T54V01H.SASHI.UTIL'"
2. Your "LIBDEF ISPSLIB" statement shouldn't be inside your PROG_NAME
routine; it should be after your DO loop, just before EXIT
George