|
Well, now that I've had a chance to start tracing it, I know a bit more.
So far, everything where I've put breakpoints is completely identical between the DDS and SQL versions of the logical, up to the point where it crashes on the READ-equivalent CALLX.
To answer some of the questions that have come up:
In both cases, we are positioning by RRN.
The MCH1825 is sent from "DbDsiCursor," instruction 001EB8 to "QDBGETSQ," instruction 0C30.
The CPF5147 has reason code 2, and is sent from QDBSIGEX, instruction 0539, to my MI program, at the READ-equivalent CALLX.
Looking at a DSPFD of the SQL view, I find that the CREATE VIEW seems unremarkable; the select is via a "WHERE LPYSTO = 'D'" clause.
It seems that if I initially go to a RRN that satisfies the WHERE clause, I can do whatever I want without crashing, EXCEPT either go to the beginning of the file, or go explicitly to a RRN that doesn't satisfy the WHERE clause.
I'm continuing to dig through the code, attempting to find out if there are any differences in what happens between the SETLL-equivalent and the READ-equivalent.
--
JHHL
_______________________________________________
This is the MI Programming on the AS400 / iSeries (MI400) mailing list
To post a message email: MI400@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/mi400
or email: MI400-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/mi400.
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.