控制声明(结束和结束)。

2020-08-16 20:43发布

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

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


嗨,

我正在计算一个sum语句,但是却遇到运行时错误' sum statment用于计算总数,但是结果值太大,指定的字段不可用" 这是我的代码。可以 有人指导我吗?

程序:

program.txt

program.txt (792乙)

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

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


嗨,

我正在计算一个sum语句,但是却遇到运行时错误' sum statment用于计算总数,但是结果值太大,指定的字段不可用" 这是我的代码。可以 有人指导我吗?

程序:

program.txt

program.txt (792乙)
付费偷看设置
发送
6条回答
1楼 · 2020-08-16 21:42.采纳回答

您好 Senthil

查看您的代码,类似这样的方法应该起作用:

表:vbap。

 选择选项:
                 s_vbeln表示vbap-vbeln。
 类型:
   ty_vbap的开头,
     vbeln类型vbeln,
     posnr类型posnr,
     matnr类型matnr,
     netwr类型netwr,
   ty_vbap的结尾。

 数据:ty_vbap的lt_vbap类型表,
       ls_vbap类似于lt_vbap的行。

 选择* from vbap到表lt_vbap的对应字段中,其中vbeln在s_vbeln中。

 在lt_vbap处循环进入ls_vbap。

   首先 。
     写下:/,3'Sales Document'颜色4。
     写下:/,3'销售凭证'颜色4,20'销售商品编号'颜色5,45'物料编号'颜色7。
 * ULINE。
   Endat。

   在新的vbeln。
     写入:/ls_vbap-vbeln color 4,":销售单据"。
   Endat。
   写入:/,20 ls_vbap-posnr颜色7,45 ls_vbap-matnr颜色7,55 ls_vbap-netwr颜色7。

   在vbeln结束时。
     和。
     写:/,55 ls_vbap-netwr颜色7。
   结束语。
 *
   最后。
     和。
     写入:/,'Total',55 ls_vbap-netwr颜色7。
   Endat。
 结束循环。
 

我猜错误是"结果值太大的指定字段",解决方案是使用更大的变量并用+求和:

 DATA VAR_SUM TYPE decfloat34。  "可能的最大数字
 VAR_SUM = 0。
 圈...
   ...
   VAR_SUM = VAR_SUM + VAR。
   ...
 ENDLOOP。
悻福寶寶
3楼-- · 2020-08-16 21:20

尊敬的Senthil,

您正在使用完整的VBAP作为内部表的行类型。

当行时不能使用SUM 内部表的类型,其中包含表和结构的组件。

因此

选项1-仅使用VBAP中的必填字段更改内部表

选项 2-更改内部表,仅使用VBAP中的必填字段,并使用COLLECT语句代替SUM

问候

Venkat

打个大熊猫
4楼-- · 2020-08-16 21:39
senthil gajendran 网络上有很多代码片段...("循环"在" group by"网站上: answers.sap.com
南山jay
5楼-- · 2020-08-16 21:41

你好 senthil gajendran

从您分享的错误消息中,我是 猜测和值对于您尝试将其计算为的字段太大。 在这种情况下,您需要在内部表中将特定字段的类型更改为允许更大数字的类型,或者可以将金额总计到多带带的字段。

请考虑,
Mateusz
clasier
6楼-- · 2020-08-16 21:33

嗨,

我的问题解决了,谢谢您的回复。

请关闭线程。

一周热门 更多>