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



One thing that I did not see mentioned in this thread is," what is ILE?" Well my understanding is it is an Integrated Language Environment. That is you can write programs, procedures, and modules in any language supported by the platform. It allows you to tie routines together that otherwise may not be available to the language you are currently using. For instance I do not know C but I needed to communicate via TCP/IP to other systems. The ILE allowed me to use the TCP/IP functions written in C with in my language of choice, RPGIV.

I found that one software package we purchased already had a service program with the BASE64 module I needed to send images to a 3rd party Did not have to write it or understand what BASE64 was, just how to use the procedure. I have a bunch of string manipulation routines on my system that were written in C and I use them in my RPGIV programs.

Sure I could write all of those in RPGIV myself, but why reinvent the wheel. The ILE allows me to use what I find on the internet, (Midrange.com mostly), regardless of the language the developer choose to work with. Some languages are better for communication or string manipulation than others. It does not matter as with ILE can use them all in my RPGIV program.

Another bonus is local variables within the functions, procedures, and service programs. Have you ever copied code into your program to reuse what another programmer already wrote, only to find out your define counter variable, X is defined as 3s0 in your code and the copied code has the same variable name but as a long integer? Now you have to decide if you want to change your usage or the copied code usage of the variable. What a pain. Or worse, the same variable name and definition but two different usages and "why is my counter changing that value?"

I like the fact that I have service programs that hold the repetitive code so I don't have to re-code it all over the place. It allows me to concentrate on the business at hand and not worry about the details of a function that has been written and debugged already.

But if you do not document and index these service programs, functions, and procedures, who will know they exist or how to use them. That to me is the most important part of creating a true ILE system. (Also the hardest to keep up to date and get the programmers to do. :) )

ILE also introduces other advanced features such as activation groups. For the most part I use the default of QILE as the base activation group. I had one instance where a sub-procedure was not able to find a record in a file. This was before we had the SQL precompiler and used OPNQRYFILE to select a subset of records. However we had to chain back to the same file to read a record that was related but not within the subset of records. I knew the record was in the file, chaining by unique key, but kept getting record not found. Once I changed the sub-procedure to run in a new activation group, it did not pick up the shared open data path and started finding the related records. With out activation groups I would have had to create a logical file based on the same key as we already had, just so I could reference a different file in the sub-procedure.

ILE = Integrated Language Environment.

Chris Bipes
Director of Information Services
CrossCheck, Inc.


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.