Product substitution also known as material substitution is used to replace an existing product in a quote with another. This could be because of the older product is no longer continued and is replaced by the new product.
In Mind Cloud Digital Sales Platform (DSP) supports two modes in product substitution, automatic substitution, and manual substitution. Automatic substitution, as the name implies silently replaces the old product with the new product. In Manual substitution mode, if a substitute product is found, the user is notified, and it is up to the user to decide whether to substitute or not.
Related Boolean settings:
- SettingEnableProductSubstitution (Enable product substitution) – enable/disable product substitution in trigger points mentioned later in this section for the entire DSP.
- SettingEnableProductSubstitutionAtQuoteSubmit (Enable product substitution at quote submit) – enable / disable automatic mode product substitution at quote submit. This will be effective only if Enable product substitution setting is turned on.
Product Substitution Scheme
DSP Product Substitution is a re-implementation of an SAP ERP feature popularly known as material determination/substitution. In this In Mind uses the same data as a customer might have created in their ERP system and follows the same logic in principle to substitute a product.
The data for product substitution is maintained in lookup tables in DSP. In addition, a Product Substitution Scheme is used to define the sequence of steps and the lookup tables involved in each step to make effect a substitution. Thus, making the implementation-independent of SAP ERP Tables.
However, as most customers would already have the data in standard ERP tables, we take an example by referring to them here.
In DSP, we have also added three lookup tables by default. These tables are:
- KOTD001 – This table holds information on an old product, substitution validity period, and condition record number.
- KOTD502 – This table holds information on old products, substitution validity period, company code, and condition record number.
- KONDD – This table holds information on condition record number, new product, and substitution reason.
For more information on these tables please refer to SAP ERP documentation.
The important thing to note is that if a customer chooses to use this data in DSP, the above mentioned three tables can be synchronized to DSP directly without the need to create them.
The corresponding lookup table in DSP are:
Table 1 - KOTD001 Lookup Table
Field Name |
Description |
Search Expression |
---|---|---|
MATWA |
Old product’s ERP ID |
SalesItem().isProduct.objectERPId[0] |
DATAB |
Valid from date |
|
DATBI |
Valid to date |
|
KNUMH |
Condition record number |
|
Table 2 - KOTD502 Lookup Table
Field Name |
Description |
Search Expression |
---|---|---|
MATWA |
Old product’s ERP ID |
SalesItem().isProduct.objectERPId[0] |
BUKRS |
Company ERP ID |
Quote().hasSalesOrg.containsCompany. objectERPId[0] |
DATAB |
Valid from date |
|
DATBI |
Valid to date |
|
KNUMH |
Condition record number |
|
Table 3 -KONDD Lookup Table
Field Name |
Description |
Search Expression |
---|---|---|
KNUMH |
Condition record number |
|
SMATN |
New product’s ERP ID |
|
SUGRD |
Reason for material substitution |
|
NOTE: Product substitution reason ERP IDs (which matches SUGRD of KONDD lookup table) needs to be maintained in master data, as shown below.
Product substitution determination logic goes through the steps defined in the scheme one by one in the defined sequence, in each step, it looks for a matching record with the given input and if a matching record is found it returns the condition record number (KNUMH) of that record. Once a condition record number is found, the rest of the steps are not evaluated.
For the found condition record number, DSP next tries to match the condition record number with a record in KONDD table. If found, the new product ERP ID and the reason for substitution ERP ID is retrieved from the matching record. Also, note that automatic or manual substitution is based on the reason for the substitution.
For each step of the scheme, the quote pricing data and the data points defined by the search expressions of the lookup table are made available to the step. For more information on search expression please refer to Internal Price Engine Guide.
Taking an example here, in “Company Code Based Substitution step” in Figure 49 above, since table KOTD502 is being used, which uses search expression for old product ERP ID and company ERP ID. These two attributes are supplied as input to the table apart from the default value of the quote pricing date. Because the condition record validity is determined based on the quote pricing date.
Also, note that the scheme is used only to find a matching condition record number. Once found, finding the product to substitute with is determined from KONDD which, is not directly part of the scheme but is an inbuilt step/logic of the implementation.
Product substitution trigger points
Please refer to the following sample data in lookup tables for the rest of this section.
Adding a product to quote
Product substitution kicks in when a product is added to the quote. That is at the time of line item creation. The added product is looked up for a substitute product as per material determination logic and if found the product is either automatically replaces or shown to the user to be manually replaced.
Automatic substitution mode
In the example product, the added product was automatically substituted.
Manual substitution mode
The user can choose to manually replace the product in the shown screen.
Manual execution
At any point in the quote if the user wants to check for a substitute product, he can do so by clicking the action as shown above. As no line items were selected the system will try to check the product substitution for all the sales items in the quote. However, if the user selects sales items and clicks on the same button, product substitution will be executed only for those selected sales items. In both cases, the subsequent action, which is the result of substitution being automatic or manual, is governed by the reason for the substitution as maintained in the data.
As quote pre-submit check
Another system enforced yet setting a controlled trigger point for material substitution is at Quote Submit. DSP will automatically look for substitute materials at this point for all the items in the quote. For this to work one has to keep the following settings enabled:
- SettingEnableProductSubstitution (Enable product substitution in general)
- SettingEnableProductSubstitutionAtQuoteSubmit (Enable product substitution at quote submit)
If substitute products with substitution reason automatic are found, the quote submission process is stopped, and the user is prompted to replace the products manually.
This image shows the example where upon quote submit a substitute material was found. Since the substitution reason is automatic, the user needs to replace the products for quotes to get submitted.