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

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.