|
Greg, I haven't worked with this one specifically, but I've worked
with a lot of IBM structures with variable length data. If this one
follows the normal pattern, it would work something like this:
1. Data starts AFTER the last fixed-length field 2. In this case, the
last fixed-length field is QMHLHAVL 3. The positions are from 173 to
176 4. And so the first variable length field starts at position 177
Since data structure positions are one-based, the offset of the first
field is actually 176. The rest of the calculations are made using
the returned lengths, QMHLDRTN, QMHLMRTN, and QMHLHRTN. So if I start
with a pointer pData whose value is %addr(myDS), then I get this:
Replacement data starts at (pData + 176) for QMHLDRTN bytes Message
data starts at (pData + 176 + QMHLDRTN) for QMHLMRTN bytes Help starts
at (pData + 176 + QMHLDRTN + QMHLMRTN) for QMHLHRTN bytes
Is this not what you're seeing?
On 7/30/2019 3:38 PM, Greg Wilburn wrote:
These Data Structures suck...
So I added a message field of my own to the end of the DS:
/include qsysinc/qrpglesrc,qmhrtvm // QMHRTVM API data
structures
dcl-ds Error qualified;
rcvm0200 likeds(QMHM020000);
Message char(3000);
end-ds;
The DS field QMHLDRTN00 has a description (in the /include) of "
Length Data Returned"
Through trial and error I discovered that this value is the length of
the first part of the message... The actual Message and Cause from
the job log BEGIN at one position beyond that (QMHLDRTN00 + 1).
Has anyone worked with these enough to confirm this? It just doesn’t
make sense to me given the IBM field description in the source file
and online.
Greg
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 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.