Quantcast
Channel: SCN : All Content - SAP Cloud for Customer
Viewing all articles
Browse latest Browse all 1183

C4C-ERP Integration: Update a C4C Prospect Account

$
0
0

Hello Community,

 

I am working on ERP-C4C integration. I have the following scenario.

 

  1. Integration is not bidirectional. I.e. Accounts are never sent to ERP from C4C.
  2. Prospects are created in C4C. Opportunities are created for Prospects.
  3. Upon reaching certain stage in Opportunity, a notification will be sent to ERP team, who will create an Account in ECC.
  4. This newly created Account should update the existing Prospect in C4C. I.e. Prospect should be converted to an Account without loosing the existing data (e.g. Opportunity)

 

Now the catch here is, upon receiving a message from ERP, system will update a Prospect or Account in C4C only if it finds an Internal ID that is mapped to the current External ID being passed. Else it will simply create an Account. Since the Prospect or Account created in C4C is not replicated to ERP, there won't be any ID mapping. Also there is no way, a current C4C Prospect will have an ERP Account ID mapped in ID mapping. Hence system will always create a new Account.

 

I have a work around. But it is not a good solution (at least for me).

 

  1. The notification sent to ERP team will contain the Internal ID of Prospect.
  2. While creating Account in ERP, this internal ID is entered in an extension field and passed through IDOC.
  3. The web service of Business Partner Replication will have two IDs. 1. Internal ID (actually this is the external ID) 2. Receiver Internal ID (Account ID in C4C).
  4. When the message is received in C4C, since it has the Receiver Internal ID, it will update the Prospect.

 

Now there are limitations or problems in this approach.

 

  1. When both IDs are present in the message, system updates a Prospect only for the first time. In other words, it updates only if there is no mapping exists for these two IDs. For the second time, since the mapping is already there, message processing will fail. So, the Receiver Internal ID should be sent only once.
  2. While creating account in ERP, if the C4C Prospect ID entered is wrong or not entered, then system will update the wrong Prospect or create a new Prospect in C4C.

 

Basically, SAP should have given some control here for partners to choose the operation that can be carried out by Business Partner Replication web service. For e.g. An Enhancement Option (BADI) could have been given to partners to decide if a message should Create or Update an Account in C4C (Based on matching multiple fields). But right now, as explained above, it is purely done based on Object Identifier Mapping.

 

Now, here comes my question. Is there any other way to update the C4C Prospect Account? I have the following things in my mind.

 

  1. When a Customer is created in ERP, fill the Internal ID (Account ID of C4C) automatically by calling a query service with mulitple selection parameters that will return the Internal ID of C4C Account. Or after getting the Internal ID in response instead of filling the field in ECC, using the Manage Object Identifier Mappings inbound service, update the ID Mapping. So that when Account reaches from ERP to C4C, it will update.
  2. We had raised PSM Release request for Object Identifier Mapping node in Business Partner BO. Now it available with write access. So I can actually do some work around using this node to manually update the account and stop the creation of new account. I am going to try that now. Will update.

Apart from the above, any other better solution?


Thanks & best regards,

Hari


Viewing all articles
Browse latest Browse all 1183

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>