Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Dynamic table usage

Former Member
0 Likes
394

Hi ,

I am using two seperate fields to get the name of the table, on which I have to write a select statement.

For Eg: Lv_field1 has value " A " and lv_field2 has " 000 " , I need to concatenate these two to get A000.

This table is an existing one, its just that the tables name are getting defined in the program.(during run time)

On this table , i need to use the "select" statement .

pls suggest the possible methods to do it.

Regards,

kalyan garimella

1 ACCEPTED SOLUTION
Read only

rvinod1982
Contributor
0 Likes
355

Hi,

You can do it by using field symobls.


DATA : lv_field1 TYPE c LENGTH 255,
       lv_field2 TYPE c LENGTH 255,
       lv_table_name TYPE c LENGTH 255,
       lref_data_table TYPE REF TO data,
       lref_data_wa TYPE REF TO data.

FIELD-SYMBOLS : <fs_table_data> TYPE ANY TABLE,
                <fs_wa> TYPE ANY.

CONCATENATE lv_field1 lv_field2 INTO lv_table_name.

CREATE DATA lref_data_table TYPE STANDARD TABLE OF (lv_table_name).
ASSIGN lref_data_table->* TO <fs_table_data>.

CREATE DATA lref_data_wa TYPE (lv_table_name).
ASSIGN lref_data_wa->* TO <fs_wa>.

SELECT * FROM (lv_table_name) INTO TABLE <fs_table_data>.

2 REPLIES 2
Read only

rvinod1982
Contributor
0 Likes
356

Hi,

You can do it by using field symobls.


DATA : lv_field1 TYPE c LENGTH 255,
       lv_field2 TYPE c LENGTH 255,
       lv_table_name TYPE c LENGTH 255,
       lref_data_table TYPE REF TO data,
       lref_data_wa TYPE REF TO data.

FIELD-SYMBOLS : <fs_table_data> TYPE ANY TABLE,
                <fs_wa> TYPE ANY.

CONCATENATE lv_field1 lv_field2 INTO lv_table_name.

CREATE DATA lref_data_table TYPE STANDARD TABLE OF (lv_table_name).
ASSIGN lref_data_table->* TO <fs_table_data>.

CREATE DATA lref_data_wa TYPE (lv_table_name).
ASSIGN lref_data_wa->* TO <fs_wa>.

SELECT * FROM (lv_table_name) INTO TABLE <fs_table_data>.

Read only

Former Member
0 Likes
355

JUST TRY BELOW FORMAT

Var1 = 'v'. VAR2 = 'BAK'.

CONCATENATE VAR1 VAR2 INTO TABLENAME.

NOW TABLENAME = 'VBAK'.

WHERE_CLAUSE = 'VBELN = '200003000').

SELECT * FROM (TABLENAME) WHERE (WHERE_CLAUSE).