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.