|
Hmm....maybe that's the problem.
Here's the SNDPGMMSG from the vendor's code:
SNDPGMMSG MSG(&MESSAGE) MSGTYPE(*COMP)
Pretty vanilla...
Here's my code:
* QMHRCVPM (Receive Program Message) API parameters
D PmMessage S 1024
D PmMsgLen S 10U 0 Inz(%Len(PmMessage))
D PmFormat S 8 Inz('RCVM0100')
D PmCalStkEnt S 4 Inz('*')
D PmCalStkEntCnt S 10U 0 Inz(*Zero)
D PmMsgType S 10 Inz('*ANY')
D PmMsgKey S 4 Inz(*Blanks)
D PmWaitTime S 10U 0 Inz(*Zero)
D PmMsgAction S 10 Inz('*SAME')
// Receive the last completion message.
QUSBN = *Blanks;
QUSBNB = 8;
CallP QMHRCVPM(PmMessage :
PmMsgLen :
PmFormat :
PmCalStkEnt :
PmCalStkEntCnt :
PmMsgType :
PmMsgKey :
PmWaitTime :
PmMsgAction :
QUSBN);
The vendor's code is CLP, which is called by the vendor's command. I
wonder if I should call the command processing program directly?
> -------- Original Message --------
> Subject: Re: Message Processing
> From: "Scott Klement" <midrange-l@xxxxxxxxxxxxxxxx>
> Date: Wed, September 29, 2004 2:05 pm
> To: "Midrange Systems Technical Discussion" <midrange-l@xxxxxxxxxxxx>
>
> Are you accounting for the fact that another program (called 'QCMDEXC') is
> in-between the message sender and receiver? I know QCMDEXC will propigate
> escape messages to it's caller, but I don't know about *COMP.
>
> In fact, I don't know if I've EVER tried to receive a *COMP message.
> Maybe I have and I just can't remember it. (that happens!)
>
> Have you trying monkeying with which call stack entry you're sending to?
> All you say is "it's the right one".
>
> If all else fails, there's an API that you can use to get the data out of
> the job log. That's often the only solution.
>
>
> On Wed, 29 Sep 2004 michael@xxxxxxxxxxxxxxxxxx wrote:
>
> > I *think* the reason I don't like message processing is because I'm
> > stoopid. Here's my deal...PGMA calls PGMB. PGMB does a bunch of stuff,
> > but eventually sends a message to PGMA. PGMA is RPG, PGMB is a command
> > called by QCMDEXC. If I display the message details of the message I
> > want to receive (viewed through my job log), it has the correct from
> > program and to program. I want to use the QMHRCVPM (Receive Program
> > Message) API to get that message, parse it, and do something based on
> > the contents. When I make the call to QMHRCVPM, it executes but returns
> > nothing. I'm using *ANY for the message type (tried *COMP but that
> > didn't work), *EXT for the call stack entry (tried * but that didn't
> > work).
> >
> > Please...tell me what I'm doing wrong. All I can offer is the ability to
> > feel smarter than me. Not much, but it's better than a sharp stick in
> > the eye.
> --
> This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
> To post a message email: MIDRANGE-L@xxxxxxxxxxxx
> To subscribe, unsubscribe, or change list options,
> visit: http://lists.midrange.com/mailman/listinfo/midrange-l
> or email: MIDRANGE-L-request@xxxxxxxxxxxx
> Before posting, please take a moment to review the archives
> at http://archive.midrange.com/midrange-l.
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.