SAP CRM Location Assignment的实现原理

I have assigned relationship PRDLOCS to product category MAT_HAWA in CRM:

And I create a product based on category MAT_HAWA. To my surprise, I could not see Location assignment block as expected.
I use the following test code in my utility class to list what exactly relationships assigned to my product:

In the list result, PRDLOC is NOT there ( only PRDLOI ).

So I begin to debug function module COM_PRCAT_IL_REL_GET_RELTYPES:

I could see PRDLOC is selected successfully from database table, so it must be filtered out somewhere else.

Soon I found there is a special check routine for PRDLOC:


It will call its dedicated check function module:

This check function module will check whether MARC and MARC_KEY is registered for adapter object MATERIAL in tcode R3AC1.
After I add these two missing entries,

The expected relationship PRDLOC is now available for my product.

And finally I could see the Location assignment block in Overview page.

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

原文地址:https://www.cnblogs.com/sap-jerry/p/13568463.html