ABAP ALV - 删除特定行

时间:2018-02-08 09:21:29

标签: abap alv

我想删除表格中的特定行。我在使用get_selected_rows之前识别了该行。现在我在“gt_rows”中标识了行。

现在我要删除该行。我无法完成它。这是我目前的代码:

        go_selec = go_alv->get_selections( ).   "gt_rows
    CALL METHOD go_selec->get_selected_rows
      RECEIVING
        value = gt_rows.
      *Here the row should get deleted.

数据库表的名称是“zrtable”,内部表的名称是it_table。结构的名称是ls_table。我是初学者,所以一些代码会很棒。 :)

1 个答案:

答案 0 :(得分:0)

gt_rows表保存所选行的索引数据。

现在你必须循环索引表来读取这些行。

LOOP AT gt_rows ASSIGNING FIELD-SYMBOL(<index>).
  READ TABLE it_table ASSIGNING FIELD-SYMBOL(<table_line>) INDEX <index>. 
  IF <table_line> IS ASSIGNED.
    CLEAR <table_line>.
  ENDIF.
ENDLOOP.

您也可以使用

代替READ TABLE
DATA(line) = it_table[ index ].

将字段符号视为指针,您可以使用它们直接访问数据,因此它们将引用指向非值。