更好地使用子字符串或子字段访问?

2020-09-08 21:53发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 论坛中最近有讨论,该...

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

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


你好

论坛中最近有讨论,该函数 < 应该始终优先选择strong> substring(...) ,而不是规范的 文本+关闭(len) 构造("子字段访问"),例如,在该讨论" [您不应该使用老式的结构"。

演示代码示例,该示例实现等效的子字符串和text + off(len)构造:

 DATA子类型字符串。
 DATA(text)=`Hello world`。

 sub = substring(val = text off = 6 len = 5)。  "自7.02开始的新方法
 ASSERT sub ='world'。

 sub =文字+6(5)。  "子域访问已存在数十年
 ASSERT sub ='world'。

我真的对这种系统偏好感到怀疑,例如,当变量的类型为C且长度固定时,我更喜欢子字段访问而不是子字符串访问,以避免短转储STRING_LENGTH_TOO_LARGE:

 DATA子类型字符串。
 DATA(文本)= CONV Scarr-carrname('Air France')。" scarr-carrname = C型长度20

 尝试。
     sub = substring(val = text off = 5 len = 10)。
   捕获cx_sy_range_out_of_bounds INTO DATA(lx)。
 ENDTRY。
 ASSERT 1x被绑定。
 ASSERT sub =''。

 sub =文字+5(10)。
 ASSERT sub ='rance'。
 

就目前而言,我不能说我在这两者之间有偏好,两者都有优点和缺点。

您怎么看?

非常感谢。

桑德拉

@ 马修·比林汉姆