|
Rob,
Would you happen to have the PR and PI for the QMHRTVM api?
rob@dekko.com wrote:
>
> Have you thought of using the message line? Then you could use the
> following:
>
> ...
> * Send a program message.
> D qmhsndpm PR EXTPGM('QMHSNDPM')
> D MessageId 7A CONST
> D MessageFile 20A CONST
> D MsgDataOrText 300A CONST OPTIONS(*VARSIZE)
> D MsgDataLen 10I 0 CONST
> D MessageType 10A CONST
> D CallStackEnt 30A CONST OPTIONS(*VARSIZE)
> D CallStackCtr 10I 0 CONST
> D MessageKey 4A CONST
> D qmhsndpmErr LIKE(ErrorCodeP)
> ...
> D ErrorCode DS
> D BytesProvided 10I 0
> D BytesAvail 10I 0
> D ExceptionId 7A
> D Reserved1 1A
> D ExceptData 256A
> D ErrorCodeP S LIKE(ErrorCode)
> D based(pErrorCode)
> D pErrorCode S * inz(%addr(ErrorCode))
> ...
> * IErrorCode is used internally.
> D IErrorCode DS
> D IBytesProvide 10I 0
> D IBytesAvail 10I 0
> D IExceptionId 7A
> D IReserved1 1A
> D IExceptData 256A
> D IErrorCodeP S LIKE(IErrorCode)
> D based(pIErrorCode)
> D pIErrorCode S * inz(%addr(IErrorCode))
> ...
> C Eval IExceptionId='CPF9898'
> C Eval IExceptData='Now processing record ' +
> C %trim(%editc(x:'Z')) + ' of ' +
> C %trim(%editc(y:'Z'))
> ...
> C CallP qmhsndpm(IExceptionId:
> C 'QCPFMSG *LIBL ':
> C %trim(IExceptData):
> C %len(%trim(IExceptData)):
> C '*STATUS ':
> C '*':
> C 0:
> C MsgKey:
> C ErrorCodeP)
> ...
> And the program is multimode. Meaning this logic should work batch,
> interactive, or whatever. Granted the 'record x of y' example is a little
> extreme, but you can tailor it to follow the logic of your own program.
> And I would put all of the above lines except the C specs into a /COPY
> member. You'll find yourself using it a whole lot.
>
> Rob Berendt
>
> ==================
> Remember the Cole!
>
>
> Amir Khan
> <akhan@saudicemen To:
>"'RPG400-L@midrange.com'" <RPG400-L@midrange.com>
> t.com.sa> cc:
> Sent by: Subject: Display a Messsage
> owner-rpg400-l@mi
> drange.com
>
>
> 04/19/01 01:48 AM
> Please respond to
> RPG400-L
>
>
>
> Hi,
>
> I am trying to display a message through my interactive RPG program. My RPG
> program takes input and starts continue executing when Enter key is pressed
> by user. Since program is taking longer time to finish processing, I just
> want to display a 'Please Wait?Processing' message on the screen without
> erasing the input screen. I am not calling my RPG program from any CL
> program since I am using SQL in it. If I define a second record format in
> DDS with OVERLAY and use EXFMT then program displays the message but also
> wait for Enter key press again, simply WRITE statement in RPG does not.
>
> For any help many thanks in advance.
>
> Amir
> System Analyst, SCC,
> K.S.A.
> (00-966-03-8344500 X267)
>
> +---
> | This is the RPG/400 Mailing List!
> | To submit a new message, send your mail to RPG400-L@midrange.com.
> | To subscribe to this list send email to RPG400-L-SUB@midrange.com.
> | To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com.
> | Questions should be directed to the list owner/operator:
> david@midrange.com
> +---
>
> +---
> | This is the RPG/400 Mailing List!
> | To submit a new message, send your mail to RPG400-L@midrange.com.
> | To subscribe to this list send email to RPG400-L-SUB@midrange.com.
> | To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com.
> | Questions should be directed to the list owner/operator: david@midrange.com
> +---
+---
| This is the RPG/400 Mailing List!
| To submit a new message, send your mail to RPG400-L@midrange.com.
| To subscribe to this list send email to RPG400-L-SUB@midrange.com.
| To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com
+---
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.