On 12-Feb-2014 11:37 -0800, CRPence wrote:
On 12-Feb-2014 11:23 -0800, Gqcy wrote:
I am trying to use the QMHSNDPM api, but sending a message to the
history log (creating a CPF9898 text message)...

If I use *EXT instead of *HSTLOG, I do get the message to break to
my screen, but I can't get *HSTLOG to work... <<SNIP>>

Given the special value *HSTLOG is an apparent attempt to direct the
message to the message queue object QHST in QSYS [though as I recall,
I had noticed that the OS may utilize incorrectly a value of QHST in
*LIBL], perhaps to circumvent an apparent issue with what presumably
is a supported special value, just code the value as?:
msgmsgq='QHST QSYS '


Although the CL command Send Program Message (SNDPGMMSG) supports sending a message either to a program message queue [including the "external" program message queue; aka *EXT] or to message queue (*MSGQ) objects, the Send Program Message API has no extension similarly to enable sending a message to an message queue (*MSGQ) object. Thus there is no support for the special values *SYSOPR or *HSTLOG as in the Send to non-pgm message queue (TOMSGQ) parameter of SNDPGMMSG, lacking any means to specify an message queue object name. The variable named MsgMsgQ is not a 20-byte argument to name an external message queue, but is a variable size argument to specify the Call Stack Entry details:

<http://pic.dhe.ibm.com/infocenter/iseries/v7r1m0/topic/apis/QMHSNDPM.htm>
_Send Program Message (QMHSNDPM) API_
"...
The Send Program Message (QMHSNDPM) API sends a message to a call message queue or the external message queue. (The external message queue is the part of the job message queue that handles messages between an interactive job and the work station user. It is not associated with a specific call stack entry.)
...

To send a message to a nonprogram message queue,
see _Send Nonprogram Message (QMHSNDM) API_ <http://pic.dhe.ibm.com/infocenter/iseries/v7r1m0/topic/apis/QMHSNDM.htm>
...

_Call stack entry_
INPUT; CHAR(*) or Pointer

The call stack entry to send the message to, or the call stack entry to start counting from when using a value other than 0 for the Call stack counter parameter. The call stack entry you specify must be in the call stack. You can also specify the external message queue.

You can specify a call stack entry by providing the name of the OPM program or ILE procedure running in the entry, by providing an invocation pointer to the call stack entry, or by using one of the following special values:

* The current call stack entry (that is, the one in which the program or procedure is using this API is running).

...

*EXT The external message queue. The Call stack counter parameter is ignored. You cannot send escape or command messages to this message queue. If you are sending an inquiry message, you must specify this message queue. If you are sending a status message to *EXT in an interactive job, the message is displayed at the bottom of the current job's display station.

..."


As an Amazon Associate we earn from qualifying purchases.

This thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.