As I reviewed the differences between IKJEFT01, IKJEFT1A, and IKJEFT1B, I
think that the way the entry points return the Return code is not clear.
For IKJEFT1A and IKJEFT1B they seem similar.  Which may be confusing the
issue.


**PGM=IKJEFT01
When a command completes with a non-zero return code, the program goes to
the next command. When a command abends, the step ends with a condition code
of 12 (X'C').

**PGM=IKJEFT1A
If a command or program being processed by IKJEFT1A ends with a system
abend, IKJEFT1A causes the job step to terminate with a X'04C' system
completion code. IKJEFT1A also returns to the caller the completion code
from the command or program in register 15.
If a command or program being processed by IKJEFT1A ends with a user abend,
IKJEFT1A saves the completion code in register 15 and then terminates.
If a command, program or REXX exec being processed by IKJEFT1A returns a
non-zero return code to IKJEFT1A, IKJEFT1A saves this return code in
register 15 and then terminates. Non-zero return codes to IKJEFT1A from
CLISTs will not affect the contents of register 15 and the TMP will continue
processing.
For a non-zero return code or an abend from a command or program that was
not given control directly by IKJEFT1A, no return code is saved in register
15, and IKJEFT1A does not terminate.

**PGM=IKJEFT1B
If a command or program being processed by IKJEFT1B ends with a system or
user abend, IKJEFT1B causes the job step to terminate with a X'04C' system
completion code. IKJEFT1B also returns to the caller the completion code
from the command or program in register 15.
If a command, program, CLIST, or REXX exec being processed by IKJEFT1B
returns a non-zero return code to IKJEFT1B, IKJEFT1B saves this return code
in register 15 and then terminates.
For a non-zero return code or abend completion code from a program or
command that was not given control by IKJEFT1B, no return code is saved in
register 15, and IKJEFT1B does not terminate.

So, is it possible that you are expecting a behavior that is not normal to
IKJEFT1B?  Or am I mis-understanding your process?  I am not sure an ESTAI
works with IKJEFT1B like is thought.    So how are you setting up the ESTAI
and IKJEFT1B?  Is control being passed correctly?  Or is IKJEFT1B getting an
abend from somewhere else and is not in control at the time?


Lizette


> -----Original Message-----
> From: IBM Mainframe Assembler List
[mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU]
> On Behalf Of Walt Farrell
> Sent: Sunday, April 07, 2013 7:17 AM
> To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
> Subject: Re: ESTAI & IKJEfT1B 04C
>
> On Sat, 6 Apr 2013 11:10:58 -0400, Phil <phil_sid...@hotmail.com> wrote:
>
> >I'm trying to front-end some existing IKJEFT1B job steps to do some setup
&
> >checking before and cleanup after.   In my testing, any abend generates
an
> >04C, which is fine, however my ESTAI routine does not seem to get
> >control in this case for me do the cleanup (which could be disastrous).
> >Anyone have experiences with this?  I suppose I could go back to
> >IKJEFT01.  :(
>
> I don't know why your ESTAI is not getting control, if it was established
correctly. The
> explanation of the 04C abend (see
>
http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/IEA2H7C2/SPTM0148
44
> or http://preview.tinyurl.com/cc3fk4l ) clearly indicates that the TMP has
its own error
> recovery that has trapped the underlying ABEND.
>
> The TMP expects to run as the one and only jobstep task, so I was a bit
surprised at
> your mention of ESTAI as my first reaction was "hmm, I didn't think one
could ATTACH
> the TMP and have things work properly." I know that in my long ago
experiments I
> always LINKed or XCTLed to the TMP from my jobstep program, and used ESTAE
to
> catch any abends.
>
> Clearly if you ATTACH it (even if you ATTACH it as a jobstep TCB) it's not
the one and
> only jobstep TCB as it expects. See http://publibz.boulder.ibm.com/cgi-
>
bin/bookmgr_OS390/BOOKS/ikj4b4c0/APPENDIX1.1.3?SHELF=all13be9.bks&DT=201106
> 22122347&CASE=
> or http://preview.tinyurl.com/d8krghz for more info on that. But if you
did attach it as
> a second jobstep task I'm not sure how that would prevent ESTAI from
working.
>
> --
> Walt

Reply via email to