cancel
Showing results for 
Search instead for 
Did you mean: 

Sales/Marketing Cloud Integration SOAP: How to handle additional IDs (ie. ERP ID) + Marketing Area

mattreiner
Explorer
0 Kudos
985

Hi Experts,

we are currently integration a Sales Cloud and a Marketing Cloud System for our customer via the new SOAP IF.

Handling of Sales Cloud Z-Fields seems to be clear. However is there an hint from SAP Dev. for how to handle these two issues:

1. We need to derive the Marketing Area from the Sales Org. and add the MKT Area to te replicated Accounts+Contacts in MKT Cloud. Problem: MKT Area is not available in the SOAP IF.

2. We need to replicate the ERP ID from Sales Cloud to MKT Cloud as additional ID and post ID/ ID_ORIGIN in MKT Cloud. Problem: Not possible via SOAP IF.

Would the recommended approach be to use a parallel OData channel?

Accepted Solutions (1)

Accepted Solutions (1)

SauMaris
Contributor

I agree with Joyca regarding first point.

Regarding second point, there is key mapping message that is received from C4C in MKT and that message contains different id's, including S4 or ERP id. That ID you should map in your "origins of id's" config.

Answers (4)

Answers (4)

hi together,

we opened an incident for that topic and got the following answer regarding the Additional IDs/Facets:

sap-answer.png

vervinckt_joyca
Active Contributor

Hi,

I succeeded in getting the ERP ID in SMC purely with the SOAP flows without oData, through the method that mariss. mentioned earlier, with the Key Mapping flow and the required settings in the configuration of the Origin SAP_ERP_BUPA.

0 Kudos

thanks Joyca and Maris. This would indeed be a better way than calling an additional ODATA.

vervinckt_joyca
Active Contributor

Hi Matthias,

For the Marketing Area, we use the custom logic mentioned on https://help.sap.com/viewer/8868e7c0c9bb4d2985075675a42af948/latest/en-US/e8ebd99f87a345b081dda78b16... "CUAN_BUPA_MAP_MKT_AREA Business Partner mapping: Adjust marketing area"

For the External ERP ID: I'm also interested!

We are currently struggling with the External ID the other way around.

In the SOAP interface, there is an artifact "Confirm Business Partner Replication from SAP Marketing".

This is writing an external id FROM marketing TO sales.

In sales, the external id is actually a table:

So an account can have both an ERP external ID and a Marketing External ID.

However, on the Account header data, just one External ID is shown in that field.

This makes it very confusing, because for accounts that do not have an ERP ID, the Marketing ID is shown now...

But, I'm just saying this because this would add extra complexity to interfacing the ERP External ID towards Marketing, as you could accidentally send the Marketing External ID back...

Kr

Joyca

mattreiner
Explorer
0 Kudos

Hi Joyca,

for MKT_AREA_ We came across that BadI however- how do you determine the MKT Area? Is the mapping logic (-> the table VKORG-MKT_AREA ) implemented/ hardcoded in the BadI? We also discussed this but from a maintenance perspective it seemed not ideal (compared to implementing the mapping table in CPI).

Best

vervinckt_joyca
Active Contributor
0 Kudos

Hi Matthias,

In my case, all data coming from Sales Cloud should be on the same marketing area, so I kinda hardcoded it in there.

I'm not a developer but based on the sample code I was able to write this. But this probably doesn't help you.

DATA lv_marketing_area TYPE if_cuan_bupa_map_types=>ty_ic_marketing_area.
lv_marketing_area = '2000'.
APPEND lv_marketing_area TO ic_marketing_areas.<br>
vervinckt_joyca
Active Contributor
0 Kudos

Hi all,

Coming back to Maris's tip on the ID mapping and my reply on Katharina's question,

Has anyone perhaps found a way to mass-trigger this?

What I mean is:

If I create a new account in ERP, it syncs to C4C, and C4C syncs it to marketing cloud, including the ERP ID.

But when there is already an existing account in C4C (that came from ERP and that existed already before configuring/activating this "ID Mapping flow"), I can't find how to trigger a sync on that existing account.

If I do a change on the business partner, only the "replicate business partner" integration flow triggers, and not the "ID mapping replication" flow 😞 the "ID mapping replication" only seems to trigger when new accounts are created...

former_member226
Employee
Employee
0 Kudos

Hi vervinckt.joyca,

It is possible to make a trigger for ID Mapping for an existing account. In such a case you can try to update the "ID Mapping for Integration" at C4C side (Administrator-->Common Tasks--> Edit ID Mapping for integration" ) using MS excel import feature or manually change.

When you hit save on that UI then your ID mapping iflow should be triggered in configured properly.

vervinckt_joyca
Active Contributor
0 Kudos

Thanks saurabhkabra2009.

Is that the only way? I discussed it with a colleague, and this seems dangerous. If there is the slightest mistake in the Excel, it could ruin the ERP-C4C connections (e.g. if there's a rogue semicolon somewhere that causes all the ERP id's to shift and connect the wrong ERP id to the wrong C4C ids...)

former_member226
Employee
Employee
0 Kudos

Hi vervinckt.joyca,

In such a case you can also use Data Workbench at the C4C side for the desired set of ID Mapping to be updated.(See: dwb.png) This will also trigger a change to CPI if the communication arrangement is configured properly.

BR

Saurabh

bruno_demedts
Discoverer

Hello saurabh.kabra ,

What we are actually requesting is a way to trigger the Id mapping flow for existing accounts without deleting the existing External ID first so that the system registers an update. This action is far too dangerous in a productive system with existing integration to and from ERP for over 50 000 accounts running 24/7.

We've also tested the Data Workbench option with "Object Identifier Mapping" Update. But for it to work, you first need to remove the external ID from all the accounts. Which is exactly what is to be avoided.
If you just export the Object Identifier Mapping, and import the same document again, it does not trigger the Id mapping flow to marketing.


former_member226
Employee
Employee
0 Kudos

Hi Bruno,

Unfortunately, I don't see this same behaviour in my c4c system. Here is what I have seen/done...

We have a set of customers with existing ID mapping for whom there is a need to update ID mapping. Now, at first, using the DWB export I have exported the relevant customers i.e. accounts. Once the data is in CSV format then I made an update to them via DWB import and there I see:

  1. it only updates the imported no record
  2. no deletion of existing record needed
  3. Finally, at the same time, a call to the external system was triggered.

Could you please check again the system behavior?

bruno_demedts
Discoverer
0 Kudos

Thank you for the reply kabras ,

Could you share the settings and details of the communication arrangment on your side?

When I perform the same actions as you:

1. take export of ID mapping with DWB for a few accounts

2. Make no changes to the .CSV file

3. Upload same CSV file for ID mapping with mode "update" in the import mode of DWB

4. no simulation mode, operation is succesfull

-_> Does not initiate the ID mapping flow to Marketing

Kind Regards,

Bruno

former_member226
Employee
Employee
0 Kudos

So in my last test/comment, I did make an update to the existing ID mapping whereas you are simply downloading the mapping and then importing without nay change to the CSV...This means that system will not recognize any change...therefore no call will be triggered.

So in principal, you need to make a dummy change to the existing mapping, only then system recognize a change that triggers a call to external system.

SCHNEIDERT
Active Contributor
0 Kudos

Hi Matthias,

interesting topic. How do you imagine to use OData in parallel?

What I could also imagine is to use Custom Fields.

1. Using a Custom Field for Sales Org you could then create Live Target Groups and assign the corresponding Marketing Areas via Application Jobs

2. Using Custom Field for the ERP-ID it should then be possible to use a BAdI to write the value of the field in the Additional ID field.

Maybe that could be an approach. But I'm interested in your OData approach anyway.

BR Tobias

mattreiner
Explorer

Hi Tobias,

#1 - yes. We have considered that solution but only as last fallback since it's an asynchronous process with all the downsides of it).

- OData approach: Our integrator would route the C4C message into two branches after MKT_Area determination and feed the SAOP IF + the OData IF (with the MKT_Area) in parallel.