I’ll try to brief the key differences between SoH(and previous releases) & S/4 HANA Inventory Management Data models,
- During EhP6 development in order to handle very large data sets Development came up with a significant change i.e., to improve performance during select involving join of inventory header and item, they have brought some important fields from MKPF into MSEG. This they have made available for lower releases as well.
- The added fields are : VGART_MKPF, BUDAT_MKPF, CPUDT_MKPF, CPUTM_MKPF, USNAM_MKPF, XBLNR_MKPF, TCODE2_MKPF. So we need not search for this information from MKPF during joins.
- Manual steps need to be followed to extend MSEG table if Customers are below EhP6 and with SPs lower to the ones when the note was released. But in SoH this change comes by default. During upgrades Customer need to use reports(ZMST_FILL_MSEG_FROM_MKPF) to update the added fields.
- This is the similar kind of approach Development has followed in S/4 where they have come up with a new de-normalized table MATDOC itself with MKPF, MSEG fields and 53 additional fields for fast only-the-fly calculation/analytics as aggregated data is not persisted anymore.
Below are some key notes specific to SoH(and previous releases) related to the change :-
- 1516684 - Enhancing MSEG with MKPF fields - performance optimization
Reason and Prerequisites
There is a large number of MM documents in your system. The SELECT statement on the header and item table is very demanding on system performance.
This note adds fields from the table MKPF to the table MSEG. The fields from MKPF are now held redundantly in the table MSEG. This enables large gains for the performance of all applications that read material documents.
- 1598760 - FAQ: MSEG extension & redesign of MB51/MB5B
- 2079993 - Performance issues in inventory management MM-IM -> a collective note
In summary regarding S/4 data model ,
For stock quantities:
The aggregated actual stock quantities will not be persisted anymore in the hybrid or replaced aggregation tables like MARD, MARDH, MSSA, MSSAH etc., instead, actual stock quantity data will be calculated on-the-fly from the
MATDOC for which some of those additional special fields(53 in number) are used.
For stock values:
The inventory valuation tables xBEWH(H) do still exist as DDIC definition as well as database object. However, they will only be used to store material master data attributes. The transactional fields like LBKUM(Total Valuated Stock),
SALK3(Value of Total Valuated Stock) and SALKV(Value based on moving average price) will be retrieved from the Material Ledger tables like . Hence, those fields are not updated anymore in the original xBEWH(H) tables.
As a consequence, the above mentioned tables need to be updated less often, which leads to a higher throughput.