SAP S/4HANA Cross Selling机制介绍
This step-by-step document mainly follows the guide mentioned in SAP help:
![](https://img.haomeiwen.com/i2085791/9220e0c55d991305.png)
(1) Create custom condition table via Sales and Distribution->Basic Functions->Cross Selling->Define determination procedure for cross selling->Create Condition Tables:
![](https://img.haomeiwen.com/i2085791/412ecac5137f1c39.png)
For my requirement, I would simply would like to make new material determined by existing material entered in Sales order line item plus customer as sold to party, so I only choose two fields: Customer and Material.
![](https://img.haomeiwen.com/i2085791/985817a3b04d2d89.png)
Use 503 as condition table ID and generate it. Write down the name of this condition table: KOTD503 for later usage.
![](https://img.haomeiwen.com/i2085791/ee05e1472d8662b8.png)
(2) Create a new Access sequence Z001, and assign the condition table created previously to it.
![](https://img.haomeiwen.com/i2085791/ca56d342dc8f151f.png)
![](https://img.haomeiwen.com/i2085791/8c54e84f9d8e56f8.png)
(3) Create a new condition type ZS01 and assign the access sequence created in step two to it.
![](https://img.haomeiwen.com/i2085791/6734e1a6595c5713.png)
(4) Create a new determination procedure ZS0001 based on Usage D ( Material Determination ), Application VS (Cross Selling) and assign the condition type ZS01 created in previous step to it.
![](https://img.haomeiwen.com/i2085791/60059064b99516a8.png)
![](https://img.haomeiwen.com/i2085791/ae11226113565d3a.png)
(5) Define customer procedure for cross selling:
![](https://img.haomeiwen.com/i2085791/184e36d34cb8d643.png)
B for Cross selling:
![](https://img.haomeiwen.com/i2085791/d38319c0970bfec5.png)
And assign it to Sales document type OR:
![](https://img.haomeiwen.com/i2085791/2963eec7a88b688b.png)
(6) Create a new Cross Selling profile Z00001, and assign the cross selling procedure created in step 4 to it.
![](https://img.haomeiwen.com/i2085791/2dc8df574888eb38.png)
Assign this profile to a given combination of Sales Organization, Distribution Channel and Division, plus Cross selling procedure as below.
![](https://img.haomeiwen.com/i2085791/ab98d58aa9e4b19f.png)
(7) Create Cross selling condition record via menu path: Sales and Distribution->Master Data->Products->Cross Selling
![](https://img.haomeiwen.com/i2085791/494f21feea9acf48.png)
Use the condition type created in step 3, ZS01:
![](https://img.haomeiwen.com/i2085791/5c6dc56c27d2bc61.png)
Suppose I have three products with ID 11, 13 and 14. When 11 is entered in Sales Order line item, I would like that 13 and 14 are automatically determined for cross-selling purpose.
As a result I maintain the following condition record for material 11 as base:
![](https://img.haomeiwen.com/i2085791/ab5f833a195af929.png)
Now it’s ready for test. Create a Sales order with type OR, maintain 11 as line item and press enter key, another two materials 13 and 14 are determined and displayed in popup as expected.
![](https://img.haomeiwen.com/i2085791/9052638867cdb213.png)
Set a breakpoint on condition determination entry point function moduleSD_COND_ACCESS to observe how they are determined.
Based on the passed application VS ( cross selling ), ZS01(condition type) and sales area data,
![](https://img.haomeiwen.com/i2085791/ddf3539f965508dc.png)
the condition records maintained via conditiona table KOTD503(created in step 1) are retrieved.
![](https://img.haomeiwen.com/i2085791/d01c28c5dc28f4e0.png)
Alternatively you can also switch on material determination trace for observation purpose.
![](https://img.haomeiwen.com/i2085791/851085a8c55fe10f.png)