× 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.



On 2018-06-15 10:40 AM, dlclark@xxxxxxxxxxxxxxxx wrote:

OK, I understand. But, from the perspective of the next
programmer coming along, it is "tricking" the compiler because it is not
clear/obvious what is going on -- because it is not usual to use a prefix
with a period in it. Because, usually, the resulting I-specs are not
actually qualified. Here is my compile listing to demonstrate what I am
saying.


4 dcl-f MyFile disk extfile(*extdesc) prefix('CHE.')
...
8=I I 1 8 0CHE.IMLFCMPTID
9=I I 9 16 0CHE.CICOMPPTID
10=I I 17 24 0CHE.IMLFSEQTID

Sorry, I don't understand what you mean by "the resulting I-specs are not qualified". To me, having CHE.IMLFCMPTID in the I spec says that the I spec _is_ qualified.

But I agree that it's tricky, and maybe not an ideal way to code any more, now that we can just code the data structure on the I/O opcode without relying on I specs at all. Although it's maybe more a matter of tricking the next RPG programmer than tricking the compiler.

The support for PREFIX('DS.') was added in V5R1, one release prior to the support for allowing a data structure in the result field for I/O to externally-described files. This somewhat goofy F-spec PREFIX support allowed the I/O opcodes to read into and write from qualified data structures.


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
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.