×
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.
FWiW [and what you probably already know, but others probably do
not], that alluded override invocation [redirecting to a program] is
already quite similar to how the OS already functions.
The /common data management open/ [QDMCOPEN] currently processes
the overrides and establishes which program is to be called for each
of the supported I/O methods according to the type [e.g. device &
access path] of the open; established in the Open Data Path created
for the OPEN request. Defined as just one program however, the
methods might best be a feature of the runtime I/O versus open; i.e.
the defined program restricts the unsupported method by an error
versus protecting the access via the common data management layer.?
There are feedback areas for the open itself [record length,
...], keys, positioning, errors, etc. All that formalized and
exposed to a user-defined program, such a program could then provide
access to the data [stream] in any container that is not already a
supported *FILE type, via any HLL program coded to use the builtin
I/O operations for that HLL; e.g. OPEN, EXFMT, WRITE, READ, READE,
RCVF, SNDRCVF.
Not to imply anything of the subject support, as I know nothing
of it. However as a true architecture [being "open" is unnecessary,
only "published" is required], any language on any system could add
statements to utilize the architected open\close, I/O operations, &
feedback, in order to take advantage of anything coded to handle
those requests also according to the architecture. With such an
architecture, the RPG [both the language for compiling, and existing
sources] on i, could be more easily ported to AIX if someone decided
to build the effective device and database file support against
which those file related opcodes perform. The same could be done
without anything actually being /open/, but how much and how soon
would anything get done if entirely dependent on IBM to make it happen?
Regards, Chuck
Mark S. Waterbury wrote:
Why is this idea being presented as only an RPG IV enhancement?
I think it would be far better to provide this capability in
the "base" OS, namely, via a mechanism such as the "override"
commands, so that you could do something like this:
OVRDBF FILE(MYFILE) PGM(MYLIB/MYPGM)
This would then tell the system to call the named program for all
file-related activity for this file (open, read, write, close,
etc.). Of course, a suitable parameter list structure would need
to be defined for such an "exit" program, but conceptually this
should be able to work similar to triggers. This would work in a
manner similar to RPG's SPECIAL files, but would work for all
opcodes, including EXFMT.
I think this facility should be supported on all of the OVRxxx
commands (OVRDBF, OVRDSPF, OVRPRTF, etc.) -- so that it would be
possible to "redirect" any existing file to another device (or
the web).
This kind of approach would enable such an enhancement to work
with any supported language or compiler.
What do you all think?
As an Amazon Associate we earn from qualifying purchases.