Thanks to Jim for both answers. I opted for the second choice--add exit to
LPA--because it seems a lot simpler, but it's nice to know that there exists a
bouncing ball method as well. I doubt that there's enough demand for this sort
of thing to create a standard interface. Of course I would not be asking this
question if I didn't have a problem.
Which BTW is to turn selected non-rolling messages into rolling. These are
messages that from SME point of view are informational but are coded to stay on
the console and incite questions from Ops about what 'they' are supposed to do.
We have an ancient WTO exit that is supposed to do that, but it's not working.
For the record, these are the relevant instructions:
MVC CTXTDC1(L'CTXTDC1+L'CTXTDC2),SETSTATS
OI CTXTRFB1,CTXTRCRC+CTXTRCDC CHANGE CODES NOW
...
SETSTATS DC AL1(CTXTDC04),X'00' SYSTEM STATUS WILL DO NICELY
I need SLIP trace just to see if the exit is even getting called.
.
.
.
J.O.Skip Robinson
Southern California Edison Company
Electric Dragon Team Paddler
SHARE MVS Program Co-Manager
626-302-7535 Office
323-715-0595 Mobile
[email protected]
-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf
Of Jim Mulder
Sent: Thursday, September 10, 2015 11:40 PM
To: [email protected]
Subject: Re: Finding an MPF WTO Exit
> I'm trying to debug a WTO exit defined in MPFLSTxx. (It's not
> IEAVMXIT.) The user-named module is in the link list, but I can't find
> it in storage. An MPF WTO exit is apparently loaded somewhere
> initially and on SET MPF=xx. If I name a nonexistent exit, I get
>
> IEE028I WTO INSTALLATION EXIT WTOSKIPR COULD NOT BE LOADED
>
> So how can I find the load point of a valid WTO exit? I want to trace
> execution.
MPF exits are in common storage. Exits which are in the LNKLST get loaded
into CSA.
Unfortunately, I don't see any way to get D MPF to display addresses of
exits. The addresses can be found in the MPF Table, mapped by
SYS1.MODGEN(IEEZB809). The MPF table can be located via a pointer in
SYS1.MODGEN(IEECUCM), which can be located via a pointer in the CVT. All of
these things are in common storage and I think are not fetch protected, so it
should be a SMOP to write a program or REXX exec to look up an exit by name and
display its entry point address (of course, with the caveat that IEEZB908 and
IEECUCM are classified as NOTPI).
Alternately, you could use
SETPROG EXIT,ADD,DSN=xxxxxxxxxx,MOD=xxxxxxxx
to add your exit to Dynamic LPA before doing the SET MPF=xx to activate it,
and then things which use system services to find LPA modules by name (like
SLIP with LPAMOD) will be able to locate your exit.
Jim Mulder z/OS System Test IBM Corp. Poughkeepsie, NY
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN