计算ABAP内部表中的重复项

2020-09-14 04:20发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我只想问一下如何计算内部表中的重...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我只想问一下如何计算内部表中的重复项。 我想要这样做,以便让我按posnr计数,并将其放入posnr计数列。

假设it_outtab是一个内部表,其中包含vbeln,posnr和posnr_count列。 最初,表条目如下所示。

但是该程序没有出错,可以帮帮我吗?

在it_outtab处将LOOP放入INTO wa_outtab中。
   在vbeln结束时。
     和。
     将对应的wa_outtab移动到wa_extd。
     将wa_extd附加到it_extd。
     清除wa_extd。
   ENDAT。
 结局。

 通过vbeln排序it_extd。
 循环至it_outtab分配。
   清除wa_extd。
   读取表it_​​extd INTO wa_extd
       WITH KEY vbeln =  -vbeln
       二进制搜索。
   如果sy-subrc是INITIAL。
      -count = wa_extd-count。
   万一。
 ENDLOOP。
7条回答
d56caomao
2020-09-14 04:57

首先,对于您的计数问题,可以使用GROUP BY轻松处理它,如下所示:

在i_outtab进入数据(WA_outtab)GROUP BY中循环(键= WA_outtab-vbeln COUNT = GROUP SIZE)升至DATA(GROUP)。
  在组组分配字段符号()上循环。
   -count = GROUP-COUNT。
  结局。
 ENDLOOP。

第二,如果您要计算文档中有多少个订单项,为什么不获得posnr的最大值,因为它会为每个新订单项增加1,例如:

在i_outtab进入数据(WA_outtab)GROUP BY中循环(键= WA_outtab-vbeln COUNT = GROUP SIZE)升至DATA(GROUP)。
  在组组分配字段符号()上循环。
  lv_max = nmax(val1 = lv_max val2 =  -posnr)。
  结局。
 ENDLOOP。

一周热门 更多>