× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



>Kirk wrote:
> Subject: How big can a program be ??
> I don't have a lot of details but here goes.
> I have a client with a very large program (OPM RPG) on a V4R5 730 with 1gb
> memory and 400+ gb of disk.
> The other day they made some additions to the code and it would not
> compile. Now they say all it said in the error
> message was the program failed to compile. I know there's a message
> somewhere but they can't find it.
> The question to me was "How Big can a program be?" "Is there a limit to
> the lines in the source?" "Is there a limit in the size of the compiled
> pgm?"

Kirk -

Did the compile end with:  CPF6301 (Intermediate representation of program
(IRP) contains &1 errors. Probable compiler error.) OR CPF6563 ( Program was
too large  to be created.) (This may be a COBOL-only message)?

Or did you see these messages in the job log from the compile?  These errors
are from the compiler that processes the

See these links on the IBM knowledge base...

<http://www-1.ibm.com/support/docview.wss?uid=nas101b8f26ec6fce93d8625682700
4f9ac2>

and

<http://www-912.ibm.com/s_dir/slkbase.NSF/4636aef020ecf0688625680b00020388/0
1b8f26ec6fce93d86256827004f9ac2?OpenDocument>


( I hate the way that these long links sometimes get broken when posted...If
necessary, copy & paste it into a browser.)

I have been bitten by this problem (actually an RPG/400 limitation) several
times, usually with the JDE order entry program (P4211).  When I called IBM
Supportline in 1999, they told me that I either had to rework the code or
convert the program to an RPGLE program to get around the limitations.


Since the JDE shops I have worked in write code to stay consistent with the
existing JDE RPG/400 code, I took a hybrid
approach.  I wrote a compile command that allows you to maintain the code as
RPG/400, but compiles it like this:

1) It first uses CVTRPGPGM to convert the base source member from RPG/400 to
RPGLE source type in a temporary source file.

2) An RPG program reads thru the converted source in the temporary source
file, looking for the source members named in the /COPY statements and
converting _them_ to RPGLE source format in a temporary source file.

3) Updates the /COPY statements in the source member created in (1) to point
at the RPGLE  /COPY members in the temporary RPGLE source file for copy
books.

4) Compiles the resulting base source member in the temporary RPGLE source
file using CRTBNDRPG to create a bound ILE RPG program.


When modifying/compiling very large RPG/400 (OPM) programs, here are some
limitations that can bite you (usually at the worst possible time).

A table lists these limitations in the RPG/400 Reference, on page 439:
http://publib.boulder.ibm.com/iseries/v5r1/ic2924/books/c0918170.pdf

1) The maximum number of statements that SEU can work with (32764).  When
you hit this limit, you probably need to perform one or more of the
following:
a) Review the program for redundant code & rework
b) Remove comments,
c) Break off sections of the code in the base source member and put it into
/COPY members,
d) Take out sections of the code and make them called sub-programs.
e) Some combination of all the above

2) You may exceed the maximum number of files (50), arrays & tables (200)

3)  You may exceed the maximum number of subroutines (254).

Hope this helps,
and sorry for the lengthy posting,

Steve Landess
Austin, Texas
(512) 423-0935

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

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

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

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