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



When you send a status message, send a *STATUS message. These messages
should target the *EXTernal message queue, NOT your program's message
queue. The status message will remain there (obscuring the program message
subfile, but your users don't know that) until something else is written
there -- like your screen and message subfile.

I'm stuck home without time to look up the API. Right there where you
currently send the *DIAG and write the MSGCTL01 format, stop doing both
those things and send a *STATUS message to the *EXT queue (still using
QMHSNDPM) instead, then continue along with your processing as notmal.
Since you cleared all the program messages after reading the screen (good),
it will be empty (good) and the status message will go away when the screen
and MSGCTL01 are written again.

Stu



On Fri, Nov 23, 2012 at 4:34 AM, Jonathan Mason
<Jonathan.Mason@xxxxxxxxxxx>wrote:

I have a simple home-grown menu program written in RPG that uses a message
subfile to display errors to the user. I would like to extend the use of
the subfile to display a "job is processing" status message to the user
after the Enter key has been pressed and that will disappear when the menu
is redisplayed.

An extract of the program is shown below:

DoW Cmd_F3 = Not Pressed;

// Display the subfile to the user...
MsgSflDsp = Yes;
MsgSflDspCtl = Yes;

Write(e) FOOTER;
Write(e) MSGCTL01;
Write(e) SFLCTL02;
ExFmt(e) SELECTION;

// Clear the error message subfile...
CallP(e) RmvPgmMsg ('*' : 0 : *Blanks : '*ALL' : MsgErr);

...
...

// Display "Processing" message...
CallP(e) SndPgmMsg('CPF9898' : MsgFile : %Trim(aMsg(6)) :
%Len(%Trim(aMsg(6))) : '*DIAG' : sdsProc : 0 :
MsgKey : MsgErr);
Write(e) MSGCTL01;

// Run the menu option...
CallP(e) QCAPCMD (%Trim(MDTARGET) : %Len(%Trim(MDTARGET)) :
CPOP0100 : %Size(CPOP0100) : 'CPOP0100' : wRtnCmd :
%Size(wRtnCmd) : wRtnCmdLen : ApiError);

...
...
EndDo;

The program uses the QMHSNDPM System API and works fine sending *DIAG
messages to the display. I have tried using *STATUS, *INFO and *DIAG to
try and achieve the desired effect, but the best I can do is for the
"processing" message to be displayed after the option has completed.

I have tried all combinations of the three message types as well as
writing the MSGSFLCTL format (or not) immediately after sending the
message, but to no avail. Status messages from the called
programs/commands do appear, so it must be possible.

Any ideas?

Thanks

Jonathan


________________________________
Proud partner of The Ageas Bowl and the Ageas Salisbury International Arts
Festival.

Registered Address: Ageas House Tollgate Eastleigh Hampshire SO53 3YA
Registered Number: 354568 England
Authorised and regulated by the Financial Services Authority

This e-mail together with any attachments are intended for the addressee
only and may be private and confidential. If you are not the intended
recipient, or the person responsible for delivering it to the intended
recipient, you must not open any attachments, or copy, disclose,
distribute, retain or use this e-mail, including any attachments, in any
way whatsoever; please return it to us immediately using the reply facility
on e-mail.

Consider the environment and think before you print this email.
--
This is the RPG programming on the IBM i / System i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

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.