共计 810 个字符,预计需要花费 3 分钟才能阅读完成。
MATDOC 数据库体现在蕴含了 Material 物料数据的低头信息和行我的项目数据。混合表 (例如 MARC、MARD 等) 依然存在,但它们只保留主数据信息(Master Data)。在抉择这些表期间显示的所有库存信息都是动静计算的。在动静计算库存数据时,应用 MATDOC_EXTRACT 表的目标是为了减速 对 MATDOC 表的汇总。
留神,在 S/4HANA 里,MARD 这些表里蕴含的库存值,曾经是动静计算后的后果,即来自主数据信息表 MARC 和其余库存相干表比方 NSDM_V_MARC 的动静计算结果。
像 MARD 这样的混合表依然存在,并且依然返回库存数据。然而,这些数字是应用新数据模型创立的 CDS view 视图动静计算的。这能够从 SE16 事务中 MARD 中 select 的 SQL 跟踪中看到:
CDS 视图是一个用 DDL(数据定义语言)SQL 脚本编写的 ABAP 实体。在此范畴内,它们用于将来自不同起源的数据聚合到单个根视图中。
应用 MB80 事务 (由 SAP Note 2542130 提供) 或 SAP ABAP Development Tool,能够查看指向 ABAP Catalog 中 SE11 事物码创立的视图的 DDL 文件。例如,MARD 的 CDS 视图由以下元素组成:
- 数据定义文件:NSDM_DDL_MARD
- 字典视图:NSDM_V_MARD
- 一个数据库实体(存在于数据库级别,仅由 DDL 援用):NSDM_E_MARD
咱们用 ABAP Development Tool 在 S/4HANA 零碎,关上 MARD,能看到一个 @AbapCatalog.replacementObject : 'nsdm_e_mard'
注解:
CDS 视图能够定义为数据库表的代替对象(replacement,有时也称代理对象),也能够定义为 ABAP Dictionary 中的经典数据库视图。在这种状况下,ABAP SQL 在读取一张数据库表时,读取操作会主动转而拜访其通过注解定义的替换对象。
nsdm_e_mard 的源代码: