I don't know what business you're in, but how much EDI business are you
projecting into the future? It may be time to bite the bullet and recompile
all those programs. If you go down the path of getting "creative" with this
one field, you're potentially looking at having to modify all of the
programs to incorporate your data handling logic.
David can speak to the capabilities of Implementer, but Aldon has a built-in
dependency database that allows you to check out every object associated
with that order header file, tweak the physical and the display files, and
recompile and deploy in one swoop.
If you don't have the budget for a change control system, it shouldn't be
that difficult for your programmer to write some code to determine
everything he needs to touch.
[mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of Steve Richter
Sent: Saturday, April 26, 2014 7:45 AM
To: Midrange Systems Technical Discussion
Subject: how to increase field size without increasing the field size
We have an order header file that contains a PONUM field. Char(15).
But as the business expands to take on new customers sending in orders
with a PO number the 15 char limit might not be enough. The EDI 850
specs I look at say po number can be 1 - 22 characters.
The programmer who handles the RPG code with traditional F spec files
does not want to increase the field size and recompile all of the
I am thinking of a scheme where I put a special key in the char(15)
ponum field when the po number is longer than 15 characters. That
value being the key to another file that contains the actual value.
Are there any system level, DB2 features that can be used to solve this
Ideal would be something where code written using RPG SQL would
function without any code changes.
d vPonum s 30a
select a.ponum, a.shipname
into :vPonum, :vShipName
from dwhpf30c a
where a.ordnum = :inOrdnum ;
In the above code snippet, dwhpf30c is the order header. DWHPF30C is a
CRTPF created file and PONUM is a CHAR(15) field. When the value of
the PONUM field is actually more than 15 characters I need some logic
somewhere that will return the full value from where it is stored into
the char(30) program variable vPonum.