0

我可以使用两个标准表来显示数据,但我有重复的条目。

前任:

A     16.03.2017    168
B     16.03.2017    150
A     16.03.2017    208

在这里,我想显示如下输出:

A     16.03.2017     200[here I want to give my value]
B     16.03.2017     150

有人可以帮我吗?

4

2 回答 2

0

我不太明白你的问题。但我想您可能需要以下代码作为参考。

让我们为列命名,并为这个内部表命名:lt_tab

C1    C2            C3
A     16.03.2017    168
B     16.03.2017    150
A     16.03.2017    208

尝试以下原因:

SORT lt_tab BY C1 C2.
DELETE ADJACENT DUPLICATES FROM lt_tab COMPARING C1 C2.
LOOP AT lt_tab ASSIGNING FIELD-SYMBOL(<fs_tab>).
  IF <fs_tab>-C1 EQ 'A'.
    <fs_tab>-C3 = 200.
  ENDIF.
ENDLOOP.
于 2017-04-11T08:52:05.443 回答
0

这个问题不清楚你想要实现什么。无论如何,下面的部分应该可以工作。这里需要定义两个变量row和last_row。

SORT tab.
LOOP AT tab INTO row.
  IF sy-tabix = 1.
    last_row = row.
  ELSE.
    IF  last_row-col1 = row-col1 AND last_row-col2 = row-col2. "duplicate
      last_row-value = 'My Value'.
    ELSE. "New values
      WRITE:/ last_row-col1, last_row-col2, last_row-value.
      last_row = row.
    ENDIF.
  ENDIF.
ENDLOOP.
IF sy-subrc EQ 0.
  WRITE:/ last_row-col1, last_row-col2, last_row-value.
ENDIF.
于 2017-03-22T05:03:25.063 回答