SAP/ABAP中这两种类型的内部表声明有什么区别?
问题描述:
哪一个应该是首选/为什么?SAP/ABAP中这两种类型的内部表声明有什么区别?
所以我有一个TYPE本地定义:
TYPES:
BEGIN OF CUSTOMER_STRU_TYPE,
KUNNR TYPE KNA1-KUNNR,
NAME1 TYPE KNA1-NAME1,
END OF CUSTOMER_STRU_TYPE.
,我认为下面看到这两个声明都将做同样的事情:
DATA:
CUSTOMER_TAB TYPE CUSTOMER_STRU_TYPE OCCURS 5.
DATA:
CUSTOMER_TAB TYPE STANDARD TABLE OF CUSTOMER_STRU_TYPE.
是否有看过2个报表之间的差异以上,哪一个应该是首选?
答
这两个语句之间的主要区别在于,第一个语句是保留用于存储5行customer_tab表的内存空间。 在性能方面,最好的说法是第二个。
+0
第一条语句还声明了除表格之外的“标题行”,因此当您尝试访问表格时,必须明确声明您希望使用方括号(例如CUSTOMER_STRU_TYPE [])的表格。 – Esti
您已经询问过它。 'OCCURS'的第一个语句定义了一个带有标题行的内部表格,另一个定义了一个没有标题行的内部表格。 'OCCURS 5'意思是最初会为5行分配内存。 – Jagger
[在ABAP中使用WITH HEADER LINE是什么?]的可能的副本(http://*.com/questions/36282951/what-is-with-header-line-used-for-in-abap) – Jagger
Hi @贾格尔。这两者之间的区别是:现有/缺乏:不是“带有标题行”的标准表。实际上,这是一个不同的问题。 –