View previous topic :: View next topic
|
Author |
Message |
gcicchet
Senior Member
Joined: 28 Jul 2006 Posts: 1702 Location: Australia
|
|
|
|
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 |
|
|
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 8797 Location: Welsh Wales
|
|
|
|
Is it because the SDSF part failed, but the main REXX exec sucessfully executed the failing called program ? |
|
Back to top |
|
|
gcicchet
Senior Member
Joined: 28 Jul 2006 Posts: 1702 Location: Australia
|
|
|
|
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 |
|
|
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 8797 Location: Welsh Wales
|
|
|
|
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 |
|
Back to top |
|
|
gcicchet
Senior Member
Joined: 28 Jul 2006 Posts: 1702 Location: Australia
|
|
|
|
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 |
|
|
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 8797 Location: Welsh Wales
|
|
|
|
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 |
|
|
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 8797 Location: Welsh Wales
|
|
|
|
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 ? |
|
Back to top |
|
|
gcicchet
Senior Member
Joined: 28 Jul 2006 Posts: 1702 Location: Australia
|
|
|
|
Life was not meant to be easy |
|
Back to top |
|
|
Pedro
Global Moderator
Joined: 01 Sep 2006 Posts: 2547 Location: Silicon Valley
|
|
|
|
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 |
|
|
|