Friday, November 23, 2007

How can we give dynamic table name in select statement?

Dynamic Select Statement

check this code...

*-----

For dynamic table name....

REPORT demo_select_dynamic_database .

DATA wa TYPE scarr.
DATA name(10) TYPE c VALUE 'SCARR'.

SELECT *
INTO wa
FROM (name) CLIENT SPECIFIED
WHERE mandt = '000'.
WRITE: / wa-carrid, wa-carrname.
ENDSELECT.

*-----

For dynamic field list

REPORT demo_select_dynamic_columns .

DATA: itab TYPE STANDARD TABLE OF spfli,
wa LIKE LINE OF itab.
DATA: line(72) TYPE c,

list LIKE TABLE OF line(72).

line = ' CITYFROM CITYTO '.

APPEND line TO list.

SELECT DISTINCT (list)
INTO CORRESPONDING FIELDS OF TABLE itab
FROM spfli.

IF sy-subrc EQ 0.

LOOP AT itab INTO wa.
WRITE: / wa-cityfrom, wa-cityto.
ENDLOOP.

ENDIF.

No comments:

Blog Archive