Eileen

Well, it seems I am teaching you the significance of the statements with which you have been working. <g>

Googling for MSGGDATE and MSGGTIME I found some NetView documentation, "Customization: Using REXX and the NetView Command List Language", which confirmed that these are the supplied variables. I guess if I'd looked around sufficiently I would have been able to confirm that TEXT was also a supplied variable but instead I checked on an ancient presentation on how I used to automate my test/education MVS systems and made sure that TEXT was just the same, namely a supplied variable.

Thus you have me to thank for actually explaining how variables in the message automation table work? Fiendish isn't it? <g>

Here's an example from my presentation of the fiendish creation of variables from message text:

* 00031500 * NETVIEW ACTIVE 00031600 * 00031700 IF TEXT = NUMBER ' DSI802A A'.'NC REPLY WITH VALID NCCF'. 00031800 THEN EXEC(CMD('SGLOBAL NVREPLY ' NUMBER) ROUTE(ONE AUTOACT)) 00031900 EXEC(CMD('FLAGOFF AUTOSNV ') ROUTE(ONE AUTOACT)) 00032000 DISPLAY(N); 00032100

In this case I am assigning the WTOR reply number to the variable NUMBER. The remainder of the message text is parsed in order to be sure it is the right message - possibly rather overdone in this example - although the "NC" at the end of the domain identifier is necessary since it identifies, by naming convention, my "network" NetView as opposed to my "system automation" NetView. The full stops you may be wondering about are "place-holders" for text which is discarded in the comparison.

Incidentally, I always made sure I had sequence numbering set on for my message table so that errors could be identified easily. That's the reason my examples always included the sequence number as a reminder.

Your MESSAGE, DATE and TIME variables are created using the technique I described. I'm not sure that it was really necessary to create the three new variables when the three variables supplied, TEXT, MSGGDATE and MSGGTIME are available for the command string.

How you use GETMLINE is a matter of style. For consistency when dealing with a multiline message I always used just GETMLINE and ignored the possible use of the TEXT variable.

Here's an example of a Clist, the first searching for GETMLINE in my presentation, illustrating my style - and not just for using GETMLINE.

/* REXX QIPLVOL */
trace e
if msgvar(1) = '?' then
 do
   'CLEAR'
   say 'The QIPLVOL Clist is used to determine which online volume'
   say 'is the IPL volume and set global variables IPLVOL and IPLADDR.'
   exit 0
 end
'TRAP NO MESSAGES'
'FLUSHQ MESSAGES'
'TRAP SUPPRESS MESSAGES IEE450I'
'MVS DISPLAY U,DASD,ONLINE'
'WAIT 5 SECONDS FOR MESSAGES'
select
 when (event()='M') then
   do
     'MSGREAD'
     'GETMSIZE COUNT'
     do i = 3 to count
       'GETMLINE STRING 'i
       do j = 1 to 37 by 36
         if substr(string,(j + 10),1) = 'S' then
           do
             ipladdr = substr(string,j,3)
             iplvol = substr(string,(j + 18),6)
             'GLOBALV PUTT IPLADDR IPLVOL'
             'TRAP NO MESSAGES'
             'FLUSHQ MESSAGES'
             exit 0
           end /* if 'S' */
       end /* do j */
     end /* do i */
   end /* do when event()='M' */
 otherwise nop
end /* select */
'TRAP NO MESSAGES'
'FLUSHQ MESSAGES'
exit 0

Thanks for reminding me - and Arun - that the command to load the table is AUTOMSG.

Chris Mason

----- Original Message ----- From: "Barkow, Eileen" <[EMAIL PROTECTED]>
Newsgroups: bit.listserv.ibm-main
To: <[email protected]>
Sent: Thursday, September 27, 2007 5:52 PM
Subject: Re: Netview & SA


Actually, i did not even know that you can generate messages using the
method that was listed. I just do the CICS automation around here and
other people do the heavy stuff.
However, we did not even start using the SA panels until we were forced
into it in release 2 (or maybe 1.3) - we just copied and coded the
macros and things were alot simpler.

Nevertheless, the message table entries i used were basically copied
from examples in one of the SA manuals and the supplied samples - i just
had to plug in my message ids and clist name.

The 'DATE,TIME,MESSAGE' Parms you are referring to  are just system
supplied  variables that are being passed to the clist.
MESSAGE i believe is the first line of the message text - additional
lines have to be obtained with GETMLINE.

Again, this method is simpler for me to use since i can just copy one
msg from another and control the processing with a clist - but it is
good to know about the message generator as well.

The commands:

AUTOMSG MEMBER=tablename,SWAP (or TEST) can be used to load and test the
new msg table.

----------------------------------------------------------------------
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