Hi Mark,

I like your approach and did a little proof of concept here Friday.


I cobbled together an IEAVMXIT which we used to use but retired some time
ago.

          L     CTXTPTR,0(R1)    LOAD R10 WITH PARM ADDRESS            
          USING CTXT,CTXTPTR     ESTABLISH ADDRESSABILITY TO PARM LIST 
          L     R2,CTXTRCP       locate route codes                    
          USING CTXTROUT,R2      @ RCP                                 
          DS    0H                                                     
 ********************************************************************  
 *                                                                     
 * IEA716I LIBRARY NOT LOCATED -       LNKLST   DATA SET IGNORED       
 * SYS3.FOO.LINKLIB                                                    
 *                                                                     
 * IGGN307I SYS005,SYS3.FOO.VOLSER.LINKLIB,DATA SET NOT FOUND ON VOLUME
 *                                                                     
 *                                                                     
 * These messages are issued as a rollable message during IPL/NIP      
 * we will change the descriptor code to bring them to the attention   
 * of an operator if one is watching.                                  
 *                                                                     
 * We also set CVTUSER to a non-zero value and automation will         
 * issue further alerts if the system gets up far enough to run        
 * OPSMVS.                                                             
 *                                                                     
 ********************************************************************  
          L     R3,CTXTTXPJ         locate the message attributes      
          USING CTXTATTR,R3         @ XPJ                              
          CLC   CTXTTMSG(7),=C'IEA716I'  IEA716I?                      
          BE    ERROR               Flag it!                           
          CLC   CTXTTMSG(8),=C'IGGN307I' IGGN307I?                     
          BE    ERROR               Flag it!                           
          B     EXIT01              Not on our shopping list leave it  
          DROP  R3                  ## XPJ message attributes          
 ERROR    L     R3,CTXTDCP          locate descriptor codes            
          USING CTXTDESC,R3         @ DCP                              
          OI    CTXTRFB2,CTXTPBCA   force brodcast to active consoles  
          OI    CTXTRFB1,CTXTRCDC   allow change to descriptor codes   
          XC    CTXTDESC,CTXTDESC   clear existing descriptor codes    
          OI    CTXTDC1,CTXTDC01    change descriptor code to 01       
          DROP  R3                  ## DCP                             
 *                                                                     
          OI    CTXTRFB1,CTXTRCRC   allow a route code change          
          XC    CTXTROUT(2),CTXTROUT   clear existing route codes      
          OI    CTXTR001,CTXTR01    Route code 1                       
 *                                                                     
 *                                   OPS/MVS will inspect this later   
 *                                    and alert on a non-zero CVTUSER  
          L     R1,CVTPTR                                              
          USING CVT,R1              @ CVT                              
          MVC   CVTUSER,=C'EROR'    Remember bad things happened       
 *                                   OPS/MVS will inspect this later   
          DROP  R1                  ## CVT                             
          DROP  R2                  ## RCP  


The results I just dropped on CVTUSER for the moment but will tidy this up
by creating a 
site specific anchor table and obtaining that and anchoring it in CVTUSER
RSN.
This can be tested easily enough in REXX as could the tidied up version and
I will get
The ASO team to make this Job #1 for OPSMVS before it starts bringing up the
normal system facilities.
I also need to save off the actual messages as I expect that will be more
useful than just a GO/NOGO flag.

/* REXX */                                                              
NUMERIC DIGITS 16                            /* handle big addresses */ 
CVT      = C2d(Storage(10,4))                /* point to CVT         */ 
CVTUSER  = C2d(Storage(D2x(CVT + 204),4))    /* get CVTUSER          */ 
If CVTUSER <> '00000000' then say 'Errors detected during IPL'          
 Else say 'No errors'                                                   
exit  

Note: Need to add CONTROL M,UEXIT=N after checking the results so we don't
run the general WTO exit all the time when we don't need it to reduce
overhead.

So far I just tested this with a system that had no consoles it was the only
thing I had available to IPL Friday when I worked this up. IPLing using only
the HMC the messages are more visible but don't "stick".   I am going to
test this week with an LPAR that has (Visara attached) console that will be
used for NIP. It does work!  IEA716I and IGGN307I are both seen by the exit
so I can do anything I am willing to write 

Is it too much to hope that I can get a non-scrollable message during NIP?
I have a hunch that sort of function may not be available as early as
IEA716I is being issued but I will test it and let you know.  Right now I
don't know if I can get a no-scroll on IEA716I using a real console much
less an HMC?  I can at least note the fact something happened and save the
messages to be WTO and if things are working well enough alert out to our
Patrol Event Management console for escalation from REXX automation pretty
early in IPL.

That's all for now but more updates this week when I get a few more minutes
to work on this.  In the mean time anyone who knows the answers or has been
here before please chime in.

Peter I am going to look into getting a requirement opened to change IEA716I
and IGGN307I to W or E level message and if possible hi-lite and held on the
NIP console.  I would also like to see contents supervisor do the dirty work
of keeping a flag when errors occur setting the IPL link list for later
inspection by customer code or the IBM Health Checker.  Since that would
strictly be an internal type change perhaps it could be done sooner than
changing the messages?  Suggestions on how to frame the requirement happily
accepted.

        Best Regards,

                Sam Knutson, GEICO
                Performance and Availability Management
                mailto:[EMAIL PROTECTED]
                (office)  301.986.3574

"Think big, act bold, start simple, grow fast..."



-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On Behalf
Of Mark Yuhas

However, the WTO exit - IEAVMXIT - does detect the message.
I have automated our IPLs using it.  At the of the IPL procedure, the exit
examines an ECSA area where the IPL procedure sets flags and saves
information gleaned during the IPL.  One of these is the missing linklist
data set message.  If the flag is on, a message is displayed in a noticeable
color, and, hopefully, the operators see it.

<>
==================== 
This email/fax message is for the sole use of the intended recipient(s) and
may contain confidential and privileged information.  Any unauthorized
review, use, disclosure or distribution of this email/fax is prohibited.  If
you are not the intended recipient, please destroy all paper and electronic
copies of the original message. 

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

Reply via email to