在 SAP ABAP 开发里,DDIC Table Type很容易被低估。
很多代码里只是简单出现一句
DATAlt_itemsTYPEztt_sales_order_item.看起来它只是把一个 Internal Table 的类型从程序内部搬到了 ABAP Dictionary。可一旦进入大型 SAP S/4HANA 项目,这个判断就太简单了。
一个真正完整的DDIC Table Type,不只是规定 Internal Table 每一行有哪些字段,它还决定了数据按照什么方式组织、主键如何定义、是否允许重复、按照哪个 Key 可以获得优化访问、能不能按索引读取、是否允许其他 Secondary Key,以及 ABAP Runtime 在创建 Internal Table 时如何估算初始内存。
SAP 官方对 Table Type 的定义也很明确,一个 Table Type 描述 Internal Table 的Line Type、Table Category、Table Key以及初始内存需求。DDIC Table Type 可以作为全局数据类型存在于 ABAP Dictionary 中,再由 ABAP 程序直接引用。
因此