2010 Mar 08 7:26 PM
Hi,
I am getting this error GENERATE_SUBPOOL_DIR_FULL in my program.
DATA: I_ALV_CAT TYPE TABLE OF LVC_S_FCAT.
DATA : D_REF2 TYPE REF TO DATA .
FIELD-SYMBOLS: <F_FS> TYPE STANDARD TABLE.
CALL METHOD CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE
EXPORTING
IT_FIELDCATALOG = I_ALV_CAT
IMPORTING
EP_TABLE = D_REF2.
ASSIGN D_REF2->* TO <F_FS>.I searched the forum but i couldn't find the solution from anybody.....
2010 Mar 08 8:18 PM
Hello,
I think there is a limit to the number of dynamic itabs you can create in a program.
There is also a similar exception class
CX_SY_GENERATE_SUBPOOL_FULL
Try clearing / unassigning the old dynamic itabs if you don't need them.
hi Sandra,
Thanks for the message. Can you please give some sample code or links for RTTC classes....I searched in the forum but i couldn't find...
2010 Mar 08 8:18 PM
Hello,
I think there is a limit to the number of dynamic itabs you can create in a program.
There is also a similar exception class
CX_SY_GENERATE_SUBPOOL_FULL
Try clearing / unassigning the old dynamic itabs if you don't need them.
2010 Mar 08 8:33 PM
It refers to same error.
CX_SY_GENERATE_SUBPOOL_FULL
Try clearing / unassigning the old dynamic itabs if you don't need them.How to do the above ?
2010 Mar 08 8:41 PM
Hello,
Since this error is due to a large number of dynamic itabs, i'm guessing that you are either calling this in a loop or you have similar statements elsewhere in the program.
As soon as you do not require any field symbol, use
unassign <F_FS>
Also, free d_ref2
2010 Mar 08 9:25 PM
I did the same way....
unassign <F_FS>
free d_ref2
But still same error at 37 the time of table creation....till 36 is ok...
call function 'LVC_TABLE_CREATE'
exporting
it_fieldcat = it_fieldcatalog
I_CALLBACK_PROGRAM =
I_FORMNAME =
I_OO_CLASS_REFERENCE =
i_style_table = i_style_table
i_length_in_byte = i_length_in_byte
i_oo_class_name = 'CL_ALV_TABLE_CREATE'
i_oo_method = l_oo_method
exceptions
generate_subpool_dir_full = 1
others = 2.
case sy-subrc.
when 0.
ep_table = mp_table.
when 1.
raise generate_subpool_dir_full.
when others.
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endcase.Edited by: fract_get on Mar 8, 2010 10:26 PM
2010 Mar 08 9:33 PM
this has been explained many times. This limit of 36 is in the statement [GENERATE SUBROUTINE POOL|http://sandraros.free.fr/abap_docu.htm?url=ABAPGENERATE_SUBROUTINE_POOL.htm]
2010 Mar 08 9:36 PM
2010 Mar 08 10:37 PM
As explained in the documentation, this is a limit within the internal session (an internal session starts by SUBMIT, CALL TRANSACTION, and a few other statements). It means that you have to leave this internal session and restart one.
But instead of using CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE which should be considered as obsolete, use the RTTC classes. There are many examples, so I let you search.
2010 Mar 08 11:14 PM
hi Sandra,
Thanks for the message. Can you please give some sample code or links for RTTC classes....I searched in the forum but i couldn't find...
2010 Mar 09 2:49 AM
2010 Mar 09 8:54 AM
Applause Rob ! 😄
fract_get, there is a global SCN search field at the top of the navigator page. Entering RTTC triggers that: http://www.sdn.sap.com/irj/scn/advancedsearch?query=rttc
So what's your problem with that?
2010 Mar 08 9:38 PM
This method eventually does:
generate subroutine poolFrom the help for this command:
>...a maximum of 36 temporary subroutine pools may be created.
So, this appears to be a hard error.
Rob
Sorry Sandra - didn't see your (better) explanation.
Edited by: Rob Burbank on Mar 8, 2010 4:38 PM
| User | Count |
|---|---|
| 6 | |
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |