Alan Shore wrote:
Hi guys
I've just been asked the following question by my boss's boss
Is there anyway to add new fields (columns) "on the fly" to an existing
file, without having an exclusive lock on that file.
Short answer - no, and some tables are just too painful to modify
anyway. You can do some things.
You could make a new table with the same key.
You could use an interface stub program to allow trigger changes on the
fly. That way the stub is locked, not the program with the trigger logic.
You could use database server programs for IO, similar to JPA entities.
The server program can do caching, might even make things more
efficient. Maybe that's a good application for callback modules (see
recent discussions on rpg400-l.) Anyone who's ever worked with JDE World
software will know how wonderful database server programs are (not.)
There must be others, but that's about all I can think of right off the
top. If the implementation pain is greater than the benefit of a change,
the change shouldn't be done. Since that's the issue, suggest it should
be part of the ROI calculus. We all only work on projects that are
beneficial to the organization, right? Not just because it would be
neat, or I want it.
I firmly believe the only correct way is to do recompiles if the table
changes, but that may be just a religious issue. Compile time isn't
really a factor anymore. Where I work, we use CM software that keeps
track of the object relationships, so it's mostly automagic. You could
use tools like Hawkeye if you don't have a CM system. You could probably
roll your own if the powers won't even allow Hawkeye. If they're that
dim witted, pray for a quick improvement in the economy so you can move on.
It's not the answer you want, but some changes still need to be done at
odd hours; 5250 displays for instance. That's probably one of the
reasons we all get paid so much.
As an Amazon Associate we earn from qualifying purchases.