0

如何查看“表格编号”栏中的重复值?

在此处输入图像描述

我想稍后将其突出显示为重复记录。

  LOOP AT ZVBELNEXTTAB WHERE werks IN werks.

ZVBELNEXTTAB_COPY-WERKS        = ZVBELNEXTTAB-WERKS.
ZVBELNEXTTAB_COPY-MANDT        = ZVBELNEXTTAB-MANDT.
ZVBELNEXTTAB_COPY-BUKRS        = ZVBELNEXTTAB-BUKRS.
ZVBELNEXTTAB_COPY-VBELN        = ZVBELNEXTTAB-VBELN.
ZVBELNEXTTAB_COPY-EVBELN       = ZVBELNEXTTAB-EVBELN.
ZVBELNEXTTAB_COPY-FKDAT        = ZVBELNEXTTAB-FKDAT.
ZVBELNEXTTAB_COPY-VBLSTAT      = ZVBELNEXTTAB-VBLSTAT.
ZVBELNEXTTAB_COPY-ZPRN         = ZVBELNEXTTAB-ZPRN.
ZVBELNEXTTAB_COPY-UNAME        = ZVBELNEXTTAB-UNAME.
ZVBELNEXTTAB_COPY-TYPE         = ZVBELNEXTTAB-TYPE.



curr = ZVBELNEXTTAB-EVBELN.
lv_tab = SY-TABIX + 1.
READ TABLE ZVBELNEXTTAB INDEX lv_tab.
next = ZVBELNEXTTAB-EVBELN.

IF curr GT next.
  a = curr - next.
ELSE.
  a = next - curr.
ENDIF.

IF a GT 1.
  curr = curr + 1.
  next = next - 1.

  ZVBELNEXTTAB_COPY-MISSINGFROM   = curr.
  ZVBELNEXTTAB_COPY-MISSINGTO     = next.
ELSE.
  ZVBELNEXTTAB_COPY-MISSINGFROM   = ''.
  ZVBELNEXTTAB_COPY-MISSINGTO     = ''.
ENDIF.



APPEND ZVBELNEXTTAB_COPY.
SORT ZVBELNEXTTAB_COPY BY EVBELN.


ENDLOOP.

ENDFORM.

我仍然尝试通过循环使用一维数组来检查重复的“表单#”列。

4

1 回答 1

1

在循环期间使用GROUP BY功能。您想根据比较字段Company code、Plant、Form #、Sales Doc、Billing date、Username提取重复项。

所以你应该写这样的东西:

TYPES tt_vbeln TYPE STANDARD TABLE OF vbeln WITH DEFAULT KEY. 

DATA duplicates TYPE tt_vbeln. 
LOOP AT ZVBELNEXTTAB INTO DATA(zvbeln) 
GROUP BY ( BUKRS = zvbeln-BUKRS
           WERKS = zvbeln-WERKS
           VBELN = zvbeln-VBELN
           EVBELN = zvbeln-EVBELN
           FKDAT = zvbeln-FKDAT
           UNAME = zvbeln-UNAME
           size = GROUP SIZE ) 
ASCENDING REFERENCE INTO DATA(group_ref). 

CHECK group_ref->*-size > 1. "extracting dups
duplicates = VALUE tt_vbeln( BASE duplicates FOR <form_num> IN GROUP group_ref ( <form_num> ) ). 
* setting color 
MODIFY duplicates FROM VALUE tt_vbeln( line_color = 'C410' ) TRANSPORTING line_color WHERE line_color IS INITIAL. 
ENDLOOP.

这使您可以像这样提取重复值集

在此处输入图像描述

顺便说一句,在上面的蓝色数据集示例行中,Form #Username字段不同,所以我的 GROUP 片段实际上不适用于它们。您应该相应地调整分组字段,例如仅保留 VBELN 字段作为分组字段。

事先您应该在结构中添加字段line_color,您将在其中放置重复数据集的颜色代码。

ALV 条件着色的良好示例位于此处

于 2018-08-02T06:19:25.997 回答