Some good advice in this thread.
There should be some documentation specific to your company environment so
that programmers are not flying in the blind. Try to find it, and maintain
it, so that any procedural changes that you make, are in there. A company
should NEVER be in a situation where programmers are toing things that will
only work right if the programmers human memory is correct ... the reality
is that there will be turnover of personnel ... there needs to be some
documentation somewhere that is to do with programming standards, naming
conventions, etc. BPCS supplies some via SSALOG00 (Logic Manual) in
BPCSDOC, but all companies ought to have more than that. I do not know of
any naming standards there ... you need to have access to prior personnel
to ask where that is stored.
Before modifying anything, we make a copy of the old source, so we have it
for reference in case we run into unexpected difficulties. Have a naming
convention for this, so you know which backups you not need any
more. Remember that PDM-54 can be used to compare two versions of same
kind of object. It does not work just for source files of programs ... can
also be used against other kinds of objects.
Each time when you recompile, check your library list and also be
consistent in how you recomple ... I use PDM-14 but perhaps your company is
using the BPCS CL's that came with specific recompile settings.
DDS defines the files used ... data files (physical logical), print files,
screen files etc.
DDS compile does not always meet all needs by default ... for example if
you have physical and logical files needing various members ... invariably
you will need to tinker with the file definitions after the DDS recompile.
You may have needs that DDS not perfectly address. After recompiling the
DDS I have some adjustments with CHGPRFT but I don't try to remember what
they are. I have a menu of the CHGPRTF with a CL program corresponding to
each of our standard form deviation adjustments ... I use PDM-14 on the DDS
source, then after it has compiled, I run the CL from our CHGPRTF menuu
corresponding to the print file, and before running that, I double check
the library list, because we have this stuff in more than one library.
In addition to that, I have comments in a section of the DDS laying out the
CHGPRT requirements, and identifying the CL on the CHGPRTF menu that is to
be used after the DDS gets a default compile.
RPG uses what came from the DDS, as adjusted by CHGPRTF
So you have to get the DDS compiled object however you want it before
recompiling the RPG.
In the front of the RPG sourece, before modification history, there is a
section with copyright notice, names of programmers who have messed with
this software, purpose of program etc. In that section, I include a list
of the related program objects, such as programs called by this one, and
what else might need to be updated if there are any dramatic changes in
this program. Purpose of the list is a reminder what ought to get reviewed
in concert with modifications. Main reason for this ... sometimes we have
software in test libraries, then when satisfactory copy to live ... well we
need to know all the DDS objects, all the called programs, all the special
shared objects, not omit anything when moving software from test to live.
CL uses what came from both DDS and RPG, and can do some overrides
So you have to get the DDS and RPG recompiled right before doing the CL
Different printers have different characteristics and capabilities.
I also have "reports" going to output things other than printers
You may have a case of a report not working because it is going to a
printer that is not equipped to get that report.
There ought to be some kind of company documentation to help navigate that
kind of reality.
We keep ours in with the on-line BPCSDOC using prefix of "FIX"
I have not programmed in RPG for about 5 years and I have a question. I
made a change to a custom written RPG program that is a specific form,
26 lines in length and 80 characters in width. I changed the wording on
this form and complied the program and complied the CL that ran this
program. Now the program does not work at all. It seems to have lost its
"form" settings. What am I missing here? We are on Bpcs 6.04 running in
mixed mode. Thanks for any help!
As an Amazon Associate we earn from qualifying purchases.