点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家们,
HANA DB版本1.0
BW版本7.4 SP16
Q1)请使用BW转换中用AMDP程序编写的以下案例陈述来阐明数值溢出问题。
FIELD3 NVARCHAR(4)-值003
FIELD2 DECIMAL(10,2)-0
FIELD4整数-0
案例
当FIELD1 = 2时(FIELD2 * FIELD3)/FIELD4
以字段5结尾;
此代码给出314数值溢出错误,而不是除以0。当我用值替换下面的代码时,它也给出314错误
案例
当FIELD1 ='2'时(0 * FIELD3)/0
以字段5结尾;
如果我在计算中将FIELD3的直接值设为003,则表示被零除.FIELD3发生了某些事情。
请说明为什么代码会如此显示
Q2)在上面的代码中,如何显式获取field5的数据类型? 我们知道,case语句的结果是值将进入FIELD5,但是请展示一种借助脚本代码或任何其他方式识别数据类型的方法。
您好 ABAP初学者
第一季度。 请先阅读并理解错误消息。 它将帮助您自己解决问题。 显然,您不能将正在执行的除以零。
第二季度。 关于输出参数,请查看文档: https://help。 sap.com/doc/abapdocu_750_index_htm/7.50/zh-CN/abenamdp_hdb_sqlscript.htm
关于,Mateusz
嗨
请增加 您的Field5-因为FIELD2 * FIELD3的乘积要求保留在Field5中。
因此增加它。 DECIMAL(18,2)
此致
Venkat
Hi
a)这是一个明确的消息,说明您是 试图除以零-这将引发转储/错误。 因此,您应该按以下方式更改案例说明
b)关于Field5的数据类型,它应该与Field2相同-因为您要在Field2上乘以某个值-因此输出将与Field2相同。 在这种情况下,它应该为DECIMAL(10,2)。 但是,如果Field3是大数字,则可能必须将小数长度增加为示例DECIMAL(12,2)
问候,
Venkat
您好,Venkat, Mateusz Adamus
感谢您的答复。
a)错误应该是被零除,但是为什么它会显示数字溢出。
所以想知道为什么会出现数字溢出错误消息?
一周热门 更多>