I have created a video on the topic of my presentation at SAP Teched Las Vegas 2014.
I believe that the slides is a must view before you start doing any integration. It will save you a lot of time. I guess I would have saved maybe a week in my integration if I had got this information on the firewalls earlier.
You can view the video at
http://sapexpert.tumblr.com/post/104848887753/how-to-integrate-with-sap-cloud-for-customer-c4c
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
How to integrate with SAP Cloud for Customer/Business By DEsign
1. Experience with SAP Cloud for
Customer and SAP Process
Orchestration
DANIEL GRAVERSEN FIGAF APS
DANIEL GRAVERSEN DGR@FIGAF.COM 1
2. Agenda
Project
Connectivity
SAP Standard
Custom Fields
Steps of Synchronization
DANIEL GRAVERSEN DGR@FIGAF.COM 2
3. Daniel Graversen
• SAP XI/PI consultant since 2004
• SAP Mentor since the fall of 2009
• Currently working as freelance consultant in Denmark
• I have worked on one project on SAP Cloud 4 Customer
DANIEL GRAVERSEN DGR@FIGAF.COM 3
4. Focus of the Project
The main focus of the project was to synchronize SAP Cloud 4 Customer master data with an Internal
system using SAP PO as middleware.
My goal is to be able to synchronize Customer, Address and Contacts in both directions.
SAP ERP is not a part of the goal yet.
My work was focused only on integration; I cannot describe how C4C works in regards to other aspects.
DANIEL GRAVERSEN DGR@FIGAF.COM 4
5. Interface
The Cloud 4 Customer comes with a series of interfaces.
Here is the list for managing different Business Objects in the system.
There are 3 types of operations:
• Manage
• Query
• Create/Trigger
DANIEL GRAVERSEN DGR@FIGAF.COM 5
6. API
The API is self-explanatory, based on the query to identify what was saved on a customer template.
Each interface has a documentation in the cloud system.
I have not found in-depth field description.
Action codes are used for performing actions.
01 — Create
02 — Update
03 — Delete
04 — Save
05 — Remove
06 — No Action
DANIEL GRAVERSEN DGR@FIGAF.COM 6
7. Connectivity
Connection to C4C is simple, just connect through HTTPS on 443 as in the endpoint.
When sending data from C4C it also needs to be through HTTPS.
HTTPS can only be used on the following ports:
443
44300-44302
44305-44307
44320
The IP of the SAP server seems the same, but it may change.
DANIEL GRAVERSEN DGR@FIGAF.COM 7
8. Reverse Proxy
A Reverse proxy only allows data on a specific URL and forwards this to the SAP PO system.
Only connect through the HTTPS protocol and only access specific URLs. This will limit potential security
threats.
The attacker needs to get hold of the Reverse Proxy server in order to use the access to gain more
control of the data.
Firewall Reverse SAP PO
Proxy
SAP Cloud Open on one port
DANIEL GRAVERSEN DGR@FIGAF.COM 8
9. Poor Man’s Reverse Proxy
The ICM from the NWA is configured in such a way that it will only allow one URL to be handled on the
server. No other URLs are allowed.
SAP PO
Use ICM
SAP Cloud Open on one port Firewall
DANIEL GRAVERSEN DGR@FIGAF.COM 9
10. ICM Filtering
In order to filter request a rule, it has to be configured in
usrsapPODSYSglobalsecuritydataicm_filter_rules.txt
The request will only be allowed through the PI soap adapter. All other requests
will be rejected.
if %{SERVER_PORT} stricmp 443 [AND]
if %{PATH_TRANSLATED} !regimatch /XISOAPAdapter.*
RegForbiddenUrl ^/(.*) -
Could probably extend with sender system.
DANIEL GRAVERSEN DGR@FIGAF.COM 10
11. SAP Package
It is placed in 3 components of the software that should be imported.
Integration scenarios are shown in the flow chart.
Master data contains 3 IDOCs in both directions (inbound and outbound).
There is also a scenario for sales data.
External numbering should be configured in SAP.
This is currently not in our scope.
DANIEL GRAVERSEN DGR@FIGAF.COM 11
12. Custom Fields
Many companies have their own attributes on objects.
The C4C system is flexible and allows the addition of new fields
Can be done without programming in the case of simple fields.
DANIEL GRAVERSEN DGR@FIGAF.COM 12
13. Enhancing the UI
The standard interface can be enhanced with custom fields without any coding.
[SCRREN]
DANIEL GRAVERSEN DGR@FIGAF.COM 13
14. Enhancing Interfaces
Add the desired field to the relevant web services.
DANIEL GRAVERSEN DGR@FIGAF.COM 14
15. Coding
It is possible to enhance applications by adding or enhancing a different business object.
The SAP Cloud Applications Studio uses a Visual Studio plugin for this process.
It is possible to create and enhance screens, web services and other kinds of logic.
There are some great tutorials for figuring out how to create different objects.
The project did not require dealing with this, since enhancement performed by only adding fields could
be done using the interface.
DANIEL GRAVERSEN DGR@FIGAF.COM 15
16. From C4C to Third Party
C4C SAP PO
Customer
Address
Contacts (ignored)
B3PPMLN
Query Accout
Create/update Customer
Account response
Create/update Response
Update Customer with 3PL id
Update ignores
Create/Update Contacts
Create/Update Response
Update contact with 3PL id
Update ignores
One change updates all
objects.
Query of the contact
gives all required
information for update.
Update 3PL id back to
cloud system.
Repeat for each contact
DANIEL GRAVERSEN DGR@FIGAF.COM 16
17. Create Customer from Third Party
C4C SAP PO
Customer
Create Customer
B3PPMLN
Query Accout
Account response
Signal not to update 3PL
Update Customer with all info
Update ignores
Custom create response
DANIEL GRAVERSEN DGR@FIGAF.COM 17
18. Contact Update
C4C SAP PO
Contact Create/update
B3PPMLN
Query Accout
Account response
Update contact with all info
Update response
Contact response
Need the
contact address
DANIEL GRAVERSEN DGR@FIGAF.COM 18
19. Update Messages
The create customer message is sent each time the customer is modified. It consists of 3 messages:
● Customer
● Main Address
● Contact persons
In our case, this trigger starts the process of updating the message.
● Change the customer
● Update the address
● Add/change a contact
● Modify using web service
We were about to filter out the web service requests.
DANIEL GRAVERSEN DGR@FIGAF.COM 19
20. Numbering of Customers
Customers created in SAP will have the following numbers:
Internal number 100000 as default - but it can be changed.
Customers created using the create customer API must have either or both:
● Internal ID in a predefined range of 200000 or a-xxxxxx
● External number
An external number can range up to 700000000, therefore it must be created in SAP as external
numbering.
DANIEL GRAVERSEN DGR@FIGAF.COM 20
21. Update on Customer Object
Updates to the cloud system on an account will trigger the change message.
I would like a way of knowing how to trigger the update. This would allow me to determine if the
update had been made by a user or the interface.
Is performed using signals between the BPM processes
DANIEL GRAVERSEN DGR@FIGAF.COM 21
29. Links
Help and release notes
http://help.sap.com/cloud4customer
SAP Community Network
http://scn.sap.com/community/cloud-for-customer
Enhance UI and web services
http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/10c2c67e-05b1-3110-9888-
d407b5c8e6ca
SAP Cloud Applications Studio guides
http://scn.sap.com/community/business-bydesign/studio
DANIEL GRAVERSEN DGR@FIGAF.COM 29