IEFACTRT Exit

classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

IEFACTRT Exit

Gabor Hoffer
Hi,

I have 2 MVS questions:

1. I write an Exit and I need the TCB of current Task, not the TCB of
initiator.
in IBM documentation: "IEFACTRT receives control with the initiator's
JSCB active."
How can I get this?

2. I've written a testprogram and I could discover through PSA -> TCB -
> TIOT -> JFCB all DD allcoations (JCL and Dynalloc). The second
question is, if I recevie the control in IEFACTRT at the time of step
termination, are these tables (TIOT, JFCB) still avaliable?

Regards,
Gabor




Community email addresses:
  Post message: [hidden email]
  Subscribe:    [hidden email]
  Unsubscribe:  [hidden email]
  List owner:   [hidden email]

Files and archives at:
  http://groups.yahoo.com/group/hercules-390

Get the latest version of Hercules from:
  http://www.conmicro.cx/hercules 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/hercules-390/

<*> To unsubscribe from this group, send an email to:
    [hidden email]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 


Reply | Threaded
Open this post in threaded view
|

Re: IEFACTRT Exit

somitcw
--- In [hidden email],
 "Gabor Hoffer" <gabor.hoffer@m...> wrote:
> Hi,
> I have 2 MVS questions:
> 1. I write an Exit and I need the TCB of
>current Task, not the TCB of initiator.
>in IBM documentation: "IEFACTRT receives
>control with the initiator's JSCB active."
> How can I get this?

   The step that just ended returned control
to the initiator.  The initiator should be
the current task.  The current JSCB should
be the one for the initiator but to be
certain, load JSCBACT.

> 2. I've written a testprogram and I could
>discover through PSA -> TCB - > TIOT -> JFCB
>all DD allcoations (JCL and Dynalloc).

   Each TCB can have files in a TIOT.

> The second question is, if I recevie the
>control in IEFACTRT at the time of step
>termination, are these tables (TIOT, JFCB)
>still avaliable?

   After step termination, I wouldn't expect
much to be there.  You might want to force
a dump to see what still exist.

   If you use SMF record type 30, it can
give more TIOT entries than SMF record type 4.

> Regards,
> Gabor




Community email addresses:
  Post message: [hidden email]
  Subscribe:    [hidden email]
  Unsubscribe:  [hidden email]
  List owner:   [hidden email]

Files and archives at:
  http://groups.yahoo.com/group/hercules-390

Get the latest version of Hercules from:
  http://www.conmicro.cx/hercules 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/hercules-390/

<*> To unsubscribe from this group, send an email to:
    [hidden email]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 


Reply | Threaded
Open this post in threaded view
|

Re: IEFACTRT Exit

Kevin Leonard
In reply to this post by Gabor Hoffer
Gabor:

> I write an Exit and I need the TCB of current Task, not the TCB of
> initiator.
> in IBM documentation: "IEFACTRT receives control with the
initiator's
> JSCB active."
> How can I get this?
> The second
> question is, if I recevie the control in IEFACTRT at the time of
step
> termination, are these tables (TIOT, JFCB) still avaliable?

The problem program TCB and most control blocks
it points to are gone by the time that IEFACTRT
gets control.  As I remember, step attach
(IEFSD263) detachs the problem program TCB
when the program ends, then transfers control
to step delete (IEFSD164).  IEFSD164 builds a
dummy TCB (it doesn't contain much more than
the completion code and abend status), and
links to batch unallocation (IEFBB410).
IEFBB410 links to the SMF interface routine
IEFTB721, which in turn links to IEFACTRT.
(Note that some of these "links" are actually
calls, especially in older operating systems.)

To look at almost any of the remaining job
related control blocks from IEFACTRT, you
have to cheat.  It's been an undocumented
fact for a long time that R12 at entry to
IEFACTRT points to the job's LCT.  The LCT
in turn points to many other things, including
the JCT and the SCT for the current step,
and the JSCB for the current step.  SWA
control blocks for the step still exist,
but to access them correctly you need to
call SWA manager to read them (you can use
TTRs/SVAs from the JCT pointed to by the
LCT as a starting point).

Some information from problem program
control blocks has been copied to SMF
record fields.  If you're running MVS 3.8
or MVT, the only step/job termination
records available are type 4 and 5.  Type
30 records were added in MVS/SP V1 (actually
in MVS/SE2, I think, but I never saw MVS/SE2).

Probably the most practical way to find
out what's available to you is to take a
system dump at the point where IEFACTRT
gets control for the entry type you want
to process.

--
Kevin

> Hi,
>
> I have 2 MVS questions:
>
> 1. I write an Exit and I need the TCB of current Task, not the TCB
of
> initiator.
> in IBM documentation: "IEFACTRT receives control with the
initiator's
> JSCB active."
> How can I get this?
>
> 2. I've written a testprogram and I could discover through PSA ->
TCB -
> > TIOT -> JFCB all DD allcoations (JCL and Dynalloc). The second
> question is, if I recevie the control in IEFACTRT at the time of
step
> termination, are these tables (TIOT, JFCB) still avaliable?
>
> Regards,
> Gabor




Community email addresses:
  Post message: [hidden email]
  Subscribe:    [hidden email]
  Unsubscribe:  [hidden email]
  List owner:   [hidden email]

Files and archives at:
  http://groups.yahoo.com/group/hercules-390

Get the latest version of Hercules from:
  http://www.conmicro.cx/hercules 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/hercules-390/

<*> To unsubscribe from this group, send an email to:
    [hidden email]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 


Reply | Threaded
Open this post in threaded view
|

Re: IEFACTRT Exit

Gabor Hoffer
Hi Kevin,

Many thanks for your answer. It's a little bit clearer now. I'm
working with OS/390 2.8.

Correct me if I'm wrong:
I rececive control in IEFACTRT in the address space of the task that
is currently running, but with the initiator's JSCB active. How do I
find my jobstep TCB if it still exists?

Would you write a join list how I can get this jobstep TCB?

something like this: PSA(PSATOLD) -> TCB(xxxx) (initatiors TCB) -> ...

I'm using MXI (MVS Extended Information) to understand these tables
but I can't use it in case of an exit.

Regards,
Gabor

--- In [hidden email], "Kevin Leonard" <kl_j76@y...>
wrote:
> Gabor:
>
> > I write an Exit and I need the TCB of current Task, not the TCB
of

> > initiator.
> > in IBM documentation: "IEFACTRT receives control with the
> initiator's
> > JSCB active."
> > How can I get this?
> > The second
> > question is, if I recevie the control in IEFACTRT at the time of
> step
> > termination, are these tables (TIOT, JFCB) still avaliable?
>
> The problem program TCB and most control blocks
> it points to are gone by the time that IEFACTRT
> gets control.  As I remember, step attach
> (IEFSD263) detachs the problem program TCB
> when the program ends, then transfers control
> to step delete (IEFSD164).  IEFSD164 builds a
> dummy TCB (it doesn't contain much more than
> the completion code and abend status), and
> links to batch unallocation (IEFBB410).
> IEFBB410 links to the SMF interface routine
> IEFTB721, which in turn links to IEFACTRT.
> (Note that some of these "links" are actually
> calls, especially in older operating systems.)
>
> To look at almost any of the remaining job
> related control blocks from IEFACTRT, you
> have to cheat.  It's been an undocumented
> fact for a long time that R12 at entry to
> IEFACTRT points to the job's LCT.  The LCT
> in turn points to many other things, including
> the JCT and the SCT for the current step,
> and the JSCB for the current step.  SWA
> control blocks for the step still exist,
> but to access them correctly you need to
> call SWA manager to read them (you can use
> TTRs/SVAs from the JCT pointed to by the
> LCT as a starting point).
>
> Some information from problem program
> control blocks has been copied to SMF
> record fields.  If you're running MVS 3.8
> or MVT, the only step/job termination
> records available are type 4 and 5.  Type
> 30 records were added in MVS/SP V1 (actually
> in MVS/SE2, I think, but I never saw MVS/SE2).
>
> Probably the most practical way to find
> out what's available to you is to take a
> system dump at the point where IEFACTRT
> gets control for the entry type you want
> to process.
>
> --
> Kevin
>
> > Hi,
> >
> > I have 2 MVS questions:
> >
> > 1. I write an Exit and I need the TCB of current Task, not the TCB
> of
> > initiator.
> > in IBM documentation: "IEFACTRT receives control with the
> initiator's
> > JSCB active."
> > How can I get this?
> >
> > 2. I've written a testprogram and I could discover through PSA ->
> TCB -
> > > TIOT -> JFCB all DD allcoations (JCL and Dynalloc). The second
> > question is, if I recevie the control in IEFACTRT at the time of
> step
> > termination, are these tables (TIOT, JFCB) still avaliable?
> >
> > Regards,
> > Gabor




Community email addresses:
  Post message: [hidden email]
  Subscribe:    [hidden email]
  Unsubscribe:  [hidden email]
  List owner:   [hidden email]

Files and archives at:
  http://groups.yahoo.com/group/hercules-390

Get the latest version of Hercules from:
  http://www.conmicro.cx/hercules 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/hercules-390/

<*> To unsubscribe from this group, send an email to:
    [hidden email]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 


Reply | Threaded
Open this post in threaded view
|

Re: IEFACTRT Exit

Gabor Hoffer
In reply to this post by somitcw
Hi,

Thanks your answer.
> somitcw wrote:
>    If you use SMF record type 30, it can
> give more TIOT entries than SMF record type 4.

For DSNAMEs and allocation info I need JFCB too. :-(

>    The step that just ended returned control
> to the initiator.  The initiator should be
> the current task.  The current JSCB should
> be the one for the initiator but to be
> certain, load JSCBACT.

Would you explain it detailed? My experiance is not enought to
understand. :-(

Regards,
Gabor

--- In [hidden email], "somitcw" <somitcw@c...> wrote:

> --- In [hidden email],
>  "Gabor Hoffer" <gabor.hoffer@m...> wrote:
> > Hi,
> > I have 2 MVS questions:
> > 1. I write an Exit and I need the TCB of
> >current Task, not the TCB of initiator.
> >in IBM documentation: "IEFACTRT receives
> >control with the initiator's JSCB active."
> > How can I get this?
>
>    The step that just ended returned control
> to the initiator.  The initiator should be
> the current task.  The current JSCB should
> be the one for the initiator but to be
> certain, load JSCBACT.
>
> > 2. I've written a testprogram and I could
> >discover through PSA -> TCB - > TIOT -> JFCB
> >all DD allcoations (JCL and Dynalloc).
>
>    Each TCB can have files in a TIOT.
>
> > The second question is, if I recevie the
> >control in IEFACTRT at the time of step
> >termination, are these tables (TIOT, JFCB)
> >still avaliable?
>
>    After step termination, I wouldn't expect
> much to be there.  You might want to force
> a dump to see what still exist.
>
>    If you use SMF record type 30, it can
> give more TIOT entries than SMF record type 4.
>
> > Regards,
> > Gabor




Community email addresses:
  Post message: [hidden email]
  Subscribe:    [hidden email]
  Unsubscribe:  [hidden email]
  List owner:   [hidden email]

Files and archives at:
  http://groups.yahoo.com/group/hercules-390

Get the latest version of Hercules from:
  http://www.conmicro.cx/hercules 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/hercules-390/

<*> To unsubscribe from this group, send an email to:
    [hidden email]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 


Reply | Threaded
Open this post in threaded view
|

Re: IEFACTRT Exit

somitcw
--- In [hidden email],
 "Gabor Hoffer" <gabor.hoffer@m...> wrote:
> Hi,
>Thanks your answer.
>> somitcw wrote:
>> If you use SMF record type 30, it can
>>give more TIOT entries than SMF record type 4.
>For DSNAMEs and allocation info I need JFCB too. :-(

   Only the program task has completed.
The JFCB information may still be there?
Abend in IEFACTRT and see if the abend is
before or after allocation/termination
messages where data sets are cataloged and
deleted.  Also try SWAREQ

>> The step that just ended returned control
>>to the initiator.  The initiator should be
>>the current task.  The current JSCB should
>>be the one for the initiator but to be
>>certain, load JSCBACT.
> Would you explain it detailed? My experiance
>is not enought to understand. :-(

   The application program has ended so it is
gone and the next higher task gets control.
By the time IEFACTRT is called, the initiator
is the current task.  If the initiator is
stopped, I believe that Started Task Control
is the next one up and then the Region Control
Task, then it's ASID memterm time.  

   There are several JSCB control blocks in
an address space.  JSCBACT should point to
the active JSCB.  Code on the CBT "tape" that
accesses the JSCB should show the needed code.

   What do you need from a JSCB that is not
in the SMF type 30 record?

> Regards,
> Gabor
> --- In [hidden email],
> "somitcw" <somitcw@c...> wrote:
>> --- In [hidden email],
>>  "Gabor Hoffer" <gabor.hoffer@m...> wrote:
>>> Hi,
>>> I have 2 MVS questions:
>>> 1. I write an Exit and I need the TCB of
>>>current Task, not the TCB of initiator.
>>>in IBM documentation: "IEFACTRT receives
>>>control with the initiator's JSCB active."
>>> How can I get this?
>> The step that just ended returned control
>>to the initiator.  The initiator should be
>>the current task.  The current JSCB should
>>be the one for the initiator but to be
>> certain, load JSCBACT.
>>> 2. I've written a testprogram and I could
>>>discover through PSA -> TCB - > TIOT -> JFCB
>>>all DD allcoations (JCL and Dynalloc).
>> Each TCB can have files in a TIOT.
>>> The second question is, if I recevie the
>>>control in IEFACTRT at the time of step
>>>termination, are these tables (TIOT, JFCB)
>>>still avaliable?
>> After step termination, I wouldn't expect
>>much to be there.  You might want to force
>>a dump to see what still exist.
>> If you use SMF record type 30, it can
>>give more TIOT entries than SMF record type 4.
>>> Regards,
>>> Gabor




Community email addresses:
  Post message: [hidden email]
  Subscribe:    [hidden email]
  Unsubscribe:  [hidden email]
  List owner:   [hidden email]

Files and archives at:
  http://groups.yahoo.com/group/hercules-390

Get the latest version of Hercules from:
  http://www.conmicro.cx/hercules 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/hercules-390/

<*> To unsubscribe from this group, send an email to:
    [hidden email]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 


Reply | Threaded
Open this post in threaded view
|

Re: IEFACTRT Exit

Gabor Hoffer

Hi,

I'm working on a job scheduler executor, which has a neue feature
'file-event'. That means a monitor task is waiting for file events at
the time of step termination. If the file event occurs it sends an ECB
to job-scheduler. In monitor task can be more filter defined, for
example:  "I want catche event if job with name 'JOB1223' has used DSs
with name 'SYS1.*'" or something like this.

The following datas are important form me at step termination time:
DDNAME, DSNAME, DISP, JOBNAME, STEPNAME, etc.

As far as I know, DSNAME and DISP are not in SMF30 record. Am I wrong?

Regards,
Gabor

--- In [hidden email], "somitcw" <somitcw@c...> wrote:

> --- In [hidden email],
>  "Gabor Hoffer" <gabor.hoffer@m...> wrote:
> > Hi,
> >Thanks your answer.
> >> somitcw wrote:
> >> If you use SMF record type 30, it can
> >>give more TIOT entries than SMF record type 4.
> >For DSNAMEs and allocation info I need JFCB too. :-(
>
>    Only the program task has completed.
> The JFCB information may still be there?
> Abend in IEFACTRT and see if the abend is
> before or after allocation/termination
> messages where data sets are cataloged and
> deleted.  Also try SWAREQ
>
> >> The step that just ended returned control
> >>to the initiator.  The initiator should be
> >>the current task.  The current JSCB should
> >>be the one for the initiator but to be
> >>certain, load JSCBACT.
> > Would you explain it detailed? My experiance
> >is not enought to understand. :-(
>
>    The application program has ended so it is
> gone and the next higher task gets control.
> By the time IEFACTRT is called, the initiator
> is the current task.  If the initiator is
> stopped, I believe that Started Task Control
> is the next one up and then the Region Control
> Task, then it's ASID memterm time.  
>
>    There are several JSCB control blocks in
> an address space.  JSCBACT should point to
> the active JSCB.  Code on the CBT "tape" that
> accesses the JSCB should show the needed code.
>
>    What do you need from a JSCB that is not
> in the SMF type 30 record?
>
> > Regards,
> > Gabor
> > --- In [hidden email],
> > "somitcw" <somitcw@c...> wrote:
> >> --- In [hidden email],
> >>  "Gabor Hoffer" <gabor.hoffer@m...> wrote:
> >>> Hi,
> >>> I have 2 MVS questions:
> >>> 1. I write an Exit and I need the TCB of
> >>>current Task, not the TCB of initiator.
> >>>in IBM documentation: "IEFACTRT receives
> >>>control with the initiator's JSCB active."
> >>> How can I get this?
> >> The step that just ended returned control
> >>to the initiator.  The initiator should be
> >>the current task.  The current JSCB should
> >>be the one for the initiator but to be
> >> certain, load JSCBACT.
> >>> 2. I've written a testprogram and I could
> >>>discover through PSA -> TCB - > TIOT -> JFCB
> >>>all DD allcoations (JCL and Dynalloc).
> >> Each TCB can have files in a TIOT.
> >>> The second question is, if I recevie the
> >>>control in IEFACTRT at the time of step
> >>>termination, are these tables (TIOT, JFCB)
> >>>still avaliable?
> >> After step termination, I wouldn't expect
> >>much to be there.  You might want to force
> >>a dump to see what still exist.
> >> If you use SMF record type 30, it can
> >>give more TIOT entries than SMF record type 4.
> >>> Regards,
> >>> Gabor




Community email addresses:
  Post message: [hidden email]
  Subscribe:    [hidden email]
  Unsubscribe:  [hidden email]
  List owner:   [hidden email]

Files and archives at:
  http://groups.yahoo.com/group/hercules-390

Get the latest version of Hercules from:
  http://www.conmicro.cx/hercules 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/hercules-390/

<*> To unsubscribe from this group, send an email to:
    [hidden email]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 


Reply | Threaded
Open this post in threaded view
|

Re: IEFACTRT Exit

somitcw
   For tape data set close, I use SMF type 14 and 15
records from SMF data after it is dumped.  They are
written when data sets are closed, not after step
termination.  There are also record types for VSAM
and SYSOUT/print.

   RACF intercepts OPEN if that is needed.

   The best way to collect data set names after a
program step terminates may be to collect the data
set names before the program step terminates.

--- In [hidden email],
 "Gabor Hoffer" <gabor.hoffer@m...> wrote:

> Hi,
> I'm working on a job scheduler executor, which
>has a neue feature 'file-event'. That means a
>monitor task is waiting for file events at the
>time of step termination. If the file event
>occurs it sends an ECB to job-scheduler. In
>monitor task can be more filter defined, for
>example:  "I want catche event if job with name
>'JOB1223' has used DSs with name 'SYS1.*'" or
>something like this.
> The following datas are important form me at
>step termination time:
>DDNAME, DSNAME, DISP, JOBNAME, STEPNAME, etc.
> As far as I know, DSNAME and DISP are not in
>SMF30 record. Am I wrong?
> Regards,
> Gabor
> --- In [hidden email],
> "somitcw" <somitcw@c...> wrote:
>> --- In [hidden email],
>> "Gabor Hoffer" <gabor.hoffer@m...> wrote:
>>> Hi,
>>>Thanks your answer.
>>>> somitcw wrote:
>>>> If you use SMF record type 30, it can
>>>>give more TIOT entries than SMF record type 4.
>>>For DSNAMEs and allocation info I need JFCB too. :-(
>> Only the program task has completed.
>>The JFCB information may still be there?
>> Abend in IEFACTRT and see if the abend is
>>before or after allocation/termination
>>messages where data sets are cataloged and
>>deleted.  Also try SWAREQ
>>>> The step that just ended returned control
>>>>to the initiator.  The initiator should be
>>>>the current task.  The current JSCB should
>>>>be the one for the initiator but to be
>>>>certain, load JSCBACT.
>>> Would you explain it detailed? My experiance
>>>is not enought to understand. :-(
>> The application program has ended so it is
>>gone and the next higher task gets control.
>>By the time IEFACTRT is called, the initiator
>>is the current task.  If the initiator is
>>stopped, I believe that Started Task Control
>>is the next one up and then the Region Control
>>Task, then it's ASID memterm time.  
>> There are several JSCB control blocks in
>>an address space.  JSCBACT should point to
>>the active JSCB.  Code on the CBT "tape" that
>>accesses the JSCB should show the needed code.
>> What do you need from a JSCB that is not
>>in the SMF type 30 record?
>>> Regards,
>>> Gabor
>>> --- In [hidden email],
>>> "somitcw" <somitcw@c...> wrote:
>>>> --- In [hidden email],
>>>>  "Gabor Hoffer" <gabor.hoffer@m...> wrote:
>>>>> Hi,
>>>>> I have 2 MVS questions:
>>>>> 1. I write an Exit and I need the TCB of
>>>>>current Task, not the TCB of initiator.
>>>>>in IBM documentation: "IEFACTRT receives
>>>>>control with the initiator's JSCB active."
>>>>> How can I get this?
>>>> The step that just ended returned control
>>>>to the initiator.  The initiator should be
>>>>the current task.  The current JSCB should
>>>>be the one for the initiator but to be
>>>> certain, load JSCBACT.
>>>>> 2. I've written a testprogram and I could
>>>>>discover through PSA -> TCB - > TIOT -> JFCB
>>>>>all DD allcoations (JCL and Dynalloc).
>>>> Each TCB can have files in a TIOT.
>>>>> The second question is, if I recevie the
>>>>>control in IEFACTRT at the time of step
>>>>>termination, are these tables (TIOT, JFCB)
>>>>>still avaliable?
>>>> After step termination, I wouldn't expect
>>>>much to be there.  You might want to force
>>>>a dump to see what still exist.
>>>> If you use SMF record type 30, it can
>>>>give more TIOT entries than SMF record type 4.
>>>>> Regards,
>>>>> Gabor




Community email addresses:
  Post message: [hidden email]
  Subscribe:    [hidden email]
  Unsubscribe:  [hidden email]
  List owner:   [hidden email]

Files and archives at:
  http://groups.yahoo.com/group/hercules-390

Get the latest version of Hercules from:
  http://www.conmicro.cx/hercules 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/hercules-390/

<*> To unsubscribe from this group, send an email to:
    [hidden email]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 


Reply | Threaded
Open this post in threaded view
|

Re: IEFACTRT Exit

somitcw
   Below is a sample listing for a JOB step.
Note where the step ends and the output from
IEFACTRT starts.  If you really want to
see data set names, I suggest looking at SMF
type 14 and 15 and other records with IEFU83
or IEFU84.

IEF236I ALLOC. FOR SOMITCWM CONDCHEK M01
IEF237I JES2 ALLOCATED TO SYSPRINT
IEF237I DMY  ALLOCATED TO SYSIN
IGD103I SMS ALLOCATED TO DDNAME SYSUT1
IGD17070I DATA SET xxxx.xxxxxxx.xxxxx.x ALLOCATED
SUCCESSFULLY WITH 1 STRIPE(S).
IGD17160I DATA SET xxxx.xxxxxxx.xxxxx.x IS ELIGIBLE FOR COMPRESSION
IGD101I SMS ALLOCATED TO DDNAME (SYSUT2  )
   DSN (xxxx.xxxxxxx.xxxxx.x    )
   STORCLAS (ARCHIVE) MGMTCLAS (   ) DATACLAS (COMPRESS)
   VOL SER NOS= ARCH2C
IEF142I SOMITCWM CONDCHEK M01 - STEP WAS EXECUTED - COND CODE 0000
IEF285I   SOMITCW.SOMITCWM.JOB07399.D0000110.?   SYSOUT
IGD104I xxxx.xxxxxxx.xxxxx     RETAINED,  DDNAME=SYSUT1
IGD104I xxxx.xxxxxxx.xxxxx.x   RETAINED,  DDNAME=SYSUT2
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*  Step Termination Statistics

--- In [hidden email],
 "somitcw" <somitcw@c...> wrote:

> For tape data set close, I use SMF type 14 and 15
>records from SMF data after it is dumped.  They are
>written when data sets are closed, not after step
>termination.  There are also record types for VSAM
>and SYSOUT/print.
> RACF intercepts OPEN if that is needed.
> The best way to collect data set names after a
>program step terminates may be to collect the data
>set names before the program step terminates.
> --- In [hidden email],
>  "Gabor Hoffer" <gabor.hoffer@m...> wrote:
>> Hi,
>> I'm working on a job scheduler executor, which
>>has a neue feature 'file-event'. That means a
>>monitor task is waiting for file events at the
>>time of step termination. If the file event
>>occurs it sends an ECB to job-scheduler. In
>>monitor task can be more filter defined, for
>>example:  "I want catche event if job with name
>>'JOB1223' has used DSs with name 'SYS1.*'" or
>>something like this.
>> The following datas are important form me at
>>step termination time:
>>DDNAME, DSNAME, DISP, JOBNAME, STEPNAME, etc.
>> As far as I know, DSNAME and DISP are not in
>>SMF30 record. Am I wrong?
>> Regards,
>> Gabor
>> --- In [hidden email],
>> "somitcw" <somitcw@c...> wrote:
>> --- In [hidden email],
>>> "Gabor Hoffer" <gabor.hoffer@m...> wrote:
>>>> Hi,
>>>>Thanks your answer.
>>>>> somitcw wrote:
>>>>> If you use SMF record type 30, it can
>>>>>give more TIOT entries than SMF record type 4.
>>>>For DSNAMEs and allocation info I need JFCB too. :-(
>>> Only the program task has completed.
>>>The JFCB information may still be there?
>>> Abend in IEFACTRT and see if the abend is
>>>before or after allocation/termination
>>>messages where data sets are cataloged and
>>>deleted.  Also try SWAREQ
>>>>> The step that just ended returned control
>>>>>to the initiator.  The initiator should be
>>>>>the current task.  The current JSCB should
>>>>>be the one for the initiator but to be
>>>>>certain, load JSCBACT.
>>>> Would you explain it detailed? My experiance
>>>>is not enought to understand. :-(
>>> The application program has ended so it is
>>>gone and the next higher task gets control.
>>>By the time IEFACTRT is called, the initiator
>>>is the current task.  If the initiator is
>>>stopped, I believe that Started Task Control
>>>is the next one up and then the Region Control
>>>Task, then it's ASID memterm time.  
>>> There are several JSCB control blocks in
>>>an address space.  JSCBACT should point to
>>>the active JSCB.  Code on the CBT "tape" that
>>>accesses the JSCB should show the needed code.
>>> What do you need from a JSCB that is not
>>>in the SMF type 30 record?
>>>> Regards,
>>>> Gabor
>>>> --- In [hidden email],
>>>> "somitcw" <somitcw@c...> wrote:
>>>>> --- In [hidden email],
>>>>>  "Gabor Hoffer" <gabor.hoffer@m...> wrote:
>>>>>> Hi,
>>>>>> I have 2 MVS questions:
>>>>>> 1. I write an Exit and I need the TCB of
>>>>>>current Task, not the TCB of initiator.
>>>>>>in IBM documentation: "IEFACTRT receives
>>>>>>control with the initiator's JSCB active."
>>>>>> How can I get this?
>>>>> The step that just ended returned control
>>>>>to the initiator.  The initiator should be
>>>>>the current task.  The current JSCB should
>>>>>be the one for the initiator but to be
>>>>> certain, load JSCBACT.
>>>>>> 2. I've written a testprogram and I could
>>>>>>discover through PSA -> TCB - > TIOT -> JFCB
>>>>>>all DD allcoations (JCL and Dynalloc).
>>>>> Each TCB can have files in a TIOT.
>>>>>> The second question is, if I recevie the
>>>>>>control in IEFACTRT at the time of step
>>>>>>termination, are these tables (TIOT, JFCB)
>>>>>>still avaliable?
>>>>> After step termination, I wouldn't expect
>>>>>much to be there.  You might want to force
>>>>>a dump to see what still exist.
>>>>> If you use SMF record type 30, it can
>>>>>give more TIOT entries than SMF record type 4.
>>>>>> Regards,
>>>>>> Gabor




Community email addresses:
  Post message: [hidden email]
  Subscribe:    [hidden email]
  Unsubscribe:  [hidden email]
  List owner:   [hidden email]

Files and archives at:
  http://groups.yahoo.com/group/hercules-390

Get the latest version of Hercules from:
  http://www.conmicro.cx/hercules 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/hercules-390/

<*> To unsubscribe from this group, send an email to:
    [hidden email]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 


Reply | Threaded
Open this post in threaded view
|

Re: IEFACTRT Exit

Kevin Leonard
In reply to this post by Gabor Hoffer
Gabor:

> I'm working with OS/390 2.8.

OK, thanks for the information.  I wrote a couple
of IEFACTRT routines and was responsible for their
care and feeding through OS/390 2.10, so I'm current
to that level.  But now that I'm retired, I no longer
have an OS/390 system to look at, and what I'm telling
you is my best recollection.

> I rececive control in IEFACTRT in the address space of the task
that
> is currently running, but with the initiator's JSCB active.

Right.

> How do I find my jobstep TCB if it still exists?

The job step TCB no longer exists.  It's already
been detached by step delete before IEFACTRT is
called.  Some step-related control blocks still
exist, but they aren't readily accessible.  The
ones I remember -- problem program JSCB, JCT,
SCT, and other scheduler control blocks in
SWA -- are reachable via the OS Linkage Control
Table, but if you're writing a production
application you don't want to depend on the
historical accident that R12 at entry to
IEFACTRT has in the past always pointed to
the LCT.

A possible but admittedly complex alternative
would be to provide an IEFJFRQ exit to hook
calls to the subsystem interface, and
intercept calls like common allocation and
common unallocation for data set information.

--
Kevin
 

> Hi Kevin,
>
> Many thanks for your answer. It's a little bit clearer now. I'm
> working with OS/390 2.8.
>
> Correct me if I'm wrong:
> I rececive control in IEFACTRT in the address space of the task
that
> is currently running, but with the initiator's JSCB active. How do
I
> find my jobstep TCB if it still exists?
>
> Would you write a join list how I can get this jobstep TCB?
>
> something like this: PSA(PSATOLD) -> TCB(xxxx) (initatiors TCB) ->
...
>
> I'm using MXI (MVS Extended Information) to understand these tables
> but I can't use it in case of an exit.
>
> Regards,
> Gabor




Community email addresses:
  Post message: [hidden email]
  Subscribe:    [hidden email]
  Unsubscribe:  [hidden email]
  List owner:   [hidden email]

Files and archives at:
  http://groups.yahoo.com/group/hercules-390

Get the latest version of Hercules from:
  http://www.conmicro.cx/hercules 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/hercules-390/

<*> To unsubscribe from this group, send an email to:
    [hidden email]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/