SAP S4 Material Management 库存模块 MARD 数据库表读取技术细节介绍

SAP ERP 6.0 库存管理数据模型由两个文档表 MKPF(用于文档抬头信息)和 MSEG(用于文档项目数据)组成。 此外,在多个表中存储了汇总的实际库存数量数据。 其中一些表还存储物料主数据属性,例如 MARC、MARD 和 MCHB 表。 此类具有物料主数据属性以及实际库存数量的数据库表,在本文余下部分称为混合表(Hybrid Table)。 相比之下,还有像 MSSA 这样的表格,仅包含销售订单库存的汇总实际库存数量。 此类表将在本文以下部分称为替换聚合表。

SAP S/4HANA Material Management 库存模块中的混合表,维护了冗余的数据,因为所有物料单据信息的总和可以返回相同的数据。 例如,在 MARD-LABST 中显示的无限制使用库存数量,现在是所有与所选数据相关的 Material Document 的总和,每当在 MARD 中查询 LABST 字段时,在 S/4HANA 里会通过使用 NSDM_V_MARD 视图计算。

如果不需要这些表中的库存信息,则可以将只获取主数据信息的 SELECT 与为此创建的特殊视图 V_Mxxx_MD 一起使用(例如 V_MARD_MD)。

总之,SELECT * FROM MARD 现在执行以下步骤:

  1. 访问 MARD 获取存储位置物料主数据实体。
  2. 对表 MATDOC_EXTRACT 执行聚合以获取实际库存水平。
  3. 将以上两个结果进行汇总。

NSDM_V_MARD 的建模明细:

上图 DDL Source NSDM_DDL_MARD 的模型明细:

MATDOC_EXTRACT

MATDOC_EXTRACT 表是一个压缩的 MATDOC 表,用于在获取动态计算的数据时提高性能。

记录在插入 MATDOC 的同时插入 MATDOC_EXTRACT,并且在MMPV 事务中的期间关闭时自动执行预压缩过程。 此预压缩过程减少了 MATDOC_EXTRACT 表中的数据,仅保留计算库存数据所需的信息。

也可以使用 NSDM_MTDCSA_PRECOMP 程序手动启动预压缩。

猜你喜欢

转载自blog.csdn.net/i042416/article/details/125818339