Abap 内部表声明与表类型之间存在差异?

Abap 内部表声明与表类型之间存在差异?,abap,internal-tables,Abap,Internal Tables,应该选择哪一个/为什么 所以我有一个本地定义的类型: 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: CU

应该选择哪一个/为什么

所以我有一个本地定义的类型:

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.

上述两种说法之间是否存在任何差异,应首选哪一种

这两个语句之间的主要区别在于,在第一个语句中,您保留了存储5行customer_tab表的内存空间。
就性能而言,最好的说法是第二种。

您已经问过了。带有
的第一条语句定义了一个带标题行的内部表,另一条语句定义了一个不带标题行的内部表<代码>发生5
意味着最初将为5行分配内存。Hi@Jagger可能重复。两者之间的区别在于:现有/缺乏:标准表格不“带标题行”。。事实上,这是一个不同的问题。恕我直言,我不同意特别是我在其中一条评论中提到了标题行为的标准表格。@Jagger好吧,你可能是对的。我对SAP/ABAP非常陌生,所以我仍在努力理解。我想随着时间的推移这会有意义的,我只是一时糊涂。感谢您的帮助。第一条语句除了表之外还声明了一个“标题行”,因此,当您试图访问表时,必须明确声明您希望使用方括号(例如CUSTOMER_STRU_类型[])。