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.