在ABAP中声明变量,类型和类似方法的完整列表

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (146)

我尝试编译ABAP提供的所有方式来声明变量,类型等,包括过时和acrane语法变体。因此,例如,我会在列表中包含FIELD-GROUPS,但不包括类的声明。我目前的清单如下。我错过了什么吗?

  • 声明变量的语句
    • 类似数据的声明性陈述 数据(不包括共同部分的数据),统计,参数,参数,常数
    • FIELD符号
    • 内联声明
    • 程序的实际参数 FORM(子程序),功能,方法
    • 其他变量声明语句 范围,选择选项:还有更多吗?

  • 声明类型的声明
    • 类型

  • 其他陈述
    • 公共部分的数据开始 本身不是声明性声明,而是对进一步的DATA语句进行分组的方法。
    • FIELD-组 声明一个提取数据集,它不是数据类型和数据对象的ABAP类型概念的一部分

免责声明:我们正在编写一个用Java解析和转换ABAP代码的工具。特别是,我们无意编写新的ABAP代码。但相反,我们的工具必须处理所有ABAP,甚至过时的语句和模糊的语法变体。此外,我想提一下,我不是ABAP专家。

提问于
用户回答回答于

要完成列表,您可以添加这些列表(部分取自ABAP doc - 过时声明):

  • TABLES
  • NODES
  • LOCAL
  • FIELDS
  • CLASS-DATA
  • ALIASES 对于属性(不是真正的声明,但它为给定的属性添加了新名称)
  • CONTROLS

构造函数表达式中有辅助变量(FOR aux ...,FOR,LET ......)

程序有预定义的类型和变量(SYSCREEN等等,我觉得你可以从“隐性系统包括”提取所有的人,但你必须知道那些包括)。

最终考虑内部的语句,内部(DEFINE)或外部(表TRMAC)。

有一些与内部相对应的陈述:

  • TYPE-POOLS (在7.02之前是强制性的)
  • INFOTYPES
  • CONTEXTS

当然,也有所有DDIC类型

我不知道你是否也想要扫描CREATE DATA(对于像抽象解释器这样的工具)。

PS:你说公共部分不是真正的声明性陈述,这是错误的,它们声明了数据对象,还有一个额外的“共享功能”。

扫码关注云+社区

领取腾讯云代金券