Why is substitution necessary?
Substitution process is triggered when the requested item is unavailable due to various factors like out-of-stock, out-of-maintenance, sunset of the item, newer version availability in market and item cannot be sold in the region. With these factors as influencers, we as product specialists would be able to define substitute items as alternatives to the requested product, so that user of the item gets an option to choose amongst similar FFF (form, fit and function) class.
How does SAP S/4HANA aATP enable to define the substitution?
From S/4HANA Cloud Edition- 2008, Advanced Available to Promise has introduced a generic framework, which allows users to define substitutes. To define substitutions, the user needs to be assigned to the ‘Product Specialist – Master Data’ persona, Once this persona is assigned, the user would be able to see the catalog of Product Substitution and respective apps.
Picture#1: View of Product Substitution catalog
In Product Substitution catalog, you can view the following 5 apps ;
- Manage Substitutions – Products
- Manage Exclusions – Products
- Manage Substitution Groups – Products
- Manage Substitution Controls – Products
- Manage Substitution Reasons – Products
The main defining app is Manage Substitutions – Products, which enables the user to define the substitutions. The other four apps facilitate to define the substitution.
Before the user starts to use the Product Substitutions app, the user must get the role R0097-13 ( Master Data Specialist – Product Data)
Purpose of each app:
The main app – Manage Substitutions is used to define the substitution for the products related characteristics / attributes that supports the user to understand the substituted product with its respective reasons
Picture#2: List Report of Manage Product Substitution app
In the above picture, you can notice the details of the product and its substitute. We have the Smart filter-bar, which enables the user to filter the values of records that needs to be displayed in the table. The table displays details regarding the product and its substitute and other details like plant dependent. The table also displays information regarding the exclusion status of the substitution. If the product substitution is to be excluded from substitution then the same needs to be maintained in the Exclusion app.
Further in the table, the user will be able to view the reason for the substitution and the status of the substitution, if it is ‘Active’ or ‘Inactive’.
Picture#3: Object Page of Product Substitution
Navigating into a specific product, we can notice that the window is sized to Master-Detail window, where the details are listed on the right side and the other product details are listed in the left window panel. In the Object Page, we can notice the product and its substitute product, Plant details and the status of substitution along with administrative data.
In the facets, the user can view the reason for substitution, lead indicator (incase the business needs a particular substitute to be the lead in substitution process then the same can be arranged by maintaining the lead indicator) and the sequence of substitution.
The following facets depicts the list of predecessor and successor substitution chains to see the products that were before substituted and next substitute products that would be substituted for the product.
In the substitution app, the user can notice the View Graph button which is located next to global edit and action buttons.
Picture#4: View Graph button in Object Page header
Picture#5: Product Network Graph
View graph displays schematic representation of the predecessor and successor products, that was depicted in tabular format in the Object Page. User can notice the direction flows and also the color coding for each box, the detail of the color coding can be referred in the legend section which is located on the right panel.
When the user navigates from the Object Page to View Graph, context is set (the starting product, which determines the predecessor / successor products), The filter bar shows the preset values that are considered for the generation of the graph.
To support the main app – Product Substitution, the other 4 apps provide the required attributes and provides more meaning for defining the substitution.
The Reasons app is very simple app. It enables the user to define the reasons which can be used in any the substitution / exclusion. In the catalog, Reasons app is listed as a link, on launching the app, the user will be directed to the List Report page of the Reasons app, where you will notice the list of defined reasons with administrative data and timestamp information.
Picture#6: List Report of Reasons app
On clicking on chevron, the details of the reasons can be viewed.
Picture#7: Object Page of Reasons app
The defined reason can be used in Substitution and Exclusion app for providing brief explanation on why the substitution / exclusion of the product is taking place.
Control and Groups app:
The groups app is used to segregate common feature / functional products or to bundle related items together for ease of substitution.
The controls app is used for defining region / event, so that relevant groups can be used
Picture#8: Object Page – Control app
In the control app, the user can notice the Control name and description and the associated Administrative data(last changed and created by information). The control app has the option to assign the groups.
For example: control can be considered as defining events like Big Billion Sale and the groups can be defined like Flagship mobile phones that are planned to be sold during the sale day.
Now we come to the last app of Product Substitution – Master Data catalog and that is exclusion app.
As the name suggests, this app is used to define the product that needs to be excluded from the substitution process.
Picture#9: Object Page – Exclusions app
A product can be defined for exclusion and if the exclusion is in status “Active” then during the substitution cycle that product does not come up and it is clearly shown in the table.
Picture#10:Product Substitution where a product is excluded
Note: Exclusion based on time range based validities are not a part of the current shipment but will be featured in subsequent releases.
Further detail read for Product Substitution https://help.sap.com/viewer/f132c385e0234fe68ae9ff35b2da178c/LATEST/en-US/8a7dea8cc1a4421e97acb2463f544b2b.html
Incident component for clarifications: CA-ATP-SUB
Nice blog, thanks Arvind!
Small question. Component CA-ATP-SUB is not available in S/4 1909. So how the substitution functionality can be used in 1909. Because Material determination / Product selection functionality will not work with aATP as per the SAP restriction note 2518072. Any input will be of great help.
Thanks for your comments. You are correct, that the Substitution framework for Products will be available only from CE-2008 and OP-2020 can use the framework. aATP consumption for the framework is available from CE-2011 and OP-2021.
Substitution Framework and aATP consumption will not be available for 1909 release and downport will not be an option as we have used newer technologies for the framework, which are not available in lower releases of S/4HANA
Thanks a lot for your post. I wanted to confirm the following with you:
a. Use of Group and Control is optional ?
b. Do we have a standard API available to be used with Product Substitution for integration with external applications ?
c. The link help for data retrieval logic for Product substitution ( https://help.sap.com/docs/SAP_S4HANA_ON-PREMISE/f132c385e0234fe68ae9ff35b2da178c/34473cc234f443dc89af5891234c0e9e.html?version=2021.002 ) is a little abstract. Do you have a blog planned to explain this better ?
d. How does this work with the native material substitution ? Is there a plan to replace the traditional material determination with the Product Substitution ? I think product substitution is available for all materials, even if they do not have an ATP check relevant for aATP. Is that correct ? How does the flag for aATP and eSPP relevant for Product Substitution ?
Appreciate your help
Thanks for bringing up the questions. Let me answer them in the same sequence:
a. Yes, the usage of Groups and Controls is optional.
b. There are standard APIs available - be it Cloud or OnPremise - with which you can do CRUD operations.
c. There is currently no blog available for technical details on data retrieval logic. I understood you are interested in more technical details, is this correct?
d. I assume with native material substitution you are referring to transaction VB11. There is no plan to replace vb11 with the aATP Product Substitution. The material determination (vb11) is applied when entering a material in the order such that one MATNR is replaced by another MATNR. Afterwards the ATP check is called to get hopefully a confirmation.
On the other hand, the aATP Product Substitution is integrated into the ATP check (advanced ATP required) such that the confirmation can be given automatically following rating attributes and hard constraints. That means the decision to substitute or even using multiple products is based on the calculated confirmation situation! Furthermore it can be combined with Plant and Storage Location substitution.
Within the substitution master data your find the flag aATP and eSPP which indicates where the substitution data is used as they are not exclusively for aATP. This reduces maintenance efforts at the end.
For more information about the usage of Product Substitution in eSPP, please see corresponding help.
Thanks a lot for your responses. That was really very helpful.
a. The help on the data retrieval logic is a little fuzzy and it would help to have that documentation explained with a blog. I will look forward to a blog that can explain the same.
b. Your comment on the use of the flag for aATP and / or eSPP in the maintenance master indicates that this is only for information that these substitutions are used with aATP and with eSPP ? I think the help mentions that if you mark the flag for aATP, the concept of groups is not supported.
Based on your response, my understanding is that the ATP check rule assigned to the material master ( either native ATP or aATP ) does not have any influence on this functionality and this would be called purely based on the master data maintained. It will always be carried out for a sales order line item as long as the master data has been maintained. Is that correct ?
Thanks a lot again for your response
good to hear that the response was helpful. Let me do it again ;-).
a. Got that point. Let me address this. I suggest to subscribe to the tag 'SAP S/4HANA for advanced ATP' which provides you with the updates on new blog posts.
b. You are right, it is important to consider the supported functionality according to documentation. However, there is a bug in documentation where fixing is ongoing. Please find correct information in note 3151710.
The activation of advanced ATP in OVZ2 does not influence the material determination (VB11) logic. With the advanced ATP you have the possibility to use Product Substitution master data such that Alternative-Based Confirmation (ABC) uses it to substitute one product with another one. With classic ATP you do not have ABC and aATP Product Substitution.
To ensure there is no confusion on Material Determination (VB11) and SD Product Selection, as this was happening in the past, I add an additional note to my reply here 2901249 .