CRM and CX Blogs by SAP
Stay up-to-date on the latest developments and product news about intelligent customer experience and CRM technologies through blog posts from SAP experts.
cancel
Showing results for 
Search instead for 
Did you mean: 
jan_kaemmerle
Product and Topic Expert
Product and Topic Expert
1,315

Introduction


The SAP standard package "SAP Cloud for Customer Integration with SAP Marketing" (Integration Flow | SAP Cloud for Customer Integration with SAP Marketing | SAP Business Accelerator ...) for the integration between SAP Sales Cloud (C4C) and SAP Marketing Cloud (SMC) provides several iFlows for the replication of account/contact and transactional (lead, activity, etc.) data.

With release 2308, the feature "Segmentation Attributes for Account Team Members" (Interaction Contact Attributes | SAP Help Portal) will be available in SMC. To make use of the new segmentation attributes, the Account Team Member entity needs to be filled properly by C4C.

However, in the above mentioned SAP standard package, there is no iFlow for the Account Team Member replication included. Therefore, a custom approach needs to be implemented in SAP Cloud Integration (CI) to fulfil the usage in segmentation and also in the email personalization scenario.

Architecture


To replicate the Account Team Members from C4C to SMC, an iFlow needs to be created in CI. The iFlow needs to pull the data on a frequent base (e.g. scheduling: each hour) from C4C.

The OData Adapter in CI can be used to access the C4C OData Service "CorporateAccountCollection" for replication of the "Account Team Members - Account Relationship".

Then the mapping (see section "CI Configuration - Mapping") to the OData service "API_MKT_CORPORATE_ACCOUNT_SRV;v=0003/AccountTeamMembers" needs to be done, to send the data to SMC.



Please notice:


In the above illustration, also the "Account Team Members", so the Employee master data, is included. The C4C OData service "EmployeeBasicDataCollection" can be used in addition, to load further employee data (needs to be stored in custom fields or customer business objects in SMC).


However, within SMC, the employee master data is already provided in the app "Maintain Employees". The attributes "First Name", "Last Name" and "Email Address" are provided in the standard. The replication of further employee data is in most customer scenarios not needed.

Therefore, this blog focuses on the integration of the "Account Team Members Account Relationship" only.

C4C Configuration


Create Communication System for OData communication


A communication system needs to be created, to fetch the Account Team Members from C4C.






















ID e.g. SMC_AEI (Account Employee Integration)
SAP Business Suite No
Host Name AEI
System Access Type Internet

In the technical information under system instances the following entry needs to be created:











System Instance ID SMC_AEI
Preferred Application Protocol 6 - Http

Create Communication Arrangement for OData communication


A communication arrangement with communication scenario "OData Services for Business Objects" needs to created.


In the communication arrangement the following OData services have to be assigned:

  • businessuser

  • customer

  • employeeanduser

  • employeebasicdata


C4C Payload example


When fetching the "CorporateAccountTeamCollection" from C4C, the JSON payload looks like below.

GET:    https://<host>/sap/c4c/odata/v1/c4codataapi/CorporateAccountTeamCollection
{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<host>:443/sap/c4c/odata/v1/c4codataapi
/CorporateAccountTeamCollection('00163E04B6021ED2B7C1BAE7533304F2')",
"type": "c4codata.CorporateAccountTeam",
"etag": "W/\"datetimeoffset'2015-07-06T08%3A45%3A26.6721490Z'\""
},
"ObjectID": "00163E04B6021ED2B7C1BAE7533304F2",
"ParentObjectID": "00163E04B6021ED2B7C1B5AF23E884C7",
"AccountID": "1000001",
"EmployeeUUID": "00163E03-A070-1EE2-88BA-37FB8F5F50A9",
"EmployeeID": "E1000",
"PartyRoleCode": "142",
"PartyRoleCodeText": "Account Owner",
"StartDate": "/Date(-62135769600000)/",
"EndDate": "/Date(253402214400000)/",
"MainIndicator": true,
"SalesOrganisationID": "",
"DistributionChannelCode": "",
"DistributionChannelCodeText": "",
"DivisionCode": "",
"DivisionCodeText": "",
"ETag": "/Date(1436172326672)/"
}
}
]
}
}

CI Configuration


The iFlow is executed periodically to fetch the Account Team Members from C4C.
Then the mapping to the OData service is done and the data needs to be replicated to SMC.



Mapping


In the iFlow, the mapping of the C4C OData service to the SMC service needs to be maintained. Following fields need to be mapped.

All fields of the mapping are mandatory.






























C4C OData SMC OData Comment
CorporateAccountOrigin Default value: "SAP_C4C_BUPA"
AccountID CorporateAccountID
EmployeeID TeamMemberID
PartyRoleCode Role

Please notice:

  1. The "Employee ID" that is replicated from C4C, needs to have the same value as in the field "Employee ID" in the "Maintain Employees" app in SMC.
    If you don't use the same Employee ID (e.g. usage of automatic generated P-Numbers in SMC / different IDP in both systems / etc.), then you need to perform an additional mapping in the iFlow. This mapping needs to be adopted if you create/change the employee data in one of the systems.

  2. The "Sales Area Data" that can be maintained in C4C standard on the Account Employee Relationship, are not considered in SMC standard. If you need to have sales area specific relationships, e.g. mapped to the marketing area, then you need to store the data in a custom business object.


SMC Configuration


OData "Account Team Members"


To replicate the "Account Team Members Account Relationships" to SMC, the below mentioned OData service needs to be used. Please have a look at the SAP-Help documentation of the OData service for more information:
Payload Examples for Corporate Accounts | SAP Help Portal

POST:    https://<host>-api.s4hana.ondemand.com/sap/opu/odata/sap/API_MKT_CORPORATE_ACCOUNT_SRV;v=0003;v=/$ba...

Please notice:

The function import "CorpAcctDeleteAllAccountTeamMembers" needs to be included in the payload for the correspondent account. This ensures that just the actual employee relationships are available in SMC.

The attribute "Sap-Cuan-Request-Timestamp" of "CorpAcctDeleteAllAccountTeamMembers" needs to be set to an earlier timestamp as for "AccountTeamMembers". Else the sequence of the changesets will be in the wrong order.
--batch
Content-Type: multipart/mixed; boundary=changeset_761e49b6-3146-4a57-8d10-15816fb9c75a

--changeset_761e49b6-3146-4a57-8d10-15816fb9c75a
content-type: application/http
content-transfer-encoding: binary

POST CorpAcctDeleteAllAccountTeamMembers?CorporateAccountID='<CorporateAccountID>'&CorporateAccountOrigin='<CorporateAccountOrigin>' HTTP/1.1
Content-Length: 1035
Accept: application/json
Sap-Cuan-RequestTimestamp: '2017-10-02T12:13:10'
Sap-Cuan-SourceSystemType: EXT
Sap-Cuan-SourceSystemId: HYBRIS
Content-Type: application/json

{
}

--changeset_761e49b6-3146-4a57-8d10-15816fb9c75a
content-type: application/http
content-transfer-encoding: binary

PUT AccountTeamMembers(CorporateAccountID='<CorporateAccountID>', CorporateAccountOrigin='<CorporateAccountOrigin>',TeamMemberID='<TeamMemberID>',Role='<Role>') HTTP/1.1
Content-Length: 1035
Accept: application/json
Sap-Cuan-RequestTimestamp: '2017-10-02T12:13:20'
Sap-Cuan-SourceSystemType: EXT
Sap-Cuan-SourceSystemId: HYBRIS
Content-Type: application/json

{
}

--changeset_761e49b6-3146-4a57-8d10-15816fb9c75a--
--batch--

Team Member Data in Segmentation


With release 2308 the below segmentation attributes will be provided by the standard for the segmentation profiles "All Accounts" and "All Accounts and Contacts".


The below mentioned attributes are provided by the data load from C4C:

  • Employee ID of Account Team Member

  • Role of Account Team Member


All other attributes are determined from the employee data within SMC (app "Maintain Employees"):

  • Email Address of Account Team Member

  • First Name of Account Team Member

  • Last Name of Account Team Member


Team Member Data in Content Personalization


The employee attributes, like email, first name and last name, can be also used in the email content, e.g. to provide a personalized footer.
7 Comments