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



-----Original Message----- From: Hiebert, Chris
Does anyone know if IBM is going to add the "**end-free" to the
documentation specification for "**free"?
Currently the operation is there, it's just hidden and used by the SQL
Precompiler.
Using the "**end-free" appears to be the easiest solution to continue using
compile time arrays and "O-spec" in a **free RPGLE program.
I just don't want to have to push the stuff into a copy book, which seems
overly tedious.
--------------------------------

Well I never. Well spotted, Chris. I just tried the following piece of RPGLE source, (no SQL):

**Free
Dcl-F Qsysprt Printer(132);
Dcl-S CTArray Char(3) Dim(5) CtData Perrcd(5);
Dsply CTArray(3) '*REQUESTER';
Except Prtline;
*INLR=*ON;
Return;
**End-Free
OQSYSPRT E PRTLINE 1
O 15 'Print Data'
**CTDATA CTArray
AAABBBCCCDDDEEE

It seems to work just fine. The LPEX editor barfs over the **END-FREE - but it compiles and runs OK. Remove the **END-FREE and it _won't_ compile! However, remove the O-specs, associated F-spec and EXCEPT - AND the **END-FREE - it will then compile/run, despite the array definitions. So, **END-FREE only needed if there are O-specs, (and maybe old-style P-specs)?

To be fair, the manual does state:
"Special directive **FREE indicates that the entire source member contains fully free-form code." So, I guess coding O-specs and P-specs kinda breaks the 'rules' anyway.

Learning all the time!
Brian.

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.