|
I wrote a module to send messages to QSYSOPR and wait for responses. I
built it around the QMHSNDM api (Send Non-Program Message) - but
SNDUSRMSG works too. It allows you to specify the message queue of
*SYSOPR. You don't want to send it to the user *SYSOPR.
One issue you might be running into is that not all messages allow a
response. That's determined by how the message is set up in the message
file. Some messages don't allow a reply value, therefore no intervention
is required from the QSYSOPR message queue to respond to the message.
Other messages have default values the system enters for you.
For example, there's a generic message CPF9898 located in the message
file QSYS/QCPFMSG. That message allows 1 parm, but does not define any
responses. If you send that message ID, no response will be allowed.
Try This:
PGM
DCL VAR(&BLA) TYPE(*CHAR) LEN(1)
SNDUSRMSG MSGID(CPA3708) MSGF(QSYS/QCPFMSG) +
MSGDTA('TEST TEST2 ') +
TOMSGQ(*SYSOPR) MSGRPY(&BLA)
EXIT: ENDPGM
The variable &BLA will have the entered response.
To work with messages and allow response values, the command is WRKMSGF.
To see how the message example I used is set up to allow responses and
the input display values, enter WRKMSGF QSYS/QCPFMSG, locate the CPA3708
command, and take a look.
Best wishes
JPW
The bitterness of poor quality remains long after low pricing is
forgotten!
Cautillo, Leon M.
-----Original Message-----
From: midrange-l-bounces@xxxxxxxxxxxx
[mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of Imtiaz Ahmed
Sent: Friday, 24 March 2006 4:50
To: midrange-l@xxxxxxxxxxxx
Subject: Issue with SNDUSRMSG not breaking for response.
Can any one please let me know what I am missing here? I am using a
simple CL program to send an inquiry message to QSYSOPR message queue.
It sends the message but does not wait for a response. I ran the program
in Debug and the &REPLY value returned is *N. I also tried with a MSGID
CPF9898 but still the same results. I did check the message queue
setting for QSYSOPR and the delivery option is set for *BREAK. Any help
in this regards is most appreciated.
>
> PGM PARM(&MSG)
>
> DCL VAR(&RPLY) TYPE(*CHAR) LEN(1)
>
> DCL VAR(&MSG) TYPE(*CHAR) LEN(99)
>
>
>
> SNDUSRMSG MSG(&MSG) VALUES(Y) MSGTYPE(*INQ) +
>
> TOUSR(*SYSOPR) MSGRPY(&RPLY)
>
>
>
> ENDPGM
>
Imtiaz M.Ahmed
Senior Programmer Analyst
Dollar General Corporation
100 Mission Ridge
Goodlettsville, TN 37072
615.855.4358
iahmed@xxxxxxxxxxxxxxxxx
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 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.