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



Don't you need PERRCD(5) or something?

On Fri, Mar 17, 2017 at 11:35 AM, Hiebert, Chris <
chris.hiebert@xxxxxxxxxxxxxx> wrote:

-----Original Message-----
From: Scott Klement
Compile-time arrays work fine in **FREE without any **END-FREE type code
---------------------------

Yay, its PMR time again.

We had an issue where the program failed to compile because we were using
**FREE and the program had a compile time array.

So I went back and tried to determine what was failing.

Turns out the SQL Precompiler on V7R1 is killing our compile time arrays
by truncating each line.

It appears that the number of characters preserved in the CTDATA section
matches the number of characters found on the first line of the compile
time array section.

The Precompiler is turning this:

**FREE

Dcl-S Qry_Used Char( 100 ) Dim( 4 ) Ctdata;
Dcl-S Qry_Long_Used Char( 100 ) Dim( 4 ) Ctdata;

exec sql close CSRUSED;
*inlr = *On;
Return;

**CTDATA Qry_Used
acclimatization acclimatization's acclimatizations acclimatized
accouterment
accouterment's accouterments acknowledgment acknowledgment's
acknowledgmens
actualization actualization's actualizations aerosolize aerosolized
agonze
agonized agonizedlies agonizedly agonizer agonizers agonizes
agonizing
**CTDATA Qry_Long_Used
agonizingly airfoil airfoils airplane airplane's airplanes
alphabetize
phabetized alphabetizer alphabetizers alphabetizes alphabetizing
aluminum
luminum's aluminums amenorrhea amortize amortized amortizes
amortizing
amhitheater amphitheater's amphitheaters analog analog's analogs
analyzable



Into this:

**FREE

Dcl-S Qry_Used Char( 100 ) Dim( 4 ) Ctdata;
Dcl-S Qry_Long_Used Char( 100 ) Dim( 4 ) Ctdata;

**END-FREE
---precompiler stuff ---
**FREE
*inlr = *On;
Return;

**CTDATA Qry_Used
acclimatization
accouterment's a
actualization ac
agonized agonize
**CTDATA Qry_Long
agonizingly airf
phabetized alpha
luminum's alumin
amhitheater amph



-----Original Message-----
From: Scott Klement
One of the "features" of **FREE that I liked was that it forces you to
stop using the outdated fixed format techniques anywhere in your code.
People should replace O-specs with data structures, IMHO.
---------------------------

I don't necessarily disagree with the position of not using outdated
techniques.

However, the reality of maintenance programming is such that removing
current techniques is sometimes not allowed.

There is not much return on the investment of time it would take to
replace the o-specs with a newer technique when that technique accomplishes
the same end result.

You may need to help me out here, what is gained by using a data structure
for generating simple spool file reports?

Now, if we were able to replace the o-spec with, say, and HTML or Excel
report with pretty graphs and other stuff, then there would be an added
benefit.
Which could be used to pay for and justify the time investment.


Chris Hiebert
Senior Programmer/Analyst
Disclaimer: Any views or opinions presented are solely those of the author
and do not necessarily represent those of the company.
--
This is the RPG programming on the IBM i (AS/400 and iSeries) (RPG400-L)
mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.

Please contact support@xxxxxxxxxxxx for any subscription related
questions.

Help support midrange.com by shopping at amazon.com with our affiliate
link: http://amzn.to/2dEadiD


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.