‎2006 May 16 1:32 PM
Hi There,
can someone tell me how to read an internal table whose name will be known only at the runtime?
rgds,
Deb.
‎2006 May 16 1:38 PM
REPORT CHAP2303.
Parameters for reading a single line, can be modified by the end user
PARAMETERS: KEY1(10) DEFAULT 'NAME',
VALUE1(25),
KEY2 LIKE KEY1 DEFAULT 'ID',
VALUE2 LIKE VALUE1.
Declarations for later use
TABLES CUSTOMERS.
DATA ALL_CUSTOMERS LIKE CUSTOMERS OCCURS 100
WITH HEADER LINE.
Filling the internal table
SELECT * FROM CUSTOMERS INTO TABLE ALL_CUSTOMERS.
Dynamic read table command
READ TABLE ALL_CUSTOMERS
WITH KEY (KEY1) = VALUE1
(KEY2) = VALUE2.
Displaying the result
IF SY-SUBRC EQ 0.
WRITE: / ALL_CUSTOMERS-ID,
ALL_CUSTOMERS-NAME,
ALL_CUSTOMERS-CITY,
ALL_CUSTOMERS-TELEPHONE.
ELSE.
WRITE 'Entry not found'.
ENDIF.
Or u can use same way variable (table_name) .
regards
vinod
‎2006 May 16 1:40 PM
hii
chk out this code
DATA : BEGIN OF I_ITAB OCCURS 0,
TEST(5),
END OF I_ITAB.
<b>DATA: I_DYN_TAB(10) VALUE 'I_ITAB[]'.
DATA: DTAB TYPE REF TO DATA.</b>
<b>FIELD-SYMBOLS : <ITAB> TYPE ANY TABLE ,
<WA> TYPE ANY.</b>
I_ITAB-TEST = 'TEST'.
APPEND I_ITAB.
<b>ASSIGN (I_DYN_TAB) TO <ITAB>.
LOOP AT <ITAB> ASSIGNING <WA>.</b>
WRITE <WA>.
ENDLOOP.
also go thru this link
Regards
Naresh
‎2006 May 16 1:41 PM
REPORT YTEST_DYN .
*
*DATA: d_ref TYPE REF TO data,
*d_ref2 TYPE REF TO data ,
*i_alv_cat TYPE TABLE OF lvc_s_fcat,
*ls_alv_cat LIKE LINE OF i_alv_cat.
*
*
*TYPES tabname LIKE dcobjdef-name .
*parameter: p_tablen type tabname.
*
*data: begin of itab occurs 0.
INCLUDE STRUCTURE dntab.
*data: end of itab.
*
*
*FIELD-SYMBOLS : <F_FS> TYPE table,
*<F_FS1> TYPE TABLE,
*<F_FS2> TYPE ANY,
*<F_FS3> TYPE TABLE.
*
*REFRESH itab.
*CALL FUNCTION 'NAMETAB_GET'
EXPORTING
langu = sy-langu
tabname = p_tablen
TABLES
nametab = itab
EXCEPTIONS
no_texts_found = 1.
*LOOP AT itab .
ls_alv_cat-fieldname = itab-fieldname.
ls_alv_cat-ref_table = p_tablen.
ls_alv_cat-ref_field = itab-fieldname.
APPEND ls_alv_cat TO i_alv_cat.
*ENDLOOP.
internal table build
*CALL METHOD cl_alv_table_create=>create_dynamic_table
EXPORTING
it_fieldcatalog = i_alv_cat
IMPORTING
ep_table = d_ref.
ASSIGN d_ref-> TO <F_FS>.
*
*SELECT * FROM (p_tablen) INTO CORRESPONDING FIELDS OF TABLE <F_FS>.
*
*
*LOOP AT <F_FS> ASSIGNING <F_FS2>.
write:/12 <F_FS2> .
*
*ENDLOOP.
reward point if it helps
gunjan
‎2006 May 16 1:41 PM
Hello,
You can use field-symbol to do this.
Try this :
field-symbols <table> type any table.
Data contains the name of your internal table
assign (data) to <table>.
Hope this help