× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



James H. H. Lampert wrote:
I've now got an MI implementation of the "iteratively SETLL until
a record (or EOF) is found" in the initial testing stage, but
I've got a problem.

The concept works just fine if I know the read is going to fail,
and go straight to the iterative SETLL gambit before attempting
to read a record, but when I actually let the READ operation fail
(whether in RPG or in MI), the first SETLL operation throws a
CPF5129 ("I/O is not allowed because the program device or member
. . . is in error")

Anybody know how, short of closing and reopening the file, to
reset that state?

Since the msgCPF5129 is really just an indication that the LIC temporary cursor [the LIC portion of what is the ODP] was already deactivated\destroyed due to the error. There is no recovery other than to open the file again; of course after closing the current open to remove the CPF [i.e. non-LIC] activation\open; i.e. to null its pointer in the UFCB and IIRC to also reclaim the entry from the list of open files and remove the locks of the file & data.

Or does anybody know of a flag in the FIB, or the Open Feedback,
or someplace similar, that will tell me it's an SQL VIEW instead
of a DDS LF? It's been a few years since I was in those
structures last (I think it was when I figured out how to do RLA
reads of files containing SQL-only fields without crashing).


I do not recall what is where, and I have no access to any systems where I could find out even if I were so inclined.

Since the Data Management enables POSITION(*START) on the open, there is surely that option available in the UFCB.?

Regards, Chuck

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

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

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.