× 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.



Just to clarify my suggestion on compiling this or other large programs by
using ILE RPG compiler instead of standard one, that might be confusing
without one sentence being cut in it: Once you generate RPG source from
AS/SET definition, you need to convert it to ILE RPG source is by using
CVTRPGSRC command. Then the type of newly generated RPGLE source member
should be changed to SQLRPGLE in order to be able to compile it  from
PDM....
Maybe it was obvious, but without this comment the suggestion might sound
questionable, because this is really the only way of doing RPG to ILE RPG
conversion.

Also, Kevin made very good point suggesting recoding multiple calls to
other programs, each of them definitely eats few more ODT entries, so if
compiling program as ILE RPG is not acceptable for any reasons (even though
I still find it to be the simplest workaround), trying to get rid of any
unnecessary calls and variables in the program seems to be the only
solution and is planned to be done for affected releases.
Goran

Subject:  PUR500D3

Martin,

look the IBM info APAR II11801, which lists known problems with BPCS on
AS/400 systems. This is one of relatively new problems with BPCS programs
(not that new in AS/400 environment at all) that started occurring since
IBM implemented some fixes in RPG compilers that result in more ODT entries
(internal system variables + program variables) being created during
compile of RPG programs, thus exceeding a RPG/400 compiler limit of 32767
ODT entries per program. These fixes (PTFs) are SF50736 and SF50971 for
V4R2M0, which are part of OS/400 cume C8342 and if you have them applied on
your system (or its corresponding PTFs for other V4 releases) very large
RPG programs (including BPCS programs like PUR500D3) will not compile
successfully, failing with error message CPF6301, which is little bit
confusing but its only cause in this case is as described above.

As IBM has no plans to extend this compiler limit for RPG/400 compiler
(simmilar limit for ILE RPG compiler is muuuch higher, simply because the
same limit is stored in 2-byte variable instead of 1), BMR49413 has been
opened in SSA to address this issue and to make all large programs affected
by this problem smaller, either by removing unnecessary code, or by
splitting them to 2 programs.

Until this BMR becomes available, the simplest solution for you is to
compile PUR500D3 program by using ILE RPG compiler instead of standard one.
To do this, it is enough to change PUR500D3 source member type from RPG to
SQLRPGLE and recompile it from PDM (i.e. by using option 14). Change to
SQLRPGLE (not RPGLE) member type is needed because when compiling straight
from PDM you are not using compile overrides that are taken into account by
ADK when generating program from AS/SET definition that contains embeded
SQL statements in the code.

One more clarification regarding comments how SSA was able to compile it
and clients cannot: if you have ability to compile this program on any
OS/400 release prior to V4R2M0, or even on V4R2M0 with OS/400 cume level
prior to C8342, you shoudn't have compile problems.

Good luck,
Goran

Subject:  PUR500D3

I have an problem with PUR500D3.
This is firstly an AS/SET written program

After adding BMR52120 and BMR39874 (Y2K BMRs)it failed to compile with
CPF6301.

Error in compiler compile terminated
Program PUR500D3 in lib xxxx is not created as CPF6301 received.

It is a suggestion that the program is too big.

I have tried all the following and received the same CPF message:
     compile without comments
     compile the produced RPG source
     CRTSQLRPG
     rationalise subroutines by using work fields in a GETREC

thanks

Martin Lucas

+---
| This is the BPCS Users Mailing List!
| To submit a new message, send your mail to BPCS-L@midrange.com.
| To subscribe to this list send email to BPCS-L-SUB@midrange.com.
| To unsubscribe from this list send email to BPCS-L-UNSUB@midrange.com.
| Questions should be directed to the list owner: dasmussen@aol.com
+---


+---
| This is the BPCS Users Mailing List!
| To submit a new message, send your mail to BPCS-L@midrange.com.
| To subscribe to this list send email to BPCS-L-SUB@midrange.com.
| To unsubscribe from this list send email to BPCS-L-UNSUB@midrange.com.
| Questions should be directed to the list owner: dasmussen@aol.com
+---


+---
| This is the BPCS Users Mailing List!
| To submit a new message, send your mail to BPCS-L@midrange.com.
| To subscribe to this list send email to BPCS-L-SUB@midrange.com.
| To unsubscribe from this list send email to BPCS-L-UNSUB@midrange.com.
| Questions should be directed to the list owner: dasmussen@aol.com
+---


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-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.