We had a JDE program blow up this week when it filled up a user space.
JDE uses lots of user spaces and user indexes for temporary data within RPG
programs - for raw GL entry, inventory transactions, etc. In this
particular instance, a program tried to go beyond the 16 MB size limit on
the user space and dumped. This is very troublesome, because this technique
is pervasive throughout the JDE World Software product.
For example, any program that needs to create journal entries will load
entries in the GL user space in QTEMP, then it will call the XT0911Z1
program to edit and process them.
IMO, JDE violated one of the prime directives of structured design, which
dictates that you should have high cohesion and low coupling between
programs/modules by using user spaces in this fashion, knowing that there
were such size limitations imposed by the OS.
Any suggestions on how to fix this without having to modify every program in
the system that calls XT0911Z1 ?
What I had in mind was building a work file in QTEMP and have the programs
create the G/L transaction information in the work file, modifying XT0911Z1
by passing an additional parm to it to tell it to process the work file
INSTEAD of the user space. By checking for the number of parms passed to
XT0911Z1, the unmodified programs could still use the user space technique
until we get around to modifying them - and most of them probably wouldn't
get modified...It would probably be programs that produce high-volumes of
transactions that would be modified first.
This mailing list archive is Copyright 1997-2019 by midrange.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 on our policy page. If you have questions about this, please contact