2023 Nov 01 3:31 PM
Hello,
I had an issue, which I solved (explanation below), but I didn't understand why it has solved, hence this question.
I've got a custom executable program of 450 lines of code, but with includes 6 big include programs, each around 30.000 lines, which makes a total of 160.000 lines.
Of course, having includes and a program of this size is not a good practice, if I convert the code into function modules or class pools, I wouldn't have this problem, so please don't ask me to rewrite the code. Also, these 160.000 lines of code come from a tool which generates them.
I activated the executable program via SE38 and I got both a compile error "No PXA memory space currently available" and a short dump PXA_NO_FREE_SPACE.
The error message comes from the function module REPS_OBJECT_GENERATE at this line (ABAP 7.52):
GENERATE REPORT i_program<br> WITH PRECOMPILED HEADERS<br> %_CHECK_SELSCREEN "Sel-Bilder nicht immer<br> MESSAGE o_gen_message<br> INCLUDE o_gen_include<br> LINE o_gen_line<br> OFFSET o_gen_offset<br> WORD o_gen_word.
It's the only program to not compile, all other programs compile well, no problem when executing any ABAP program in the system.
I looked at all questions in the forum and the SAP notes, so I know that one solution would be to increase the PXA memory via profile parameters.
In fact, I didn't change the profile parameters, and solved this way:
Any idea why it worked this time?
In case it happens again, is there another solution without increasing the memory, better than mine?
Thanks a lot for reading me.
Sandra
Additional information:
It's an ABAP 7.52 SP 04 trial system.
Here are the generation limits of the program to be generated:
Here is the ST02 program buffer (PXA) and profile parameters:
EDIT Nov 3rd, 2023:
Second EDIT Nov 3rd, 2023:
2023 Nov 03 6:21 AM
I had again the same issue today BUT now impossible to activate "by include", I always get the error "free PXA memory".
So, I can say that the solution may either work or NOT WORK AT ALL, it really depends on some context that only the PXA internal logic knows, and if it doesn't work, only increasing the PXA memory via profile parameter can help.
Clearing explicitly the memory buffers helped solving the issue temporarily (type /$sync in the command line of SAP GUI and press Enter / see forum for more details), but it doesn't change the diagnosis that it may also not work as I said.