Problem statement – Product or Material?
In the past of software development at SAP, some areas use both terms Material and Product as synonyms – some use Product, some use Material. However, with development of S/4HANA both terms are aligned with their main meaning in the industry.
So, often there raises this question: Material or Product. In short, in S/4 world it’s Product. Thus, for Master Data Material/Product Maintenance, the reference Fiori App is “Manage Product Master Data”.
The SAP Object Type definition of Material below:
Material – a tangible product such as a sell-able article, packaging, auxiliary material and expendable supplies.
Product – a commodity that is the object of the business of a company and serves to create value for this company. A product can be tangible or intangible. A product can contain other products, or belong to another product, for example, display or gift sets. A product can have relationships to other products or objects.
We use the term product in S/4HANA Master Data Management to refer to any object that includes products, materials, articles, and services.
Due to the huge efforts involved, it will not be possible to change all the existing terms from material to product. The general standard that we follow in S/4HANA master data management is that for the new apps we refer to the term product, and in the backend, we continue to have references to materials. In addition to this, in the new apps, we now refer to material type as product type and material group as product group. Under the product type, we now have a new type SERV to refer to services.
Based on the context of the usage, application areas can determine the terminology to be used.
The CDS View I_Material has been created as the first VDM representation of table MARA that is the Business Suite master data table that represents Products. About 6 Months after that, this has been corrected by creation of I_Product, and I_Material has been deprecated (no deprecation annotation existing then), and development requests have been fulfilled in I_Product only. That view should have been used instead of I_Material since 2014. Unfortunately, most applications have started their development between both.
VDM process was not yet in place and before the central decision to go with the term ‘Product’ was taken in a S/4HANA Program Steering Meeting.
Applications agreed that the target architecture uses only Product. Material can only be used in user-facing UIs, where the term is established, or where the subject defines exclusively a tangible material.
As long as there is no reasonable filter on underlying table MARA for both implementations, that can distinguish the material from the non-material products, any implementation (model) that is named material is wrong per definition and may lead to false expectations.
Challenges of current implementation
There are two main challenges for Material views:
Violation of Principle of One: Similar implementations occur in parallel. Multiple implementations are available that serve (at least for tangible materials) the same reason.
Broken Semantics: The view of Material returns instances, that do not represent Materials, but Services.
Wrong expectations to returned instances are the main reason, why a release of Material would be challenging for customer data consistency.
There are – for historical reasons – many occurrences of Material in today’s model and implementation, that shall be transformed to Product.
I_Product is fully available, and customer released since several releases and can be used for all use cases of product including all past and existing occurrences of table MARA.
The usage is focusing on CDS views and derived artifacts. Legacy objects that have been existing prior to S4/HANA are not subject of this transformation.
General Development Guideline
The general recommendation for new applications is to adopt the term Product on the UIs and use CDS views I_Product* instead of I_Material*.
Several views exist that are based on CDS view I_Material (*). There are applications existing that are already building fully upon I_Product (*).
New development of features happens only in I_Product (*).
Start of transformation from Material to Product can be done without external prerequisite. The views of Product support all features of fields and associations of Material and can be used for all usages (renamed to fit terminology). But as the using views may be used, too, (either by other views or by other technologies), the artifacts cannot be simply replaced; there is no renaming in CDS, rename always means delete-and-create).
Therefore, the ‘Product’ fields and associations can be added in CDS Views next to ‘Material’.