Hi,
Thank you Harry for spotting the elephant in the room and Thank you Crispin, as always, for your valuable and supportive input. Very much appreciated.
Please note that what appears to occur from an external point of view does not always mirror what actually occurs within the internals. As you know, 2E is
fundamentally based on a data driven design. As stated within this thread, array support was implemented as a 'special kind of file' (in 1992).
Within the internals, this presented a number of challenges. Being that 2E is data driven, one of the challenges at that time was that all of the generators
(for all of the function types and for all of the different field types) needed to be modified. This resulted in massive programming modifications which needed
to occur in many places in order to support the 'new special kind of file' (i.e. array support). Another challenge was that the generated implementation for RPG
was completely different than the generated implementation for COBOL. In all of the different generations between RPG and COBOL, in my opinion, there is not
a more vast difference in generation than the difference that is generated for the array support.
Overhauling the original array support would have resulted in a lot more code modifications (thus, pushing out the release date significantly) and exponentially
increasing the risk of product stability for both the new feature and the existing array support that has been in use for the last 20 years.
We, in development, believe that we have implemented the correct approach with r8.6.
Thanks,
Mark
Mark Ronayne
CA Technologies
Senior Software Engineer
Tel: +1-650-534-9110
Fax: +1-650-534-9308
Mark.Ronayne@ca.com