Как получить выбранную запись в таблице abap abap webdynpro?
Вопрос
У меня есть 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/helppdata/en/5f/ec57c72a1349c8bfdda56d976e9399/frameset.htm. а также http://help.sap.com/saphelp_nw04s/helppdata/en/5f/ec57c72a1349c8bfdda56d976e9399/frameset.htm. Подробнее о том, как обработать выделение вручную, см. http://help.sap.com/saphelp_nw04s/helppdata/en/5f/ec57c72a1349c8bfdda56d976e9399/frameset.htm..