Skip to Content
author's profile photo Former Member
Former Member


Hi everyone,

I'm trying to create dynamic tables but I get the exception GENERATE_SUBPOOL_DIR_FULL after a while. I read some topics here and found out that after 36 creation the exception was supposed to appear and that there were no way to avoid it.

I then tried to implement some solutions I read, but none worked, or I wasn't able to use them:

- I first tried to used the 'SUBMIT' solution, creating the table in a separated program. The problem is then, that I cannot get the table back to the main function.

- I also tried to use the statement:

create data it_content like table of line

but the compiler rejects it.

- eventually I tried to use CL_ABAP_TABLEDESCR without success.

Could you please give me an other possibility or explain me how to make those I tried being successfull. Thanks in advance.

Richard Dominé

P.S.: I'm working under SAP46C

Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

2 Answers

  • author's profile photo Former Member
    Former Member
    Posted on Jan 13, 2005 at 11:31 AM

    Hi Richard,

    In 4.6C, if you want to access a dynamically created internal table, then you can only access it within the internal mode that creates the table.

    So, if you use SUBMIT to create a dynamic internal table via class CL_ALV_TABLE_CREATE, then you can only manipulate that internal table within the program submitted.

    For example:

    >> REPORT main.
    >> ...
    >> SUBMIT subreport AND RETURN
    >>   WITH param1 = ...
    >>>> REPORT subreport.
    >>>>   ...
    >>>> * Process dynamic internal table
    >> * Return from subreport
    >> * Dynamic internal table no longer exists

    If you need to pass data from the main report to the sub-report, then you can use the selection-screen parameters of the sub-report.

    If the data to be passed in is more complex, or you want to get data back, then use EXPORT ... TO MEMORY ID ... and IMPORT ... FROM MEMORY ID ...

    Good luck.


    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Jan 17, 2005 at 07:52 AM


    Please try the following let me know if it is working for you.

    Create a new report program and create the dynamic internal table in that program after creating it try to pass it to the main program using a subroutine or a function module call. And store the internal table globally in the main program.


    REPORT Main.

    Data: GBL_data xxxxxxxx.


    perform get_internaltable CHANGING t_itab.

    FORM put_internaltable USING t_itab TYPE TABLE.

    GBL_data = t_itab.


    REPORT Subpgm.

    • Call the method to create to the internal table and

    • pass it to the main program.

    perform put_internaltable IN PROGRAM main

    USING t_itab.

    Please let me know if it is working for you..


    I am sorry I tried this method, its not working...


    Message was edited by: Narendran Muthukumaran

    Add a comment
    10|10000 characters needed characters exceeded

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.