ABAP 动态内表 取表结构信息
(2012-05-24 10:58:42)
标签:
杂谈 |
分类: ABAP |
REPORT
z_barry_test
TYPE-POOLS : abap.
FIELD-SYMBOLS: <dyn_table> TYPE
STANDARD TABLE,
DATA: dy_table TYPE REF TO data,
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
PARAMETERS: p_table(30) TYPE c DEFAULT 'T001'.
SELECTION-SCREEN END OF BLOCK b1.
START-OF-SELECTION.
PERFORM get_structure.
PERFORM create_dynamic_itab.
PERFORM get_data.
PERFORM write_out.
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
FORM get_structure.
DATA : idetails TYPE abap_compdescr_tab,
DATA : ref_table_des TYPE REF TO cl_abap_structdescr.
ref_table_des ?=
idetails[] = ref_table_des->components[].
LOOP AT idetails INTO xdetails.
*
ENDLOOP.
ENDFORM.
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
FORM create_dynamic_itab.
CALL METHOD
cl_alv_table_create=>create_dynamic_table
ASSIGN dy_table->* TO
<dyn_table>.
CREATE DATA dy_line LIKE LINE OF
<dyn_table>.
ASSIGN dy_line->* TO
<dyn_wa>.
ENDFORM.
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
FORM get_data.
DATA: BEGIN OF itab OCCURS 0 .
DATA: END OF itab.
SELECT * INTO CORRESPONDING FIELDS OF TABLE
<dyn_table>
ENDFORM.
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
FORM write_out.
LOOP AT <dyn_table> INTO
<dyn_wa>.
ENDLOOP.
ENDFORM.
==================================================================================================