0

我想删除表中的特定行。我在使用 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。我是初学者,所以一些代码会很棒。:)

4

1 回答 1

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 ].

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

于 2018-02-20T08:00:04.350 回答