You can implement a generic drop handler in the backend which allows to handle drop-events on generic objects.
You first have to activate the drop in the default.txt:
plm.om.generic.business.object.<OBJECT_TYPE>.dnd.allowed = true/false
- where <OBJECT_TYPE> ist the object type of your generic object.
- default value is false, so initially the drop is disabled.
Then you have to implement the BAdI /DSCSAG/PLM_OBJ_DETAILS with the method GENERIC_DROPHANDLER.