|
I have written a program which may be called by a command validation
program (or other program) to determine the name of the calling command.
This technique uses the QMHRTVRQ API to retrieve the last *RQS message
(similar to what Simon Coulter described with RCVMSG).
Basically, the following gives you the last request message, which
contains the last command executed:
/*** API variables ***/
DCL VAR(&APIDTAFMT) TYPE(*CHAR) LEN(8) +
VALUE('RTVQ0100') /* API data formt */
DCL VAR(&APIDTALEN) TYPE(*CHAR) LEN(4) +
VALUE(X'000007D0') /* API data length: +
2000 */
DCL VAR(&APIDTARTV) TYPE(*CHAR) LEN(2000) /* +
Retrieved API data */
DCL VAR(&APIERRCD) TYPE(*CHAR) LEN(4) +
VALUE(X'00000000') /* API error code (no +
data returned) */
DCL VAR(&APILEN) TYPE(*CHAR) LEN(4) /* Data +
length returned */
DCL VAR(&APIMSGKEY) TYPE(*CHAR) LEN(4) +
VALUE(' ') /* No message key */
DCL VAR(&APIMSGTYP) TYPE(*CHAR) LEN(10) +
VALUE('*LAST') /* Request message type */
/*** Retrieve info on last request message ***/
CALL PGM(QMHRTVRQ) PARM(&APIDTARTV &APIDTALEN +
&APIDTAFMT &APIMSGTYP &APIMSGKEY &APIERRCD)
This technique has worked well for me. I'll let you decide whether it
fits the simple and elegant litmus test. Let me know if you'd like the
complete source program - I'll be happy to make it available to the
community.
Regards,
Jerry Jewel
Better living through fine code and hot coffee!
Email: jerry.jewel@nissan-usa.com
+---
| This is the Midrange System Mailing List!
| To submit a new message, send your mail to MIDRANGE-L@midrange.com.
| To subscribe to this list send email to MIDRANGE-L-SUB@midrange.com.
| To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com
+---
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.