Structure Table: 'Select'
Structure Table: 'Select'
*Structure table
DATA :
comp_tab TYPE cl_abap_structdescr=>component_table,
comp LIKE LINE OF comp_tab,
stru_type TYPE REF TO cl_abap_structdescr,
table_type TYPE REF TO cl_abap_tabledescr,
node_info TYPE REF TO if_wd_context_node_info,
node TYPE REF TO if_wd_context_node,
lo_nd_pod_header TYPE REF TO if_wd_context_node,
lt_pod_header TYPE wd_this->elements_pod_header,
ls_pod_header TYPE wd_this->element_pod_header,
my_table TYPE REF TO data,
my_row TYPE REF TO data,
lt_data TYPE TABLE OF dfies,
lt_final TYPE TABLE OF dfies,
ls_final TYPE dfies,
lv_fdata TYPE ddobjname,
lv_query TYPE string.
FIELD-SYMBOLS : <table> TYPE table,
<row> TYPE data,
<fs> TYPE any.
*---> POD header details
lo_nd_pod_header = wd_context->get_child_node( name = wd_this>wdctx_pod_header ).
CALL METHOD lo_nd_pod_header->get_static_attributes_table
IMPORTING
table = lt_pod_header.
READ TABLE lt_pod_header INTO ls_pod_header INDEX 1.
*---> find columns against POD header groups
lv_query = 'SELECT'.
LOOP AT lt_pod_header INTO ls_pod_header.
lv_fdata = ls_pod_header-zfield_tab.
CALL FUNCTION 'DDIF_FIELDINFO_GET'
EXPORTING
tabname
= lv_fdata
TABLES
dfies_tab
= lt_data
EXCEPTIONS
not_found
= 1
internal_error = 2
OTHERS
= 3.
IF sy-subrc EQ 0.
LOOP AT lt_data INTO ls_final.
CONCATENATE lv_query 'a~' ls_final-fieldname INTO lv_query.
ENDLOOP.
APPEND LINES OF lt_data TO lt_final.
ENDIF.
ENDLOOP.
SELECT c~carrname p~connid f~fldate
INTO CORRESPONDING FIELDS OF TABLE itab
FROM ( ( scarr AS c
INNER JOIN spfli AS p ON p~carrid
=
AND p~cityfrom =
AND p~cityto
=
INNER JOIN sflight AS f ON f~carrid =
AND f~connid =
c~carrid
p_cityfr
p_cityto )
p~carrid
p~connid ).