IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

ISPP330 BDISPMAX exceeded


IBM Mainframe Forums -> CLIST & REXX
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
Digvijay Singh

Active User


Joined: 20 Apr 2022
Posts: 148
Location: India

PostPosted: Thu May 18, 2023 3:50 pm
Reply with quote

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:


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
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10886
Location: italy

PostPosted: Thu May 18, 2023 5:39 pm
Reply with quote

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
View user's profile Send private message
Digvijay Singh

Active User


Joined: 20 Apr 2022
Posts: 148
Location: India

PostPosted: Thu May 18, 2023 6:55 pm
Reply with quote

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
View user's profile Send private message
Willy Jensen

Active Member


Joined: 01 Sep 2015
Posts: 735
Location: Denmark

PostPosted: Thu May 18, 2023 7:39 pm
Reply with quote

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
View user's profile Send private message
Willy Jensen

Active Member


Joined: 01 Sep 2015
Posts: 735
Location: Denmark

PostPosted: Thu May 18, 2023 7:42 pm
Reply with quote

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
View user's profile Send private message
hankoerlemans

New User


Joined: 25 Jan 2018
Posts: 61
Location: Australia

PostPosted: Fri May 19, 2023 9:25 am
Reply with quote

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
View user's profile Send private message
Joerg.Findeisen

Senior Member


Joined: 15 Aug 2015
Posts: 1334
Location: Bamberg, Germany

PostPosted: Fri May 19, 2023 11:07 am
Reply with quote

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
View user's profile Send private message
Digvijay Singh

Active User


Joined: 20 Apr 2022
Posts: 148
Location: India

PostPosted: Fri May 19, 2023 8:12 pm
Reply with quote

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
View user's profile Send private message
daveporcelan

Active Member


Joined: 01 Dec 2006
Posts: 792
Location: Pennsylvania

PostPosted: Fri May 19, 2023 8:31 pm
Reply with quote

How about:

Code:
"SUBMIT " tempdsn


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
View user's profile Send private message
Digvijay Singh

Active User


Joined: 20 Apr 2022
Posts: 148
Location: India

PostPosted: Fri May 19, 2023 8:35 pm
Reply with quote

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
View user's profile Send private message
Pedro

Global Moderator


Joined: 01 Sep 2006
Posts: 2594
Location: Silicon Valley

PostPosted: Fri May 19, 2023 11:02 pm
Reply with quote

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
View user's profile Send private message
Willy Jensen

Active Member


Joined: 01 Sep 2015
Posts: 735
Location: Denmark

PostPosted: Sat May 20, 2023 1:55 am
Reply with quote

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
View user's profile Send private message
Digvijay Singh

Active User


Joined: 20 Apr 2022
Posts: 148
Location: India

PostPosted: Thu May 25, 2023 10:11 am
Reply with quote

daveporcelan wrote:
How about:

Code:
"SUBMIT " tempdsn


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
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> CLIST & REXX

 


Similar Topics
Topic Forum Replies
No new posts SORT CAPACITY EXCEEDED Different results DFSORT/ICETOOL 17
No new posts Maximum Lines exceeded in $savers (Sa... All Other Mainframe Topics 4
No new posts WER046A SORT CAPACITY EXCEEDED JCL & VSAM 10
No new posts SORT CAPACITY EXCEEDED JCL & VSAM 22
No new posts DFSORT Abending with message - SORT C... DFSORT/ICETOOL 5
Search our Forums:

Back to Top