We have been doing this technique since we got our first S/38. Just tonight I added a field to a table that has hundreds of RPG apps that use it and I did not have to compile anything. And this new filed is only going to be used by two applications so tomorrow I change and compile two logicals, one screen and two RPG apps to put the new field in production use.
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Charles Wilt
Sent: Friday, July 08, 2011 1:40 PM
To: RPG programming on the IBM i / System i
Subject: Re: RPG - I'm not dead yet!
I'm a fan of CMS systems...and I will admit that this used to be one reason...
However, I've since changed my mind. :)
The problem with recompiling the world, even in an automated fashion is that now you should regression test the world too....and I think even fewer RPG shops have automated testing than those that have CMS systems!
A better solution IMHO, is to make sure your RPG native RLA programs only access data through a logical file that has fields explicitly listed.
Now, you add a field to the physical, create one or more new logicals that include the field and modify any programs that need the field.
The additional logicals take up little space and add no overhead as they presumably are keyed like existing ones and thus will share the access path.
In practice, the next few times I need to add a field, I'll go head and add it to some or all of the most recently created logicals...as I don't mind recompiling and retesting a few programs. At some point, depending on project priority, what I feel like dealing with, I'll add the next field to v3 of the format.
Lastly, it's not hard to retrofit this method into an existing application that has programs that access the physical or existing logicals that implicitly share the physical's layout.
Charles
On Fri, Jul 8, 2011 at 12:37 PM, David Gibbs <david@xxxxxxxxxxxx> wrote:
*** NOT REALLY TOPICAL TO THE DISCUSSION, BUT ... ***
On 7/8/2011 10:51 AM, john e wrote:
In MY experience, with RPG...In almost all situations i was in,
adding a simple field to a table required compilation of all 1000+
RPG programs.
This is where a good change control system helps.
Add a field to a file, promote the change from development to QA, all the programs that use that file are automatically recompiled.
david
(who works for MKS, a change control solution provider, in addition to
running midrange.com)
--
IBM i on Power Systems - For when you can't afford to be out of
business
--
This is the RPG programming on the IBM i / System i (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.
--
This is the RPG programming on the IBM i / System i (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.
As an Amazon Associate we earn from qualifying purchases.