View previous topic :: View next topic
|
Author |
Message |
Digvijay Singh
Active User
Joined: 20 Apr 2022 Posts: 148 Location: India
|
|
|
|
Hi all,
I am getting above error while executing a rexx which internally submitting a JCl in tep dsn
I know there are already post in forum to resolve this issue and i tried it few of the way to resolve this
ERROR I was getting before:
Code: |
"
>>> "ALLOC DD(TEMPDSN) DS('AXT0.TIMSUBB.DCSQBTCH.D373352') NEW CATAL
BLKSIZE(0) RELEASE REU"
353 *-* "EXECIO * DISKW TEMPDSN (FINIS STEM Job."
>>> "EXECIO * DISKW TEMPDSN (FINIS STEM Job."
354 *-* "ISPEXEC VIEW DATASET('"tempdsn"')"
>>> "ISPEXEC VIEW DATASET('AXT0.TIMSUBB.DCSQBTCH.D373352')"
ISPP330 BDISPMAX exceeded -/-100 displays exceeded in batch mode on pane
******************************** END OF DATA ************ |
**********************
but still no luck
Code: |
i tried putting this code in my jcl ISPSTART CMD(%TIMSUBB) BDISPMAX(100000)' |
i get error now
Code: |
>>> "ALLOC DD(TEMPDSN) DS('AXT0.TIMSUBB.DCSQBTCH.D057521') NEW CATAL
LKSIZE(0) RELEASE REU"
353 *-* "EXECIO * DISKW TEMPDSN (FINIS STEM Job."
>>> "EXECIO * DISKW TEMPDSN (FINIS STEM Job."
354 *-* "ISPEXEC VIEW DATASET('"tempdsn"')"
>>> "ISPEXEC VIEW DATASET('AXT0.TIMSUBB.DCSQBTCH.D057521')"
ISPP330 BDISPMAX exceeded -/-100000 displays exceeded in batch mode on p
|
What code is doing is trying to submit a job which is being dynamically created in a temp data set. I am not sure whether the code is going in loop and it need a manual interference to stop this .
Please suggest me how i can resolve it any post suggestion is also fine I will work on it. |
|
Back to top |
|
|
enrico-sorichetti
Superior Member
Joined: 14 Mar 2007 Posts: 10886 Location: italy
|
|
|
|
the error normally occurs when issuing terminal oriented ispf commands in batch mode
check if the rexx script runs interactively or in batch mode
DO not issue the view command if in batch mode |
|
Back to top |
|
|
Digvijay Singh
Active User
Joined: 20 Apr 2022 Posts: 148 Location: India
|
|
|
|
Thanks for your reply ,
I am new in rexx, Yes i am executing the rexx in batch mode what command I can use instead of View below is my exisitng code.
Code: |
DO
Time = TIME(LONG)
PARSE VAR Time . '.' Seed
tempdsn = 'AXT0.TIMSUBB.'SYSVAR(SYSUID)'.D'Seed
"ALLOC DD(TEMPDSN) DS('"tempdsn"') NEW CATALOG UNIT(SYSDA) CYL SPACE
"EXECIO * DISKW TEMPDSN (FINIS STEM Job."
"ISPEXEC VIEW DATASET('"tempdsn"')"
IF AllEnv = 1 THEN
DO
Env = 'ALL'
AllEnv = 0
END
csr = 'SUBJOB'
END |
any help here would be much appreciated. |
|
Back to top |
|
|
Willy Jensen
Active Member
Joined: 01 Sep 2015 Posts: 735 Location: Denmark
|
|
|
|
Quick-and-dirty solution to differentiate between online and batch:
Code: |
if left(sysvar('sysenv'),1)='F' then "ISPEXEC VIEW DATASET('"tempdsn"')"
else do
"EXECIO * DISKR TEMPDSN (FINIS STEM lst."
do n=1 to lst.0
say strip(lst.n,'t')
end
end
|
Something else, it is most strongly recommended never to use the asterix in EXECIO WRITE, in your case you really should do
"EXECIO" job.0 "DISKW TEMPDSN (FINIS STEM Job."
of course assuming that job.0 contains the number of entries in the stem (which it should). |
|
Back to top |
|
|
Willy Jensen
Active Member
Joined: 01 Sep 2015 Posts: 735 Location: Denmark
|
|
|
|
I also recommend that you change your logic to not write to that temp dataset at all, if you are in batch, just show the job. stem directly. |
|
Back to top |
|
|
hankoerlemans
New User
Joined: 25 Jan 2018 Posts: 61 Location: Australia
|
|
|
|
Quote: |
to submit a job which is being dynamically created in a temp data set |
Look up the use of INTRDR and allocate. Submit direct to JES and bypass the temp data set altogether unless you need it for verification. |
|
Back to top |
|
|
Joerg.Findeisen
Senior Member
Joined: 15 Aug 2015 Posts: 1334 Location: Bamberg, Germany
|
|
|
|
hankoerlemans wrote: |
Quote: |
to submit a job which is being dynamically created in a temp data set |
Look up the use of INTRDR and allocate. Submit direct to JES and bypass the temp data set altogether unless you need it for verification. |
See also "SUBMIT * JOBCHAR(..) END($$)" for another way to do it. |
|
Back to top |
|
|
Digvijay Singh
Active User
Joined: 20 Apr 2022 Posts: 148 Location: India
|
|
|
|
Thank all for your suggestion.
I tried multiple things still error were there at the end i commented out the that line please see below.
Code: |
ELSE
DO
Time = TIME(LONG)
PARSE VAR Time . '.' Seed
tempdsn = 'AXT0.TIMSUBB.'SYSVAR(SYSUID)'.D'Seed
"ALLOC DD(TEMPDSN) DS('"tempdsn"') NEW CATALOG UNIT(SYSDA) CYL SPACE
"EXECIO * DISKW TEMPDSN (FINIS STEM Job."
/* "ISPEXEC VIEW DATASET('"tempdsn"')" */
IF AllEnv = 1 THEN
DO
Env = 'ALL'
AllEnv = 0
END
csr = 'SUBJOB'
END |
rexx ran fine but the job in that tmp dsn data set is not submitting . I know i am missing code to submit the job actually this rexx was getting called through panel i am trying to run this rexx in batch mode i had done modification to this rexx.
Is it possible here to submit this job kept in this tmp data set automatically ? |
|
Back to top |
|
|
daveporcelan
Active Member
Joined: 01 Dec 2006 Posts: 792 Location: Pennsylvania
|
|
|
|
How about:
It will depend how the Rexx is invoked via Batch however.
You need to be running under TSO (IKJEFT01 or the like) |
|
Back to top |
|
|
Digvijay Singh
Active User
Joined: 20 Apr 2022 Posts: 148 Location: India
|
|
|
|
Joerg.Findeisen wrote: |
hankoerlemans wrote: |
Quote: |
to submit a job which is being dynamically created in a temp data set |
Look up the use of INTRDR and allocate. Submit direct to JES and bypass the temp data set altogether unless you need it for verification. |
See also "SUBMIT * JOBCHAR(..) END($$)" for another way to do it. |
Thanks for your suggestion.
What does this piece of code will do ?
"SUBMIT * JOBCHAR(..) END($$)"
is it gonna submit the job ? what does JOBCHAR(..) mean here is it jobname? |
|
Back to top |
|
|
Pedro
Global Moderator
Joined: 01 Sep 2006 Posts: 2594 Location: Silicon Valley
|
|
|
|
Quote: |
What does this piece of code will do ?
"SUBMIT * JOBCHAR(..) END($$)" |
Using Asterisk here tells the SUBMIT command to submit as a job whatever is in the queue. Your job statements are already in the stem variable "job.", so put all of those statements into the queue.
The '$$' tells SUBMIT to stop at this line, in case there is something else that is unrelated to this job in the queue. (though, newstack / delstack should eliminate this possibility).
Something like this (untested):
Code: |
"NEWSTACK"
Do a = 1 to job.0
"QUEUE" job.a
End
"QUEUE $$" /*terminates SUBMIT*/
"SUBMIT * JOBCHAR(..) END($$)"
"DELSTACK"
|
See for more info: www.ibm.com/docs/en/zos/2.1.0?topic=subcommands-submit-command
You would use the QUEUE and SUBMIT instead of ALLOC, EXECIO, SUBMIT and FREE. My recollection is that using the queue instead of a temp dataset for this application is less expensive. |
|
Back to top |
|
|
Willy Jensen
Active Member
Joined: 01 Sep 2015 Posts: 735 Location: Denmark
|
|
|
|
Sample of writing a stem 'job.' to internal reader. The ddname is generated automatically by the BPXWDYN program.
Code: |
call bpxwdyn 'alloc sysout(a) writer(intrdr) rtddn(intrdrdd)'
"execio" job.0 "diskw" intrdrdd "(stem job. finis)"
call bpxwdyn 'free dd('intrdrdd')' |
|
|
Back to top |
|
|
Digvijay Singh
Active User
Joined: 20 Apr 2022 Posts: 148 Location: India
|
|
|
|
daveporcelan wrote: |
How about:
It will depend how the Rexx is invoked via Batch however.
You need to be running under TSO (IKJEFT01 or the like) |
Thank you all, it was simple i commented out the VIEW command and simply submitted it and it worked , probably view command causing the logic to go in loop until someone press enter to submit the JCl.
Thank you once again. |
|
Back to top |
|
|
|