点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 论坛中最近有讨论,该...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供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'。
就目前而言,我不能说我在这两者之间有偏好,两者都有优点和缺点。
您怎么看?
非常感谢。
桑德拉
@ 马修·比林汉姆
在这个答案中,我将汇编社区给出的缺点和优点:
每种情况的示例:
1。 异常超出范围(C/D/T/STRING变量)
2。如果提取尾随空格,则为Exception C变量
4。静态形式的编译器检查
一周热门 更多>