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的原创文章,请关注公众号"汪子熙":

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/24475491/viewspace-2722474/ ,如需转载,请注明出处,否则将追究法律责任。