I have encountered a strange problem recently when creating custom set types. When a multi line custom set type is created (i.e. one of the atttributes assigned to the set type is set as key), I have found that out of all function modules that get generated, one function module with final suffix MAINTRD does not get generated. Due to this, when this custom settype is assigned to a product category(say CAT1) in the category hierarchy, and I try to open a product in transaction commpr01 that belongs to product category CAT1, it results in a dump. The dump occurs because it tries to call the function module with suffix MAINTRD dynamically but that does not exist.
I have also found that if the settype is single-line (i.e. no attribute of the settype is set as key), in that case this function module is generated correctly.
Please suggest why this happens and how can this be solved?