在ABAP中声明变量、类型等的完整方法列表

在ABAP中声明变量、类型等的完整方法列表,abap,Abap,我尝试编译ABAP提供的用于声明变量、类型等的所有方法,包括过时和acrane语法变体。例如,我将在列表中包括字段组,但不包括类的声明。我目前的名单如下。我错过什么了吗 声明变量的语句 类似于声明性语句的数据 数据(不包括公共部分的数据)、静力学、参数、参数、常数 字段符号 内联声明 程序的实际参数 形式(子程序)、函数、方法 其他变量声明语句 范围,选择选项:是否还有其他选项 声明类型的语句 类型 其他声明 公共部分的数据开始 它本身不是一个声明性语句,而是对进一步的数据语句进行分

我尝试编译ABAP提供的用于声明变量、类型等的所有方法,包括过时和acrane语法变体。例如,我将在列表中包括字段组,但不包括类的声明。我目前的名单如下。我错过什么了吗

  • 声明变量的语句

    • 类似于声明性语句的数据

      数据(不包括公共部分的数据)、静力学、参数、参数、常数

    • 字段符号

    • 内联声明
    • 程序的实际参数

      形式(子程序)、函数、方法

    • 其他变量声明语句

      范围,选择选项:是否还有其他选项

  • 声明类型的语句

    • 类型
  • 其他声明

    • 公共部分的数据开始

      它本身不是一个声明性语句,而是对进一步的数据语句进行分组的一种方式

    • 场群

      声明提取数据集,该数据集不是数据类型和数据对象的ABAP类型概念的一部分


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

要完成您的列表,您可以添加以下内容(部分取自):

  • 表格
  • 节点
  • LOCAL
  • 字段
  • CLASS-DATA
  • 属性的别名(实际上不是声明,但它为给定属性添加了新名称)
  • 控件
构造函数表达式中有辅助变量(对于aux…、FOR、LET…)

程序具有预定义的类型和变量(
SY
SCREEN
等等;我觉得您可以从“隐式系统包含”中提取所有类型和变量,但您必须知道这些包含)

最终考虑<强>宏/<强>中的语句,无论是内部(<代码>定义>代码>)还是外部(表<代码> TrMAC )。 有一些语句对应于内部include

  • 类型池
    (在7.02之前是强制性的)
  • INFOTYPES
  • 上下文
当然,也有所有的DDIC类型

我不知道您是否还想扫描
创建数据
(用于抽象解释器之类的工具)


PS:你说公共部分不是真正的声明性语句,那是错误的,它们声明了数据对象,还有一个附加的“共享特性”。

谢谢!关于公共部分:我写了“不是声明性语句”,因为它们包含的元素看起来像常规的数据声明和W.R.T列表,我认为它们是由第一点覆盖的。+ <代码>控件< /代码>(声明表控件和表条的屏幕变量)您可能需要检查ABAPlint中维护的语法定义。它们有时比文档更完整,并以机器可读的格式进行维护。