× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



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

Follow-Ups:

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.