‎2013 Jul 29 9:39 AM
Hello Experts,
Can anyone tell me how to write dynamic Query to filter data form an Internal table.
Rgds
Ripun
‎2013 Jul 29 10:15 AM
Hi,
Please see the below one.
DATA: v_field1 TYPE string,
v_tablename TYPE string,
v_keyfield TYPE string,
v_name1 TYPE kna1-name1,
g_kunnr TYPE kna1-kunnr.
PARAMETERS: p_kunnr LIKE g_kunnr.
v_field1 = 'NAME1'.
v_tablename = 'KNA1'.
v_keyfield = 'KUNNR EQ p_kunnr'. " serve as value of WHERE in your selection
SELECT SINGLE (v_field1)
FROM (v_tablename)
INTO v_name1
WHERE (v_keyfield).
Thanks,
ramu
‎2013 Jul 29 10:29 AM
Hello,
Dynamic SELECT statement may be writen as follows:
DATA lv_sql_cond TYPE string.
DATA lv_dbtabnameTYPE string.
lv_dbtabname = 'YOUR_TABLE_NAME'.
CONCATENATE 'MATNR =' lv_matnr
'OR'
'MATNR =' lv_matnr_2 into lv_sql_cond
separated by space .
SELECT * from (lv_dbtabname)
INTO CORRESPONDING FIELDS OF <target>
WHERE (lv_sql_cond ).
Regards