Abap 以字符串形式存储日期算法的结果

Abap 以字符串形式存储日期算法的结果,abap,Abap,下面的代码应该从给定的日期减去10天,将结果存储在字符串变量中并写入 DATA str TYPE string. DATA date TYPE d. date = '20130418'. " 2013-04-18 str = date - 10. WRITE str. 我预计产量将为2013-04-08或至少为未匹配的20130408。但实际输出是一个相当神秘的数字,我一点也不理解: 734967 有人能解释一下这个号码是从哪里来的吗 我已经找到了一个解决方法(只需将结果放入另一个类型为

下面的代码应该从给定的日期减去10天,将结果存储在字符串变量中并写入

DATA str TYPE string.
DATA date TYPE d.

date = '20130418'. " 2013-04-18
str = date - 10.

WRITE str.
我预计产量将为2013-04-08或至少为未匹配的20130408。但实际输出是一个相当神秘的数字,我一点也不理解:

734967
有人能解释一下这个号码是从哪里来的吗

我已经找到了一个解决方法(只需将结果放入另一个类型为d的变量中,然后将此变量赋给字符串),但我仍然对解释这个奇怪的结果感兴趣

SAP基础版本是702。

看看:对于减法,日期转换为自01.01.0001开始的天数(源类型日期,目标类型I),然后进行算术运算。如果结果是一个日期字段,将应用转换(源类型I/Packed,目标类型D)返回YYYYMMDD格式。但是,转换I/Packed to字符串的定义不同,因此该字符串包含结果日期和01.01.0001之间的天数