You can accomplish this by using the "Move Program Messages (QMHMOVPM)" API
that you mentioned.
Here are 2 methods to call the API.
1)	After your save command, call the API as follows
CALL       PGM(QMHMOVPM) PARM(('    ')                    
             ('*COMP     *DIAG     *ESCAPE   *INFO     ') 
             (X'00000004') ('*PGMBDY') (X'00000001')      
             (X'0000000000000000'))                        
2)	Create a command to call the API. Then after your save command, run
the command.  No command parameters are necessary.
	The command calls the API directly, you don't have to create a CPP.
SAVOBJ OBJ(XYZ) ..
MOVPGMMSGS
/* Command ...... : MOVPGMMSGS - Move Program Messages            */ 
/* CPP .......... : QMHMOVPM                                      */ 
/*                                                                */ 
/* Compile Command:                                               */ 
/* CRTCMD CMD(QTEMP/MOVPGMMSGS)                                   */ 
/*        PGM(*LIBL/QMHMOVPM)                                     */ 
/*        SRCFILE(QTEMP/QCMDSRC)                                  */ 
/*        SRCMBR(MOVPGMMSGS)                                      */ 
/*        ALLOW(*BPGM *IPGM *BMOD *IMOD)                          */ 
/*        REPLACE(*YES)                                           */ 
                                                                     
            CMD        PROMPT('Move Program Messages')               
                                                                     
            PARM       KWD(MSGKEY) TYPE(*CHAR) LEN(4) CONSTANT(' ')  
                                                                     
            PARM       KWD(MSGTYPE) TYPE(*CHAR) LEN(30) +            
                         CONSTANT('*COMP     *DIAG     *INFO     ')  
                                                                     
            PARM       KWD(NBRTYPS) TYPE(*INT4) CONSTANT(3)          
                                                                     
            PARM       KWD(TOPGMQ) TYPE(*CHAR) LEN(10) RSTD(*YES) +  
                         DFT(*PGMBDY) VALUES(* *CTLBDY *PGMBDY) +    
                        PROMPT('Call stack entry')         
 
            PARM       KWD(UPSTKCNT) TYPE(*INT4) CONSTANT(1)   
                                                               
            PARM       KWD(ERRCOD) TYPE(*CHAR) LEN(8) +        
                         CONSTANT(X'0000000000000000')         
                                                
Note, the above command was created based on an article from Ted Holt named
"CL Error-Handling with APIs" and can be found using the following link.
https://www.itjungle.com/2012/05/02/fhg050212-story01/
Ted's article dealt with Diagnostic and Escape Messages.  The above command
is a slight modification to send multiple message types in one call.
-----Original Message-----
From: MIDRANGE-L <midrange-l-bounces@xxxxxxxxxxxxxxxxxx> On Behalf Of Mark
Waterbury
Sent: Tuesday, December 19, 2023 3:19 PM
To: James H. H. Lampert via MIDRANGE-L <midrange-l@xxxxxxxxxxxxxxxxxx>
Subject: Re: Percolating message from SAVOBJ within CL Program
 QMHMOVPM API?
   > On Tuesday, December 19, 2023 at 06:09:12 PM EST, James H. H. Lampert
via MIDRANGE-L <midrange-l@xxxxxxxxxxxxxxxxxx> wrote:  
 
 Quick question (because I'm too lazy to RTFM myself)
I have a CL program that simply does a SAVOBJ to a save file. It's a save
file that I frequently have to regenerate, and it's a fairly complex SAVOBJ,
with a lengthy OBJ() parameter.
How do I get the "xx objects saved from library yyyyyyyyyy" message to
percolate back to the terminal session message line, the way it comes up on
the message line when I type the SAVOBJ directly on a command line?
JHHL
  
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxxxxxxxx To subscribe,
unsubscribe, or change list options,
visit: 
https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives at
https://archive.midrange.com/midrange-l.
Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related
questions.
.
As an Amazon Associate we earn from qualifying purchases.