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