首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ABAP 740 中引入的 LET 表达式

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 表达式的解决方案。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/ORf3jdAlcQfYsPvhBA45yqxA0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券