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"

Al Macintyre

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.

This thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2022 by 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 [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.