This step-by-step document mainly follows the guide mentioned in SAP help:

(1) Create custom condition table via Sales and Distribution->Basic Functions->Cross Selling->Define determination procedure for cross selling->Create Condition Tables:

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.

Use 503 as condition table ID and generate it. Write down the name of this condition table: KOTD503 for later usage.

(2) Create a new Access sequence Z001, and assign the condition table created previously to it.


(3) Create a new condition type ZS01 and assign the access sequence created in step two to it.

(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.


(5) Define customer procedure for cross selling:

B for Cross selling:

And assign it to Sales document type OR:

(6) Create a new Cross Selling profile Z00001, and assign the cross selling procedure created in step 4 to it.

Assign this profile to a given combination of Sales Organization, Distribution Channel and Division, plus Cross selling procedure as below.

(7) Create Cross selling condition record via menu path: Sales and Distribution->Master Data->Products->Cross Selling

Use the condition type created in step 3, ZS01:

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:

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.

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,

the condition records maintained via conditiona table KOTD503(created in step 1) are retrieved.

Alternatively you can also switch on material determination trace for observation purpose.

网友评论