共计 703 个字符,预计需要花费 2 分钟才能阅读完成。
ABAP 740 里引入了一种新的 LET 表达式。在 LET 表达式里定义的 ABAP 变量和 FIELD-SYMBOLS,作用域就像 JavaScript 编程语言里,应用 let 关键字定义的变量一样,只在以后定义他们的 LET 表达式里失效。
ABAP 官网帮忙文档,把在 LET 表达式里定义的 ABAP 变量,称为 auxiliary fields(辅助,备用字段)。这些 LET 表达式里定义的变量,无奈在表达式内部拜访和应用。
图 2 是一个例子。
在第 25 行和第 26 行中,咱们应用关键字 LET 定义了两个辅助字段 date 和 sep,这两个辅助字段在第 27 行的 LET 表达式中应用。
在第 27 行,咱们通过关键字 IN 定义了一个 LET 表达式
最初计算 LET 表达式的值,并将其填充到第 24 行定义的内联变量 isodate 中。咱们应用 CONV 字符串显式指定内联定义的变量 isodate 的类型为 STRING.
执行图 2 的程序,最初打印后果:
2013-07-16
2014-08-31
2015-09-07
图 3 是另一个例子。
在构造函数表达式中定义三个部分辅助变量 x、y 和 z,以结构构造体的值。辅助变量的值用于结构组件。
图 3 的执行后果见图 4.
灵便应用 LET 表达式,能够防止变量作用域净化,使得代码更紧凑。当然,应用 LET 表达式解决问题的场合,应用传统的 ABAP 编程形式也能胜任,只是代码行数略微要多于应用 LET 表达式的解决方案。
LET 关键字的引入,显著晋升了 ABAP 代码的编写效率和可读性。通过在数据检索和处理过程中间接初始化局部变量,LET 关键字帮忙开发者缩小了冗余代码,使得代码构造更加清晰,逻辑更加紧凑。在日常开发工作中,正当利用 LET 关键字,能够无效晋升代码品质和维护性。