Skip to Content
0
Former Member
Jul 12, 2007 at 07:16 PM

GENERATE SUBROUTINE POOL

890 Views

Hello,

Im using statement GENERATE SUBROUTINE POOL to dynamically select from a table. I have to have this statement in a loop. When the number of loops is large, the program dumps with message "Unable to generate more temporary subroutine pools." . In the documentation it states this is limited to 36.

Is there anyway to free this subroutine pool (free the assigned memory) so as to create others.

If I catch the exception, I guess it wont dump but maybe only half the data will be processed.

Below is some of the code.

Thank you very much,

Rod

CREATE DATA mt_ttable TYPE TABLE OF (m_ttablename).

ASSIGN mt_ttable->* TO <mfs_ttable>.

......

......

GENERATE SUBROUTINE POOL tab NAME prog

MESSAGE mess SHORTDUMP-ID sid.

IF sy-subrc = 0.

PERFORM ('READ_DATA') IN PROGRAM (prog) IF FOUND

TABLES mt_trigger <mfs_ttable>

s_curr .

TAB contains the selection statement.