Someone else commented on the RESTORE question, but I'd like to expand on
it. In general, I see little reason ever to RESTORE a usermod. Yes, I know
the book says to do it, but it strikes me as extra work to arrive at the
same (intermediate) spot: code returned to its original, unmodified state.
With the right combination of REWORK and PRE values, you should seldom
(never?) need to REJECT or RESTORE a usermod.

For example, we maintain a ZAP usermod to an RMM table in order to mimic
behavior of a previous product around which countless production processes
have been built over the years. (Thanks to Monsignor Wood, that cross will
be lifted from our shoulders in R11 according to a new Health Check.)
Unfortunately the table moves around not only in new releases, but also
rather frequently by PTF. The same ZAP replacements work every time, but
almost always at a different offset. This usermod automatically gets its
name inserted as UMID in order to trigger a regression message whenever
that CSECT gets hit by a PTF. Hence no UCLIN is required. A few of points.

1. One 'unnatural' step is necessary at the start of each iteration: APPLY
SELECT the colliding PTF with BYPASS(ID). That's about the only time I ever
do such a thing.

2. In order to determine the new offset, we pretty much have to install the
PTF anyway before reworking the usermod.

3. By updating the REWORK value with the date of update, we don't need to
REJECT the usermod. As long as the new REWORK is higher (EBCDIC collating
sequence) than the old one, the usermod is re-received.

4. By updating the PRE values with the latest PTF, SMPE understands where
the usermod fits in the hierarchy, i.e. on top of all other sysmods.

Here's what the current usermod wrapper looks like.


//SMPCNTL  DD *
  SET BDY(GLOBAL) .
    RECEIVE SYSMODS BYPASS(APPLYCHECK) .
  SET BDY(MVST100) .
    APPLY S(RMM0004) REDO .
//SMPPTFIN DD DATA
++USERMOD(RMM0004) REWORK(2009174 ) .
++VER (Z038)
   FMID(HDZ1190)
         PRE(
             UA34754
             UA39850
             UA43733
             UA90496
             UA47393
            ) .
++ZAP(EDGVRECM) .
[rest of zap code goes here]

.
.
JO.Skip Robinson
Southern California Edison Company
Electric Dragon Team Paddler
SHARE MVS Program Co-Manager
626-302-7535 Office
323-715-0595 Mobile
jo.skip.robin...@sce.com


                                                                           
             Jeffery Swagger                                               
             <jeff...@comcast.                                             
             NET>                                                       To 
             Sent by: IBM              IBM-MAIN@bama.ua.edu                
             Mainframe                                                  cc 
             Discussion List                                               
             <ibm-m...@bama.ua                                     Subject 
             .edu>                     Re: SMPE usermod sample             
                                                                           
                                                                           
             07/09/2009 05:40                                              
             PM                                                            
                                                                           
                                                                           
             Please respond to                                             
               IBM Mainframe                                               
              Discussion List                                              
             <ibm-m...@bama.ua                                             
                   .edu>                                                   
                                                                           
                                                                           




Yes, this is essentially what I do too.

The problem I have with changing the RMID via UCLIN approach is that you
have to (I believe) undo it via UCLIN at RESTORE time. I prefer not to
have to that.

As an aside, the thing I do in cases like this is to replace the SAMP
with something like this:

++ SAMP(ISRONLY)
*******************************************
* See USERMOD xxxxxxx                     *
*******************************************

This both updates the RMID so I get MODID error if IBM updates the SAMP
and provides some doc if somebody is looking at the SAMP library.

And it's not my idea. It's something, like so many things I do, that got
posted on this list ???? years ago. I have no shame when it come to
using the ideas of the more knowledgeable people on this list. :-)

--
Jeff

<snip>

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to