点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
好的,我们知道,如果您有数字类型并尝试为其分配字符串值,则任何非数字都将被忽略。 即
数据长度类型n长度4。 数据mystring TYPE字符串值'DI01'.mynum = mystring。
mynum现在将包含值0001。
我们还知道,当您在带有键的内部表上使用READ时,提供的值将转换为键的类型。 我有一个内部表(HASHED),键入四个长度的数字字段。 它的记录为0001。我很困惑这段时间
使用表键numckey = mystring将表mytable读入DATA(record)。具有sy-subrc = 0,并返回了一个record-numckey ='0001'的记录。
您将如何处理?
- 将哈希表键改为字符/字符串字段吗?
- 检查mystring仅包含数字吗?
- 还有什么?
意见很好!
我确实知道。 但这仅与在LOOP AT WHERE中类型转换对性能的影响有关。
比
在这种特殊情况下,我从没想到表的键(我没有定义!)不是C4而不是N4。
不是 一个错误-更多ABAP语言的功能。 而且现在更改还为时已晚!
但是例如,如果您使用CONV,则会遇到相同的问题。 我们真正需要的是IF类型(事物)为NUMC。 我知道我们可以使用RTTS或DESCRIBE,但这并不相同。
仅出于信息方面,我将代码更改如下。
请注意, blah 是我的字符串值。
一周热门 更多>