That is exactly why programmers created Logical Files with just the fields
they needed for their program. You could change the physical but the
logical would remain unchanged. In my opinion that was a bad idea.

Unless the keys don't already exist in another logical, there's no
additional overhead beyond a few bytes of disk.

Perhaps my memory is foggy (this situation hasn't come up for me in
quite a while), but in order for logicals not to need "refreshing"
(for us that always meant recompiling, but perhaps you can get away
with just CHGLF?) the LF has to be defined with LVLCHK(*NO), doesn't
it?

This has definitely bit us in the rear on a few occasions.
(Underlying PF was changed, no complaint from LF or RPG, resulting in
corrupt data.)

But, let's suppose you accept the risk of not having level checks.
Then I would still wonder why you need the LF. Why can't you just not
level-check the PF and use the PF directly in the RPG? That still
achieves the *ahem* "desired" result of being able to change the PF
without recompiling the RPG, no?

This mailing list archive is Copyright 1997-2015 by MIDRANGE dot 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 here. If you have questions about this, please contact