#S4HANA use case series: 3b – market to a segment of one (tech view)
In the previous use-case blog #S4HANA use case series: 3a – market to a segment of one (biz view) , we explained why more and more industries are moving into the end consumer business (B2C). This trend is particularly true for Consumer Products Companies and also more and more for Automotive Companies that are now moving step by step closer to their end customers and cutting out the middle man in their distribution chain.
Today´s blog will shed a light on what has changed with SAP S/4HANA from a technical point of view to address the need concerning the business processes and the IT landscape.
In the B2C business, the companies receive the end customer orders through a web shop, call center or cell phones. The major difference to the classical approach is that usually the order quantity is 1 piece and the delivery time tends to be very short. Obviously an order quantity of 1 piece has a major effect to the business process (MRP, Production, packaging, shipping).
The processes in the companies are optimized for production and delivery for superior quantity as 1 piece. Those changes are also increasing the related documents significantly (Production orders, delivery notes, goods issues, goods receipts…). In order to handle those tremendously increased documents you need an IT infrastructure (application and database) who can manage the document throughput. Additionally because of the increased document throughput material master and the related documents can be locked and therefore posting of those documents doesn’t take place until the former documents are all posted.
Use Real-Time business
In order to ensure profitability, the B2C orders have to run within a company as so called ‘No touch order’. Meaning the majority of those orders have to run through the business without any human interaction. In order to fulfill those requirements companies need a real-time business, meaning accurate update inventory information, high frequent fast MRP runs and efficient was to handle backorder.
A manual process is only required when unforeseen problems (e.g. credit limit check, ATP Check) are occurring. For that business requirement the SAP S/4HANA Sales Cockpit is perfect. Internal sales representatives who are accessing the business processes through that related SAP Fiori cockpit have to handle only exceptions which occur during the business process flow of the order through the value chain.
Eliminate Locking issues
With SAP S/4HANA there is no locking issue for material documents anymore because the database doesn’t has to update a number of different databases, instead there is until an insert into the new table MATDOC required. That means in the end that material documents for the same material can be posted in parallel. See blog entry concerning the Inventory Management [LINK].
Simplification of the SD data model
Simplification of the SD data model (see Fig.1) shall be e.g. achieved by
- Optimized Document Flow (VBFA)
- Optimized Access to Business Data (VBKD)
- Elimination of Status Tables (VBUK, VBUP)
- Elimination of Indices (VAPMA, etc.)
Let us explain in more detail:
Improve Document Flow (VBFA)
The SD (Sales & Distribution) document flow manages relationships between sales & distribution (and other) documents to describe how these documents (or document items) are interconnected in business process instances.
From a persistency point of view it is represented by database table VBFA (Document Flow) storing the relationships together with additional (partially redundant) data for faster access to the relationships or for faster evaluation of data of connected documents.
In a first step, this implementation will be renewed to get rid of some design flaws and ensure openness for future developments.
The following steps will be taken:
- Adaptation of the primary key of table VBFA (UUID – Universal Unique Identifier)
- Prolongation of document type (VBTYP) replacing the former extended VBTYP concept
- Reduction to direct relationships and removal of column STUFE (The field STUFE will get filled if your sale order material have multi-level BOMs or WBS element or Product Hierarchies)
Future changes could be:
- Step-by-step removal of redundant data in VBFA
- Re-implementation of the calculation of open quantities and open values
The user interface of the document flow will undergo a re-design, too. The new process overview will combine document flow and status information. It will first be used in the Sales Order Fulfillment Monitor App and then included into other applications.
Optimize Access to Business Data (VBKD)
The business data for a sales order is stored in the table VBKD. The relation is that for the header data a VBKD entry with POSNR = ‘000000’ is persisted (Header Entry). If an item has different customer data a new entry with POSNR = VBAP-POSNR is created in VBKD. Otherwise the item does refer to the header entry of the VBKD. This leads to the fact that selecting the customer data for an item must contain two select statements (First select with VBKD-POSNR = VBAP-POSNR (if nothing is found, select with VBKD-POSNR = ‘000000’). This may lead to performance issues and highly complex select designs in reporting and analytics.
As solution for these problems a new field VBKD_POSNR in table VBAP is introduced in SAP S/4HANA. This field stores in the item Table the item number of the corresponding VBKD entry. With that the Tables VBAP and VBKD can be joined in a simple way without using any complex statements.
The table VEDA (contract data) and VBPA (Partners) are following the same logic as table VBKD. So it would make sense to introduce also a corresponding POSNR-field, which is a link to the corresponding item entry in VEDA and VBPA. As VBPA contains the partner function as additional key, it is planned to provide additional POSNR-Fields only for some special partner functions like the ship-to party.
Elimination of Status Tables (VBUK, VBUP)
In the past, status information of business objects like Sales Order, Outbound Delivery, or Customer Invoice has been stored in central tables VBUK (header status information) and VBUP (item status information). To separate the different business objects (for example, to introduce independent numbering) the status information will be assigned to the corresponding objects.
Sales order status information will be stored in VBAK and VBAP, delivery status information in LIKP and LIPS, and invoice status information in VBRK. VBUK and VBUP will not be used anymore but may stay in the dictionary for typing purposes. Views that emulate VBUK and VBUP will not be provided in SAP S/4HANA. In a first step, read and write accesses to VBUK and VBUP will be re-directed to the business object header and item database tables. The internal tables will stay as they are. In a second step, the status handling may be improved to work on the business object database tables only.
Elimination of Indices (VAPMA, etc.)
Materialized, application owned indices are widely used in order to combine attributes from multiple tables in a single DB table, allowing a combined search on selection criteria originally referring to more than one DB table. A typical example is the material index table VAPMA (see Figure 2)
In order to reduce redundancies and hence reduce the DB memory footprint, the SD index tables shall be eliminated as far as possible.
This replacement shall be done by using ABAP managed CDS views basically following the idea of joining all contributing tables and providing an equivalent data representation to the ABAP layer.
For the first shipment, the following index tables shall be replaced:
- VAPMA Sales Index: Order Items by Material
- VAKPA Sales Index: Orders by Partner Function
- VLPMA SD Index: Delivery Items by Material
- VLKPA SD Index: Deliveries by Partner Functions
- VRPMA SD Index: Billing Items per Material
- VRKPA Sales Index: Bills by Partner Functions
Stay tuned for the next use cases and follow me via @SDenecken for latest news.
Overview of SAP S/4HANA use cases: #S4HANA – the use case series – Intro & Overview