SAP S/4 HANA 是 SAP 的新产品,基于高性能内存平台 HANA 构建,使用 FIORI 应用程序提供丰富的用户体验。这个新系统包括重大变化和大规模简化,从基础数据模型的变化到新的用户界面通过 FIORI 应用程序。
本博客的目的是通过与非 S/4 系统的比较研究来了解 SD 领域的数据模型简化。
以下是主要的简化点:
状态表 VBUK 和 VBUP 已被删除,新的状态字段已添加到:
销售订单抬头和项目的 VBAK 和 VBAP
交货凭证抬头和项目的 LIKP 和 LIPS
开票凭证抬头的 VBRK
发票项目没有状态字段
简化文档流表VBFA
VAKPA、VAPMA 等文档索引表已被取消。
比较:
让我们通过查看表结构来了解差异:
VBUK 和 VBUP 仍然存在于 S/4 HANA 中,但在创建订单时它们不会被填写。
状态字段已通过附加结构添加。
表名 | 描述 | 附加名称 |
---|---|---|
VBAK | 销售订单抬头 | VBAK_STATUS |
VBAP | 销售订单项目 | VBAP_STATUS |
LIKP | 交货单抬头 | LIKP_STATUS |
LIPS | 交货项目 | LIPS_STATUS |
VBRK | 开票凭证抬头 | VBRK_STATUS |
如果任何自定义字段已添加到源系统中的 VBUP 或 VBUP 表中,则必须将它们添加到 S/4 HANA 系统中的相应单据的表中。
必须将单据抬头状态表 VBUK 的附加字段添加到一个或多个单据抬头表 VBAK、LIKP 或 VBRK。此决定取决于各个字段与哪种单据类型相关。
单据项目状态表 VBUP 的附加字段必须添加到一个或多个单据项目表 VBAP 或 LIPS。
VBAK:
VBAP:
在非 S/4 HANA 系统中创建销售订单时:
销售订单:7137:
VBAK 表保存订单标题详细信息
订单状态信息存在于 VBUK 表中
S/4 HANA系统中的销售订单:
VBAK 表包含标题详细信息以及标题状态
标题状态字段现在添加到 VBAK 表中
表 VBUK 存在但未填充。
VBUK / VBUP 仍然存在于 S/4 HANA 中的原因:
由于状态表没有被填充,因此可以质疑为什么这些表仍然存在并且没有完全从系统中删除。这样做的原因是为了让那些选择迁移到 S/4 HANA 系统的人能够顺利过渡。
已经编写了新的功能模块,这些模块从 VBAK、LIKP & VBRK 表中读取单据状态字段,并填充到其结构类似于 VBUK 的输出中。
例如,FM: SD_VBUK_READ_FROM_DOC,SD_VBUP_READ_FROM_DOC ,它为单据抬头表中的一个 SD 单据填充 VBUK结构。根据单据类型获取数据。
输出结构 ES_VBUK 仍然引用 VBUK 表。
任何添加到附加的自定义字段(如 VBAK_STATUS)都将被此 FM 读取。
优点:
减少内存占用:由于涉及的表更少,这意味着减少冗余数据并简化单据流。
现在,如果我们需要根据单据状态查询订单表,我们可以简单地通过对 VBAK 表的 1 次查询来完成,而不是在 VBAK 和 VBUK 上连接。
笔记:
可以参考 OSS Note 2198647 以获取更多信息。