Hello Friends,
I have created a Dynamic internal table from the table passed on the selection screen Everythign works good but when I do a select Querry, or UPdate or Insert on this table it fails. Some memory Issue.
Below is the code I am using. I am working on 4.6C
DATA : i_fcat TYPE STANDARD TABLE OF lvc_s_fcat. DATA: i_table_data1 TYPE REF TO data. FIELD-SYMBOLS: <f_table_data1> TYPE STANDARD TABLE. PARAMETERS: p_table TYPE tabname OBLIGATORY. CLEAR i_fcat. REFRESH i_fcat. CALL FUNCTION 'LVC_FIELDCATALOG_MERGE' EXPORTING i_structure_name = p_table " Table Name "MARA CHANGING ct_fieldcat = i_fcat EXCEPTIONS OTHERS = 1. CALL METHOD cl_alv_table_create=>create_dynamic_table EXPORTING it_fieldcatalog = i_fcat IMPORTING ep_table = i_table_data1. IF sy-subrc = 0. ASSIGN i_table_data1->* TO <f_table_data1>. ELSE. WRITE: 'Error creating internal table'. ENDIF. *Get DATA SELECT * FROM (p_table) INTO TABLE <f_table_data1>. The above select Querry fails because the table <f_table_data1> is created with 804 bytes for P-table as MARA.. Data : t_mara like mara occurs 0 with header line. the above internal table T_mara is created with 806 Bytes.
My question is when we create an Internal dynamically why is created with 804 Bytes instead of 806 bytes.
Because of this memory mismatch all mt select, Update Insert statements are failing.
Any Suggestions,
Ster.