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



You do not need the CL. You can call the msg api's directly from RPG.
See Below (this is very old code):
 
D*****************************************************************
D** DATA STRUCTURE VARIABLES USED BY SEND/RETRIEVE MESSAGE API ***
D*****************************************************************
D QMHGEN          DS                                              
D  QMHFIL                 1     20    INZ('IBNKMSGF  *LIBL     ') 
D  QMHLEN                21     24B 0 INZ(240)                    
D  QMHTYP                25     34    INZ('*INFO     ')           
D  QMHPGQ                35     44    INZ('*EXT      ')           
D  QMHSTK                45     48B 0 INZ(0)                      
D  QMHKEY                49     52    INZ('    ')                 
D  QMHRMV                53     62    INZ('*ALL      ')           
D  QMHM2S                63     69    INZ('CPF9999')              
D  QMHMDT                70    309    INZ(' ')                    
D  QMHFMT               310    317    INZ('RTVM0100')             
D  QMHMID               318    324    INZ('CPI0C09')              
D  QMHDTA               325    524    INZ(' ')                    
D  QMHMDL               525    528B 0 INZ(200)                    
D  QMHRPL               529    538    INZ('*YES      ')           
D  QMHCTL               539    548    INZ('*YES      ')           
 *
D QMHERR          DS                              
D  QMHEBA                 1      4B 0 INZ(256)    
D  QMHEBR                 5      8B 0 INZ(0)      
D  QMHEMI                 9     15                
D  QMHRSV                16     16                
D  QMHEMD                17    256                
 *                                                
D QMHRTV          DS                              
D  QMHDBR                 1      4B 0 INZ(0)      
D  QMHDBA                 5      8B 0 INZ(0)      
D  QMHL1R                 9     12B 0 INZ(0)      
D  QMHL1A                13     16B 0 INZ(0)      
D  QMHL2R                17     20B 0 INZ(0)      
D  QMHL2A                21     24B 0 INZ(0)      
D  QMHMSG                53    240    INZ(' ')
D*****************************************************************
D* QUSEMD (240A) Error message data                              *
D*****************************************************************
D QUSGEN          DS                                              
D  QUSRV2                 1    180    INZ(' ')                    
D  QUSODT               101    150                                
D  QUSRVL               181    184B 0 INZ(180)                    
D  QUSIFN               185    192    INZ('OBJD0200')             
D  QUSONL               193    212    INZ('          *LIBL     ') 
D  QUSOTR               213    222    INZ('*FILE     ')           
D*****************************************************************
D QUSERR          DS                                              
D  QUSEBA                 1      4B 0 INZ(256)                    
D  QUSEBR                 5      8B 0 INZ(0)                      
D  QUSEMI                 9     15                                
D  QUSRSV                16     16                                
D  QUSEMD                17    256 
 *****************************************************************
 * DATASTRUCTURES FOR MULTI_MESSAGE DATA                         *
 *---------------------------------------------------------------*
 * These is the standard Messagehandling datastructure.         *
D*****************************************************************
D MSG001          DS                                              
D  MSGF01                 1     40                                
D  MSGF02                41     80                                
D  MSGF03                81    120                                
D  MSGF04               121    160                                
D  MSGF05               161    200                                
D  MSGF06               201    240                                
 
Routines to execute the calls
 
*************************************************************** 
 *  SUBR :  R10     : Put message in the messagequeue.           * 
 ***************************************************************** 
C     R10           BEGSR                                          
 *                                                                 
 * Field Initializations if not already done                       
 *---------------------------------------------------------------- 
C     QMHPGQ        IFEQ      *BLANK                               
 *                                                                 
C                   MOVEL(P)  $PGMN         QMHPGQ                 
C                   CLEAR                   QMHM2S                 
C                   CLEAR                   QMHEMI                 
C                   CLEAR                   QMHRSV                 
C                   CLEAR                   QMHMDT                 
C                   CLEAR                   QMHSTK                 
 *                                                                 
C                   ENDIF                                          
 *----------------------------------------------------------------
C                   CALL      'QMHSNDPM'    $LSNDM                 04
 *                                                                   
C                   ENDSR                                            
 *                                                                   
 *****************************************************************   
 *  SUBR :  R11     : Delete messages from messagequeue.         *   
 *****************************************************************   
C     R11           BEGSR                                            
 *                                                                   
 * RESET error parameters.                                           
 *                                                                   
C                   RESET                   QMHKEY                   
C                   RESET                   QMHEBA                   
C                   RESET                   QMHEBR                   
 *                                                                   
C                   CALL      'QMHRMVPM'    $LRMVM                 04
 *                                                                   
 * Definition section.                                               
 *----------------------------------------------------------------    
 * PARAMETERLIST FOR REMOVE MESSAGE                                             
          
 *----------------------------------------------------------------              
          
C     $LRMVM        PLIST                                                  
REMOVE MESSAGE 
C                   PARM                    QMHPGQ                         
MESSAGE QUEUE  
C                   PARM                    QMHSTK                         CALL 
STCK COUNT
C                   PARM                    QMHKEY                         MSG 
KEY        
C                   PARM                    QMHRMV                         MSG 
2 REMOVE   
C                   PARM                    QMHERR                         
ERROR CODE     
 *                                                                              
          
 * PARAMETERLIST FOR SEND MESSAGE                                               
          
 *----------------------------------------------------------------              
          
C     $LSNDM        PLIST                                                  SEND 
MESSAGE   
C                   PARM                    QMHM2S                         MSG 
IDENTIFIER 
C                   PARM                    QMHFIL                         MSG 
FILE       
C                   PARM                    QMHMDT                         MSG 
DATA       
C                   PARM                    QMHLEN                         MSG 
LENGTH     
C                   PARM                    QMHTYP                         MSG 
TYPE       
C                   PARM                    QMHPGQ                         MSG 
QUEUE
C                   PARM                    QMHSTK                         CALL 
STCK COUNT 
C                   PARM                    QMHKEY                         MSG 
KEY         
C                   PARM                    QMHERR                         
ERROR CODE      
 *----------------------------------------------------------------              
           
C                   ENDSR                                                       
           
 *****************************************************************
 *  SUBR :  R12     : Send finishing message to previous PGM.    *
 *****************************************************************
C     R12           BEGSR                                         
 *                                                                
C                   MOVEL(P)  '*INFO  '     QMHTYP                
C                   MOVEL(P)  '*   '        QMHPGQ                
C                   Z-ADD     2             QMHSTK                
C                   EXSR      R10                                 
 *                                                                
C                   ENDSR                                         
 
Standard way to send a message (For a message without or with one variable)
 
C                   MOVEL(P)  K@53          QMHMDT 
C                   MOVEL     'APP0001'     QMHM2S 
C                   EXSR      R10                  
 
And a multy variable message (all variables are standard 40 positions long).
C                   CLEAR                   MSG001        
C                   MOVEL(P)  K@52          MSGF01        
C                   MOVEL(P)  K@52F         MSGF02        
C                   MOVEL(P)  MSG001        QMHMDT        
C                   MOVE      'GEN0002'     QMHM2S        
C                   EXSR      R10 
 
                        
 
Cheers,
Eduard.

"Beeson, Terry" <Terry.Beeson@xxxxxxxxxxxxxxxxx> wrote:
Thanks Marco. I'll give it a go.

-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx]On Behalf Of Marco Facchinetti
Sent: 16 November 2004 12:29
To: RPG programming on the AS400 / iSeries
Subject: Re: Message Subfiles


This is something that I copy from a looong time:

A R SFLMSG SFL 
A*%%TS SD 20000602 095106 METAILE REL-V4R4M0 
5769-PW1
A TEXT('MSG PGM')
A SFLMSGRCD(24)
A MSGKEYW SFLMSGKEY
A PROGRAM SFLPGMQ(10)
A R SFLMSGC SFLCTL(SFLMSG)
A OVERLAY
A SFLDSP
A SFLDSPCTL
A SFLINZ
A N33 
AON33 SFLEND
A SFLSIZ(0010)
A SFLPAG(0001)
A PROGRAM SFLPGMQ

and this is the cl part:

(PGM MSNDMSG)

PGM PARM(&MSG &MSGF) 
DCL VAR(&MSG) TYPE(*CHAR) LEN(7) /* Msgkey */
DCL VAR(&MSGF) TYPE(*CHAR) LEN(10) /* Msg file */
SNDPGMMSG MSGID(&MSG) MSGF(&MSGF) 
MONMSG MSGID(CPF0000) 
endpgm 

(PGM MRMVMSG)

PGM 
RMVMSG PGMQ(*PRV) MSGQ(*PGMQ) CLEAR(*ALL)
MONMSG MSGID(CPF0000) 
ENDPGM 

and the rpg calling part:

dMrmvmsg PR
dMsndmsg PR 
d 7 const
d 10 
d filemsg s 10 inz('MSGFNAME')
dutility sds 
d program *proc
....

a typical use:

c write sflmsgc
c exfmt ad0000d
c callp mrmvmsg
...
c callp msndmsg('ATT0002':FILEMSG)

Don't like procedures? use CALL and PARM.

HTH
Marco
--- "Beeson, Terry" wrote:

> Hi All
> 
> What is the best (and easiest?) method to display
> multiple messages at the bottom of a screen?
> 
> If anyone has got some sample code they are willing to
> share - I would be most grateful.
> 
> Thanks and regards,,
> Terry
> 




__________________________________ 
Do you Yahoo!? 
The all-new My Yahoo! - Get yours free! 
http://my.yahoo.com 


--
This is the RPG programming on the AS400 / iSeries (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.


--
This is the RPG programming on the AS400 / iSeries (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.