GENERATE_SUBPOOL_DIR_FULL error while populating dynamic tables
I have created a program that extensively uses dynamic internal tables. However, I faced a probelm regarding dynamic popultion of tables.
Here is the sample:
DATA: t_fcat TYPE lvc_t_fcat,
dt_outtab TYPE REF TO DATA.
FIELD-SYMBOLS: <tab> TYPE STANDARD TABLE.
CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
EXPORTING i_structure_name = 'CSKS'
CHANGING ct_fieldcat = t_fcat.
DO 100 TIMES.
CALL METHOD cl_alv_table_create=>create_dynamic_table
EXPORTING it_fieldcatalog = t_fcat
IMPORTING ep_table = dt_outtab
EXCEPTIONS generate_subpool_dir_full = 1
others = 2.
IF sy-subrc = 0.
WRITE / sy-index.
WRITE: / 'Error - sy-subrc = ', sy-subrc.
WRITE / 'End'.
By using this program I found out that I can create no more than 36 internal tables for each program run. At the 37th one, the program raises an exception GENERATE_SUBPOOL_DIR_FULL.
Each method call creates a subroutine pool that stores a table, and obviously their number is limited somehow, in my case to 36.
we can ask user to leave the program and start again, which is really not a feature of a professional application.
I'd like to have the solution with no limits as my program should run for as many as 100 tables where I need to create dynamically, at one strech.
I'm using 4.6 release.
Are there any experiences with this?
Thanks in advance!