从标志='X'的内部表中计数(在上面的7.4 netweaver中)

2020-08-18 18:55发布

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

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


专家们,

是否有可能改善我的逻辑(上述方法7.4),使行数更少但结果相同?

我还考虑将循环放到ITAB中并添加计数器逻辑

但我在考虑是否有可能使用一种逻辑行进行计数

例如 描述表itab,其中key ='Key1'和flag1 ='X'行Key1Flag1count。

可靠的表itab,其中key ='Key1'和flag2 ='X'行Key1Flag2count。

结果应为:

Key1Flag1count = 2

Key1Flag2count = 0

Key1Flag3count = 2

Key2Flag1count = 0

Key2Flag2count = 2

Key2Flag3count = 0

capture.jpg (112.3 kB)

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

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


专家们,

是否有可能改善我的逻辑(上述方法7.4),使行数更少但结果相同?

我还考虑将循环放到ITAB中并添加计数器逻辑

但我在考虑是否有可能使用一种逻辑行进行计数

例如 描述表itab,其中key ='Key1'和flag1 ='X'行Key1Flag1count。

可靠的表itab,其中key ='Key1'和flag2 ='X'行Key1Flag2count。

结果应为:

Key1Flag1count = 2

Key1Flag2count = 0

Key1Flag3count = 2

Key2Flag1count = 0

Key2Flag2count = 2

Key2Flag3count = 0

capture.jpg (112.3 kB)
付费偷看设置
发送
5条回答
小c菟菟
1楼 · 2020-08-18 19:44.采纳回答

您好 Marverick Chua

正如您所说的,您正在使用7.40,那么REDUCE语句可以来进行救援。

 data(lv_lines)= REDUCE i(itab中wa的初始x = 0,其中(key1 ='Key1'或key2 ='Key2'.....)下一个x = x + 1)。

此致

Anmol

落灬小鱼
2楼-- · 2020-08-18 19:46
葫芦娃快救爷爷
3楼-- · 2020-08-18 19:38

您好 Marverick Chua

我会选择 LOOP语句,因为您希望对不同条件的记录进行计数。 这样,您将只遍历表一次并一次性计算所有必需的记录。

请注意,
Mateusz
小c菟菟
4楼-- · 2020-08-18 19:34

您的问题是不连贯的:KEY2和KEY3列在哪里?

大道至简
5楼-- · 2020-08-18 19:31

FILTER语句也类似于传输和删除内部表,这很棒

但是REDUCE语句仅需一行即可完成要求! 谢谢您的回答!

一周热门 更多>