cancel
Showing results for 
Search instead for 
Did you mean: 

PS on ERP not update after changing person responsible on PPM Phase or Task

jeanbap2
Explorer
0 Kudos

I've implemented BADI DPR_FIN_GECCO_ATTR to update additional attributes on the ERP side, such as person responsible and some of the user fields.  In a normal create of the project everything works fine. When only the person responsible is updated in cProjects no update occurs on the ERP side.  Everything is updated properly on the PPM side, there is no error on COCPCPR, but the person responsible field is not updated.  If the person responsible is updated on the PPM side and also another field, like the long text, everything works fine. For some reason, the change of just the person responsible does not trigger a replication on the ERP side.

Has anyone come across a similar situation?  Is there a way to trigger that the ERP side should be updated?

Accepted Solutions (1)

Accepted Solutions (1)

jeanbap2
Explorer
0 Kudos

Hi Tamil,

I don't have a problem with the code.  It works corectly in all situations except for when just the person responsible on the PPM side is updated.  The BADI is executed, but no update occurs on the ERP side.  It appears that there is some kind of check against fields that are relevant for update on the ERP side.  If there were some error, I would be able to see it in the cockpit(COCPCPR) transaction, but nothing there.  Is there a way to make sure that the update on the ERP side always happen?  As I said before, if I change the person responsible and the long text field or any other field that is automatically updated on the ERP side, it works.

Former Member
0 Kudos

Hi Jean,

I am not sure but what is it you are passing from PPM to PS as part of person responsible. If you are passing Person responsible person name and number, you should have the same person name and number available on PS side also. If you are updating person responsible at PS side then please check OPS6 and update the entry if its not available there OR if updating applicant no. check OPS7.

Pramod

jeanbap2
Explorer
0 Kudos

Hi Pramod,

The person responsible entries are present on the ERP side, they are updated properly on a create and a change when other fields are also changed.  The only issue is getting the data transfered to ERP when only the responsible person is changed. I've set some breakpoints in routines that are executed on the ERP side for the attributes and they are not reached when only the person responsible is updated.  I think it has something to do with the fact that standard PPM does not replicate person responsible.  Since that is the only field changed, it does not trigger a needed replication on the ERP side.  I've also tried to programatically change on the user defined fields on the ERP side and no change on the ERP side.  Everything works fine if I also change another field that is relevant for the ERP replication.

jeanbap2
Explorer
0 Kudos

Hi Experts,

I've been able to identify the problem and need help with the solution.  The problem when just the person responsible is changed on a task in PPM is that change is recognized as a change to the object CL_DPR_ENTITY_LINK.  This type of change does not identify the task and insert a record in the change table for the task object.  In method ON_APPLICATION_OBJECT_CHANGED of class CL_DPR_APPL_OBJECT_CHANGE_MNGR the table mt_updated_objects needs to be updated with the task if it is not already present when this type of change occurs.

My question is how can I get the task object associated with the DPR_ENTITY_LINK object to insert into that table?

Points will be rewarded for right solution.

Former Member
0 Kudos

Hi,

Did you have a look at SAP Note 1696867?

Regards,
Matthias

jeanbap2
Explorer
0 Kudos

Thanks Mathias. It works for the phase but not the task.  I still need to get the task to update.

I've been able to identify the problem and need help with the solution.  The problem when just the person responsible is changed on a task in PPM is that change is recognized as a change to the object CL_DPR_ENTITY_LINK.  This type of change does not identify the task and insert a record in the change table for the task object.  In method ON_APPLICATION_OBJECT_CHANGED of class CL_DPR_APPL_OBJECT_CHANGE_MNGR the table mt_updated_objects needs to be updated with the task if it is not already present when this type of change occurs.

My question is how can I get the task object associated with the DPR_ENTITY_LINK object to insert into that table?

jeanbap2
Explorer
0 Kudos

I've resolved the issue by adding and implicit enhancement in method ON_APPLICATION_OBJECT_CHANGED of class CL_DPR_APPL_OBJECT_CHANGE_MNGR to inert the task object into table mt_updated_objects.  Had to get the task associated with the sender object by using method get_entity of DPR_ENTITY_LINK.

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi Jean,

If you could put your code(may be one field) here written in BADI DPR_FIN_GECCO_ATTR in ERP and how you did in cProjects, I can have look and able to give you answer. I did it 2 projects ago. I couldn't recall the code.