I'm trying to compile a clle program and keep getting:
"CPD2436 30 If MSGTYPE has *NEXT or *PRV specified, MSGKEY is
required."

It happens on the 2nd invocation of the rcvmsg command. (pgm below)

The recovery doesn't tell me anything either -
"Either add a MSGKEY parameter, or change the value specified for
MSGTYPE."

I have the msgkey variable defined and in the call??

Any help is appreciated, thanks,

John B



pgm

dcl var(&msgkey) type(*char) len( 4)
dcl var(&msg) type(*char) len(512)
dcl var(&msgdta) type(*char) len(100)
dcl var(&msgdtalen) type(*dec) len(5 0)
dcl var(&msgid) type(*char) len( 7)
dcl var(&severity) type(*dec) len(2 0)
dcl var(&msgfile) type(*char) len( 10)
dcl var(&msgflib) type(*char) len( 10)


/*
*/
/* allocate object
*/
/*
*/
alcobj OBJ((EBIIN *FILE *EXCL))

monmsg msgid(CPF1002) exec(goto trapit)
/*monmsg msgid(CPF4128) exec(goto trapit)*/

/*
*/
/* de-allocate object
*/
/*
*/
dlcobj OBJ((EBIIN *FILE *EXCL))

goto end


trapit:
/* receive the last message */
rcvmsg pgmq(*EXT) +
msgtype(*LAST) +
rmv(*NO) +
keyvar(&msgkey) +
msg(&msg) +
msgdta(&msgdta) +
msgdtalen(&msgdtalen) +
msgid(&msgid) +
sev(&severity) +
msgf(&msgfile) +
msgflib(&msgflib)

next:
/* receive the previous message */
rcvmsg pgmq(*EXT) +
msgtype(*PRV) +
rmv(*NO) +
keyvar(&msgkey) +
msg(&msg) +
msgdta(&msgdta) +
msgdtalen(&msgdtalen) +
msgid(&msgid) +
sev(&severity) +
msgf(&msgfile) +
msgflib(&msgflib)

if (&msgid *NE 'CPF1002') then(do)
goto next
enddo

if (&msgid *EQ 'CPF1002') then(do)
/* Retrieve the cpf1002 msg w/ it's substitution values */
/* Call program, pass msg to it */
enddo



end:
endpgm



IMPORTANT NOTICE: This message is intended only for the addressee and may contain confidential, privileged information.
If you are not the intended recipient, you may not use, copy or disclose any information contained in the message.
If you have received this message in error, please notify the sender by reply e-mail and delete the message.


This thread ...

Follow-Ups:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2019 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].