Как получить выбранную запись в таблице WebDynpro ABAP?
У меня есть webdynpro, содержащий таблицу с множеством строк. После того, как пользователь нажимает кнопку удаления, я хочу удалить выбранную строку таблицы.
Моя проблема сейчас в том, что я не знаю, как реализовать это в вызове события. Как я могу определить выбранную строку таблицы?
2 ответа
Я наконец получил решение:
В событии кнопки реализуйте следующее, чтобы получить доступ к узлу и, наконец, к значению id:
method ONACTIONZSS10_15_ONDELETE .
DATA ls_cust type wd_this->element_IT_Cust.
DATA lo_nd_cust TYPE REF TO if_wd_context_node.
DATA lo_el_cust TYPE REF TO if_wd_context_element.
" Get the selected element
lo_nd_cust = wd_context->get_child_node( name = 'IT_CUST' ).
lo_el_cust = lo_nd_cust->get_element( ).
" Get the attributes of the node-element
lo_el_cust->get_static_attributes(
IMPORTING
static_attributes = ls_cust ).
" Call the delete-function
CALL FUNCTION 'ZSS10_15_CUST_FM_DELETE'
EXPORTING
custid = ls_cust-ID
.
endmethod.
Если под "таблицей" вы имеете в виду редактируемый ALV, для этого есть предустановленная функция. Взгляните на http://help.sap.com/saphelp_nw04s/helpdata/EN/5f/ec57c72a1349c8bfdda56d976e9399/frameset.htm и http://help.sap.com/saphelp_nw04s/helpdata/EN/5f/ec57c72a1349c8bfdda56d976e9399/frameset.htm Подробнее о том, как обрабатывать выборку вручную, см. http://help.sap.com/saphelp_nw04s/helpdata/EN/5f/ec57c72a1349c8bfdda56d976e9399/frameset.htm.