Всем привет!
Столкнулся с некоторым недопониманием при работе с Web Dynpro. Товарищи гуру, посоветуйте что почитать, дабы понять основы и помогите советом.
Создаю некий компонент веб-экрана, дале в componentcontroller создаю некий узел NODE_SFLIGHT с указанием на структуру SFLIGHT.
Далее выбираю список нужных мне атрибутов и получается что-то такое:

Затем средствами компонента SALV_WD_TABLE вывожу все это дело на экран в виде ALV таблички.
Вижу, что вывелись у меня
все поля структуры SFLIGHT.
Тут у меня начинаются некоторые непонятнки. По логике, я присоединяю данные к узлу, который я создал с выбором определенных атрибутов (lt_sflight TYPE STANDART TABLE OF sflight и далее там простой селект из sflight):
Code:
* Bind data to context
node_node_sflight = wd_context->get_child_node( name = if_view1=>wdctx_node_sflight ).
node_node_sflight->bind_table( lt_sflight ).
Порылся, порылся и нашел что с помощью класса cl_salv_wd_config_table и некоторых его методов можно скрыть нужные мне поля:
Code:
column = column_settings->get_column( 'MANDT' ).
column->set_visible( if_wdl_core=>visibility_none ).
Работает? Работает.
Далее попробовал получить атрибуты моего узла.
Code:
l_node_info = node_node_sflight->get_node_info( ).
l_node_attributes = l_node_info->get_attributes( ).
Получаю опять же все атрибуты структуры SFLIGHT. И тут у меня возникает
вопрос: зачем нужно было объявлять атрибуты в узле и почему выводятся все поля структуры sflight? Можно ли как-нибудь ограничить выводимые атрибуты без создания своей структуры и возни с настройкой таблицы, а именно, сделать это на этапе создания узла?