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

How to capture a failure when running SDSF in batch


IBM Mainframe Forums -> TSO/ISPF
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
gcicchet

Senior Member


Joined: 28 Jul 2006
Posts: 1702
Location: Australia

PostPosted: Tue Jun 10, 2008 4:09 pm
Reply with quote

Hi,
when running the following code the job returns a rc of 0 even though it failed with space issues.

Code:

//SDSF     EXEC PGM=IKJEFT01                                           
//SYSPRINT DD SYSOUT=*                                                 
//SYSTSPRT DD SYSOUT=*                                                 
//ISFOUT   DD SYSOUT=*                                                 
//LOGOUT   DD DSN=CSCSGLC.ONEOFF.LOGOUT,                             
//            DISP=(,CATLG,DELETE),                                     
//            UNIT=SYSDA,                                               
//            SPACE=(TRK,(1)),                                         
//            DCB=(RECFM=FBA,LRECL=133)                                 
//SYSTSIN  DD  *                                                       
  SDSF                                                                 
//ISFIN    DD  *                                                       
  LOG                                                                   
  PRINT FILE LOGOUT                                                     
  PRINT 00:00:00 23:59:00                                               
  PRINT CLOSE                                                           
//*                                                                     



Code:
-JOBNAME  STEPNAME PROCSTEP    RC   EXCP   CONN    CPU    SRB  CLOCK   SERV  PG
-CSCSGLCC DELETE               00     22     15    .00    .00     .0    112   0
IEC031I D37-04,IFG0554P,CSCSGLCC,SDSF,LOGOUT,55A2,DEV027,CSCSGLC.ONEOFF.LOGOUT 
-CSCSGLCC SDSF                 00    322    153    .00    .00     .0    965   0



Now I know I can increase the space parameter, the above space parameter was used to highlight the problem.

My question is how can I get the step to fail with a non zero rc when there is a failure so I can flush any subsequent step(s).

In the ISFOUT DD there is a message :-
PRINT ABEND D37000


Thanks


Gerry
Back to top
View user's profile Send private message
expat

Global Moderator


Joined: 14 Mar 2007
Posts: 8797
Location: Welsh Wales

PostPosted: Tue Jun 10, 2008 5:19 pm
Reply with quote

Is it because the SDSF part failed, but the main REXX exec sucessfully executed the failing called program ?
Back to top
View user's profile Send private message
gcicchet

Senior Member


Joined: 28 Jul 2006
Posts: 1702
Location: Australia

PostPosted: Wed Jun 11, 2008 8:32 am
Reply with quote

Hi Expat,
that still doesn't solve my problem.

I ran the same, this time EXEC PGM=SDSF and still the same problem.


Gerry
Back to top
View user's profile Send private message
expat

Global Moderator


Joined: 14 Mar 2007
Posts: 8797
Location: Welsh Wales

PostPosted: Wed Jun 11, 2008 11:35 am
Reply with quote

I did have a little play yesterday, and tested RC & RESULT from a calling REXX, and RC was always 0 and RESULT was not initialised so I guess that SDSF doesn't return a value even if it dies.

I would imagine that SDSF is built to a rather robust design that allows sub functions to fail without affecting its overall functionality.

Still, keep up the good work icon_biggrin.gif
Back to top
View user's profile Send private message
gcicchet

Senior Member


Joined: 28 Jul 2006
Posts: 1702
Location: Australia

PostPosted: Wed Jun 11, 2008 11:49 am
Reply with quote

Hi Expat,
thanks for your perseverance, unfortunately it doesn't help the cause if the next step in the job interrogates the extracted data.


Gerry
Back to top
View user's profile Send private message
expat

Global Moderator


Joined: 14 Mar 2007
Posts: 8797
Location: Welsh Wales

PostPosted: Wed Jun 11, 2008 2:02 pm
Reply with quote

I'll have a nose around for some code that chases MVS control blocks that might be able to trap or detect the abend.

I think it originated from SuperK, so maybe he might have it too.
Back to top
View user's profile Send private message
expat

Global Moderator


Joined: 14 Mar 2007
Posts: 8797
Location: Welsh Wales

PostPosted: Wed Jun 11, 2008 3:04 pm
Reply with quote

Just found the code in question, which once again will not help you as it will find the RC given by the REXX / SDSF step, which we know will be zero.

Why can't you post easy topics ? icon_biggrin.gif
Back to top
View user's profile Send private message
gcicchet

Senior Member


Joined: 28 Jul 2006
Posts: 1702
Location: Australia

PostPosted: Wed Jun 11, 2008 3:14 pm
Reply with quote

Life was not meant to be easy icon_lol.gif
Back to top
View user's profile Send private message
Pedro

Global Moderator


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

PostPosted: Wed Jun 11, 2008 9:00 pm
Reply with quote

My experience is that you build your application a little bit at a time. Sometimes there are unanticipated problems and you just need to code around it.

Quote:

In the ISFOUT DD there is a message :-
PRINT ABEND D37000


So change your program to search ISFOUT and look for 'PRINT ABEND D37000'. If found, set return code for subsequent steps.
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 -> TSO/ISPF

 


Similar Topics
Topic Forum Replies
No new posts Running REXX through JOB CLIST & REXX 13
No new posts Execute secondary panel of sdsf with ... CLIST & REXX 1
No new posts Routing command Address SDSF to other... TSO/ISPF 2
No new posts How to get a stack trace on a looping... ABENDS & Debugging 5
No new posts Calling Java method from batch COBOL ... COBOL Programming 5
Search our Forums:

Back to Top