简单除法问题

2020-08-17 12:58发布

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

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


我希望将订单项的总和除以百分比。 我在循环中最后使用了&sum,为每个循环提供总和,但是很难将除法编码为结果。 我指定了DATA:result TYPE p DECIMALS 2。

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

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


我希望将订单项的总和除以百分比。 我在循环中最后使用了&sum,为每个循环提供总和,但是很难将除法编码为结果。 我指定了DATA:result TYPE p DECIMALS 2。

付费偷看设置
发送
6条回答
闻人可可
1楼-- · 2020-08-17 13:38

您好 Brian Cooper

要回答您的问题-您正在做的是计算并打印 总和,但您不会将它们存储在任何地方。 为了能够计算百分比,需要存储每个组的总和,然后计算百分比。

据我所知,您没有为LOOP使用任何条件,因此 基本上总结所有记录。 是吗?

如果是这种情况,那么我建议您按以下方式更改代码。

数据:
   lv_essr_sum喜欢essr-netwr,
   lv_ekpo_sum喜欢ekpo-netwr。

 通过ebeln ebelp排序it_essr。
 按ebeln排序it_ekpo。

 循环到it_essr INTO wa_essr。
   在新的ebeln。
     明确:
       lv_essr_sum,
       lv_ekpo_sum。
   ENDAT。

   lv_essr_sum = lv_essr_sum + wa_essr-netwr。

   在it_ekpo上,在ebeln = wa_essr-ebeln处循环。
     lv_ekpo_sum = lv_ekpo_sum + wa_ekpo-netpr。
   结局。

   在ebeln的结尾。
     WRITE:/'ORDERED:'颜色4,27 lv_essr_sum。
     写:/'已交付:'颜色4,27 lv_ekpo_sum。

     如果lv_essr_sum> 0。
       结果=(lv_ekpo_sum * 100)/lv_essr_sum。
     其他。
       结果= 0。
     万一。

     写:/'完成百分比:'颜色5,19结果。
   ENDAT。
 ENDLOOP。
亲切的问候,
Mateusz
2楼-- · 2020-08-17 13:26

嗨,布莱恩,

请提供您的代码。 复制问题会容易得多。

您要计算的百分比是什么?

亲切的问候,
Mateusz
My梦
3楼-- · 2020-08-17 13:37

订购和交付的金额 来自me23n。

桌子:埃斯特尔,埃克波。

类型:ty_essr的开头,
ebeln TYPE essr-ebeln,
ebelp TYPE essr-ebelp,
netwr TYPE essr-netwr,
ty_essr的结尾。

数据 :wa_essr TYPE ty_essr,
带有标题行的ty_essr TYPE表。

类型:ty_ekpo的开始,
netpr ekpo-netpr TYPE,
ty_ekpo的结尾。


> DATA:wa_ekpo类型ty_ekpo,
it_ekpo类型ty_ekpo表,带标题行。

DATA:结果类型p十进制2.

INITIALIZATION ..
选择:s_ebeln FOR essr-ebeln。

开始选择。
从esr到表SELECT ebeln ebelp netwr
在s_ebeln中的ebeln中。

SELECT netpr
从ekpo插入表it_ekpo
在s_ebeln中的ebeln。

对it_essr进行排序。

在it_essr处循环到wa_essr。
最后在
SUM。
写:
/'ORDERED:'颜色4,
27 wa_essr-netwr。
ENDAT。
清除:wa_essr。
ENDLOOP。

环聊it_ekpo INTO wa_ekpo。
>最后。
总和。
写:
/'已交付:'颜色4,
27 wa_ekpo-netpr。
ENDAT。
清除:wa_ekpo。
ENDLOOP。

WRITE:/'完成百分比:'颜色5,
19个结果。

浮生未央
4楼-- · 2020-08-17 13:48

SUM正式 过时的 至少快过时了。

Nan4612
5楼-- · 2020-08-17 13:34

是的,没错。

CJones
6楼-- · 2020-08-17 13:30

嗨Mateusz

感谢论坛提示,我将在以后的帖子中使用。 另外,您是正确的,我正在计算和存储总和,因为这是我做不到的,是的,我正在获取所有订单项的总和。 该代码是报告的一部分,但我喜欢SQL vs循环中的总和,非常有帮助。 感谢您的时间和帮助。

一周热门 更多>