В новом синтаксисе ABAP SQL появилась возможность прописывать условия для таблиц LEFT JOIN в WHERE.
Однако есть существенное отличие между условием прописанным после ON и в условии WHERE.
В новом синтаксисе ABAP SQL появилась возможность прописывать условия для таблиц LEFT JOIN в WHERE.
Однако есть существенное отличие между условием прописанным после ON и в условии WHERE.
Создание динамической таблицы для ALV в зависимости от структуры.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
create_dyn_struc IMPORTING iv_infty TYPE infty EXPORTING es_infty_str TYPE REF TO data. METHOD create_dyn_struc. DATA: ref_table_descr TYPE REF TO cl_abap_structdescr. DATA(lv_name) = |P{ iv_infty }|. ref_table_descr ?= cl_abap_typedescr=>describe_by_name( lv_name ). DATA(lt_lvc_fieldcatalog) = VALUE lvc_t_fcat( FOR ls_tab_struct IN ref_table_descr->components[] ( fieldname = ls_tab_struct-name ref_table = lv_name ) ). DATA: dyn_table TYPE REF TO data, dyn_line TYPE REF TO data. " Создаем динамически таблицу" CALL METHOD cl_alv_table_create=>create_dynamic_table EXPORTING it_fieldcatalog = lt_lvc_fieldcatalog IMPORTING ep_table = dyn_table. FIELD-SYMBOLS: <fs_data> TYPE STANDARD TABLE, <fs_wa_data> TYPE any. ASSIGN dyn_table->* TO <fs_data>. CREATE DATA dyn_line LIKE LINE OF <fs_data>. ASSIGN dyn_line->* TO <fs_wa_data>. CREATE DATA es_infty_str LIKE <fs_wa_data>. ENDMETHOD. |