CURR(10,2)此数据类型可以输入哪些值?

2020-08-14 23:32发布

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

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


大家好,

如果我有一个CURR(10,2)变量,那么该变量中可以输入的正确值是什么?

A。)总共12个字符。 10个整数,小数点后2位。

B。)总共10个字符。 8个整数,小数点后2位。

我在系统中遇到了这个转储:

短文本
访问表"/img/ACNLQD/NUMRANGE"时发生SQL错误" SQL代码:1438"。

发生了什么?
数据库错误文本:" SQL消息:ORA-01438:值大于指定的此列允许的精度"

每次检查未转储的值时,表中都有一个字段,该字段的值是8个整数和2个小数位。 但是对于遇到的转储,变量/字段具有9个整数和2个小数位(共11个)。 这是什么导致我们系统中的转储? 谢谢。

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

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


大家好,

如果我有一个CURR(10,2)变量,那么该变量中可以输入的正确值是什么?

A。)总共12个字符。 10个整数,小数点后2位。

B。)总共10个字符。 8个整数,小数点后2位。

我在系统中遇到了这个转储:

短文本
访问表"/img/ACNLQD/NUMRANGE"时发生SQL错误" SQL代码:1438"。

发生了什么?
数据库错误文本:" SQL消息:ORA-01438:值大于指定的此列允许的精度"

每次检查未转储的值时,表中都有一个字段,该字段的值是8个整数和2个小数位。 但是对于遇到的转储,变量/字段具有9个整数和2个小数位(共11个)。 这是什么导致我们系统中的转储? 谢谢。

付费偷看设置
发送
4条回答
DafaDDDa
1楼 · 2020-08-14 23:33.采纳回答

正确的是10个字符,8个整数和2个小数位。

查看帮助: https://help .sap.com/doc/abapdocu_752_index_htm/7.52/zh-CN/abenddic_currency_field.htm

CURR类型像DEC类型一样存储。 DEC类型存储为打包数字。

数值数据类型,用于保存具有固定小数位数或以类似方式保存的数字的定点数。 关联的预定义ABAP类型为p。 小数位数是数据类型的属性,而不是数据本身的属性(与浮点数一样)。 带打包数字的计算是使用定点算法进行的。 内部表示使用BCD格式。

小熊yu生菜
2楼-- · 2020-08-14 23:52

是的,这完全是错误的

感谢 Sandra Rossi

落灬小鱼
3楼-- · 2020-08-14 23:44

CURR(10,2)对应于包括10个小数点在内的10位数字。

但是ABAP变量占用6个字节 (10个半字节+ 1个半字节的符号= 11个半字节= 6个字节),因此它最多可能占用11位数字(包括小数点),当最左边的第11位数字不为零时会发生短转储。

SAP建议(例如,在SAP注释下方)永远不要定义具有偶数位数的打包字段,因此(最好是CURR(11,2)或CURR(13,2)等)

< ul>
  • 641744-下载到PSA/错误R8 569
  • 中时出现了短暂转储 li> 2342176-InfoSource中DEC类型的长度不能为偶数
  • 731946-在DB中插入P型变量时出现DBIF_RSQL_SQL_ERROR
  • 南山jay
    4楼-- · 2020-08-14 23:35

    Katherine Darunday

    正确的答案是选项B。

    B。)总共10个字符。 8个整数,带2个小数位。

    一种简单的检查方法是创建一个带有参数的测试程序,并分配必要的数据类型(CURR 10,2)。 现在尝试输入数字,当您输入8位数字时,系统不会引发任何错误,并将剩余的两位(.00)分配为十进制。

    是的,您对转储的假设是正确的,这是由于该值具有9位数字和2个小数位。

    请注意!

    一周热门 更多>