In my company we don't use the standard checklist partner determination, instead I have a class where I search for the responsible for each checklist item in some Z tables according to some conditions and populate the partners for each item using the CRM_ORDER_MAINTAIN, and then gets the first item responsible and saves it as a responsible at header level.
Everything works fine when I create the service order using a dialog user. There are some situations in which there is not a unique responsible for an item, and in this situation the user has to select one of them on the combobox for partner for that checklist item, or can save the document with no responsible assigned there.
It happens that when I create a service order using an interface, my development is called, the partners are populated for all the checklist itens except for the one which does not have a unique responsable, and gets the first checklist item responsible and writes it at header data as a responsible. I maintainted a CRM_ORDER_READ just after my BADI implementation which saves the partner at header level, and the item which has more than 1 responsible has no partner. But after all the SAVE process, I display the service order and the item which should not have a responsible assigned, is populated with the header responsible.
I have the parameters for PARTNER INHERITANCE disabled on SMOFPARSFA table.
Any help would be apreciated!