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

Reply via email to