Upload
ravindramalviya3145
View
37
Download
0
Embed Size (px)
DESCRIPTION
ABAP dynamic
Citation preview
SAP ABAP Dynamic Internal table and Processing 02Another method of creating and processing dynamic internal table in ABAP.REPORT zpwtest .
DATA: lv_tablename TYPE string VALUE 'SFLIGHT'.DATA: lv_dref TYPE REF TO data.
DATA: sflighttype TYPE REF TO cl_abap_structdescr, tabletype TYPE REF TO cl_abap_tabledescr, comp_tab TYPE cl_abap_structdescr=>component_table, new_comp_tab LIKE comp_tab, linetype TYPE REF TO cl_abap_structdescr, dref TYPE REF TO data.
FIELD-SYMBOLS: LIKE LINE OF comp_tab.FIELD-SYMBOLS: TYPE ANY TABLE.
*&---------------------------------------------------------------------&* Start of Selection*&---------------------------------------------------------------------&START-OF-SELECTION.
* Creation of dynamic internal table CREATE DATA lv_dref TYPE TABLE OF (lv_tablename).
FIELD-SYMBOLS: TYPE STANDARD TABLE.
ASSIGN lv_dref->* TO .
SELECT * FROM sflight INTO TABLE .
sflighttype ?= cl_abap_typedescr=>describe_by_name('SFLIGHT'). comp_tab = sflighttype->get_components( ).
LOOP AT comp_tab ASSIGNING . CASE -name. WHEN 'CARRID' OR 'CONNID' OR 'FLDATE' OR 'PRICE' OR 'CURRENCY'. APPEND TO new_comp_tab. ENDCASE. ENDLOOP.
linetype = cl_abap_structdescr=>create( new_comp_tab ). tabletype = cl_abap_tabledescr=>create( p_line_type = linetype p_table_kind = cl_abap_tabledescr=>tablekind_std ).
CREATE DATA dref TYPE HANDLE tabletype. ASSIGN dref->* TO .
SELECT * FROM sflight INTO CORRESPONDING FIELDS OF TABLE .
FIELD-SYMBOLS: TYPE ANY. FIELD-SYMBOLS: TYPE ANY. LOOP AT ASSIGNING . WRITE: /. LOOP AT new_comp_tab ASSIGNING . ASSIGN COMPONENT sy-tabix OF STRUCTURE TO . WRITE: . ENDLOOP. ENDLOOP.