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