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