View previous topic :: View next topic
|
Author |
Message |
senmainframe Currently Banned New User
Joined: 09 Oct 2007 Posts: 30 Location: USA
|
|
|
|
You meant to say, if my customized jcl has iebgenr as the last step, I cant use INTRDR?.. Is it so? |
|
Back to top |
|
|
enrico-sorichetti
Superior Member
Joined: 14 Mar 2007 Posts: 10873 Location: italy
|
|
|
|
I mean that You will need two pds one for the unmodified jcl
the second for the customized jcl
the logic would then be
copy using rexx from the first pds to the second pds
customizing to your need and
adding ( but it could be already there ) the iebgener step
submit the first job of the chain..
at this point You would not need to retrieve the job number,
I do not see any need for it
But I have a question/doubt
are You trying to build a small scheduler ??
for a little chain of a few jobs ( less then 5 I would say ) it would not be a problem
but when the chain gets longer, constraint and alternate execution paths will spring out
and then You will be in trouble..
Evaluate if it is not safer to use a standard scheduler with its job customization facility |
|
Back to top |
|
|
senmainframe Currently Banned New User
Joined: 09 Oct 2007 Posts: 30 Location: USA
|
|
|
|
here I have one queestion, if I submit series of jobs with same job card (JOBID, CLASS, priority) for all jobs, it will execute one by one, once it over next one will start as an order (if it is 100% sure, no performance issue or no other issues in this), I would not got for INTRDR or other scheduer concept, but I heard that that will depend on JES system, sometime JES will take random jobs to run in the queue. Please confirm this?..
If this scanario works out, my next dooubt is how I will capture the RC code of the each job if return code > or equal 8 of any job, from next jobs in the queue will be automatically cancelled. Any simpe solution for this? I tried to use TSO STATUS, but I am not able to achieve (beacuse of lack of my REXX knowledge). Also I tried to OFF TSO message and tried to capture my customized message.
Now I request your valuable comments and sample code for this
Thank you in advance. |
|
Back to top |
|
|
enrico-sorichetti
Superior Member
Joined: 14 Mar 2007 Posts: 10873 Location: italy
|
|
|
|
From Your description the simplest logic would be the iebgener as the last step approach
Where would You execute the REXX with the TO STATUS Approach ?
the coding would be much more difficult, also to cancel jobs waiting the execution would imply very strict timings..
Using the iebgener approach with the conditioncode checking will achieve what You want in the simplest way...
Remeber that Your concept of jobnumber,class is not correct..
You will know the job number only after You submit it
For your need it is enough the jobname, which for the iebgener aproach
would be best if it were equal to the member name |
|
Back to top |
|
|
senmainframe Currently Banned New User
Joined: 09 Oct 2007 Posts: 30 Location: USA
|
|
|
|
Please correct me, if i am wrong. The following is the requirement.
I have totally 38 jobs. After changing the common characer (OC12) with new character, All jobs should be executed one by one. If any jobs get abended, other jobs should nt run.
Approach ( I am coding so far)
1)All 38 jobs have in the same PDS (CAA1035.REXX.JCL). member names are as folows
jcl1
jcl2
jcl3 (it should execute different LPAR)
jcl4
jcl5
jcl6
jcl7
..
..
..
jcl38
The all jcls have same jobcard.
thru my REXX, if I submit all these jobs one by one. Will it execute one by one (one jobs is completed, next one will start, because all jobs are in same queue) - If this approach is right, why would I go for IEBGENR approach with INTRDR concept. when one job over I will know the status. After this I dono how to stop execute other jobs in the input queue.
2) Lets come to IEBGENR approach, when I am editing jcl using the following code, where I will temproarily add IEBGENR/IEFBR14 step to execute the next job using INTRDR. Can you guide this.
Code: |
EDIT_JCL:
"ALLOC DD(INDD) DA('CAA1035.REXX.JCL(JCL"JCLNUM")') SHR
REU"
"EXECIO * DISKR INDD (STEM IN. FINI"
index = IN.0
DO record = 1 to index
IF POS('OC12',IN.record) > 0 THEN DO
POS1 = POS('OC12',IN.record)
SAY POS1
IN.record = OVERLAY(NEWBLK,IN.record,POS1,4)
SAY IN.record
END
IF POS('DATASET(',IN.record) > 0 THEN
DO
TEMP = "DATASET("DSNPROF")"
IN.record = OVERLAY(TEMP,IN.record,1,80)
SAY IN.record
END
END
"FREE FILE(INDD)"
RETURN 0 |
|
|
Back to top |
|
|
enrico-sorichetti
Superior Member
Joined: 14 Mar 2007 Posts: 10873 Location: italy
|
|
|
|
Quote: |
when one job over I will know the status. After this I dono how to stop execute other jobs in the input queue. |
That' s exactly my point, it cannot be done!
that' s why You need in each job a last step to decide if submit or not the next one |
|
Back to top |
|
|
|