On Wed04-Apr-2011 13:47 , Rusling, John wrote:
I think I'll read up on what I can google on dftpgm/chgmsgd before
I belabor you, or anyone else here, on inane questions.<g>
Searches on DFTPGM and\or CHGMSGD are not fruitful since the example
program is in CL Programming documentation without *any* reference to
either of those tokens from which to get any hits :-( A good search is
on "example of a default program" or "Specifying Default Message
Handling for Escape Messages"; Oh so nice that the documentation with
the example calls the program the "Default Message Handling for Escape"
versus the "Default Program to Call" as in xxxMSGD commands. Ugh! The
searches should locate at least the following document link with the
example CLP as DFTPGM():
http://publib.boulder.ibm.com/infocenter/iadthelp/v7r0/topic/com.ibm.etools.iseries.pgmgd.doc/evfclmst195.htm
The variation required for the unmonitored RNX1216 scenario, requires
receiving the previous MSGTYPE(*EXCP) versus a *DIAG; LIFO versus FIFO,
so just another RCVMSG if &5 of RNX1216 was verified to equal 'CPF4128'.
Additionally, I found that the program parameter documentation is in
the help text for the ADDMSGD [though not in CHGMSGD in v5r3]. Issue
the following on a command line and press Enter to go directly to the
DFTPGM() parameter, then press F1=Help to review the parameter details:
ADDMSGD ??DFTPGM(*NONE)
The result of the help text suggest that if the conditions necessary
for the named DFTPGM() to be invoked are met [unmonitored and escape],
then the named program will be called with the following two parameters:
o The name of the program or procedure to which the message is
sent (277 characters). The program name, module name, procedure
name, and program type of the call message queue to which the
message is sent. This is the same name as the program or
procedure that did not monitor for the escape message.
Characters 1 through 10 are the name of the program to which the
message is sent.
Characters 11 through 20 are the name of the module to which the
message is sent. If the message is not sent to an ILE
procedure, the value *N is returned in this field padded on the
right with blanks.
Characters 21 through 276 are the name of the procedure to which
the message is sent. If the message is not sent to an ILE
procedure, the value *N is returned in this field padded on the
right with blanks.
Character 277 is set to the value 1 if the message is sent to an
ILE procedure, or to the value 0 if the message is not sent to
an ILE procedure.
o Message reference key (4 characters). The message reference key
of the escape message on the program message queue.
Regards, Chuck
As an Amazon Associate we earn from qualifying purchases.