以编程方式区分追加结构和普通结构

Differentiate an append structure and a normal structure programmatically

我是 运行 SAP R/3。

table E071 存储来自传输请求的对象。其中有一个名为 OBJECT 的 4 字符字段,用于存储对象类型。例如 PROG 用于程序,TABD 用于 table,等等

我有一个内部 table,其中包含从 E071 中选择的对象。

TABL类型的对象既可以是普通结构也可以是追加结构。

在SE11中,当您查看一个结构对象时,如果它是一个普通结构,它会在对象名称旁边显示一个文本Structure。如果它是附加结构,它会在那里显示 Append Structure

所以有办法区分它们。

我应该如何在我的程序中区分它们?这两者之间有什么不同的技术细节吗?

ABAP DDIC 结构存储在 DD02L table 中,其中还存储杂项对象,例如 tables 和视图,它们具有以下重要列:

  • TABNAME : 对象名称
  • TABCLASS : 对象 class INTTAB 用于普通结构,APPEND 用于追加结构 ,其他值用于 tables 和视图(包括透明 tables 的 TRANSP
  • SQLTAB : 如果对象是追加结构,它包含它追加的对象。