运行时的字段大小小于DDIC定义

2020-08-26 05:07发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好,我这里的情况很奇怪。 ...

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

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


大家好,我这里的情况很奇怪。

"我的数据元素"定义为8位小数和3位小数。 该数据元素用在表格字段中,并且该表格用作SE24中class属性的引用类型。

但是在运行时,基于表的类属性的字段大小小于ddic定义,因此有时会由于大小溢出而发生转储。 运行时的字段大小为5而不是8。

为什么运行时的字段大小与ddic定义不同? 怎么处理呢? 我不能只更改数据元素的大小,因为它会影响其他程序。

数据元素定义

表定义

class属性

运行时大小

(24.6 kB)
11条回答

您做出了错误的假设。

DDIC和ABAP之间没有不连贯性:

  • 在DDIC中,打包字段是使用数字( 8)包括小数点后的数字。
  • 在程序中,打包字段使用字节数(5个字节对应于8或9位数字)表示,包括小数点后的数字。/li>

如果DDIC打包字段的位数为偶数(8),则其输出长度相同,但是ABAP程序仍然可以再存储一位数字(9),因此将 最终将导致存储此多余数字的数据库错误,并且由于输出长度而无法显示该多余数字。

因此,对于DDIC压缩字段,请始终使用奇数个数字(CURR,

注意:溢出的短转储可能是由其他原因引起的,如果需要更多支持,请发布短转储(附加的TXT ZIP文件)。

一周热门 更多>