I need to get the data from SAP and put it into salesforce. However, the access would be limited in the sense that the changes in salesforce will not be reflected in SAP but the changes in SAP will update the data in salesforce. Can you give me a list of options/methods to implement this in salesforce? Is there any way to for salesforce to pull data from SAP only? (SAP will not PUSH data)
If you want to develop your own solution, follow the steps below:
- Expose the api from the SAP system which will fetch data from the sap after receiving the request from client.
- The client here will the salesforce which will request for the data to be fetched from the sap with the flag field which will help to search for the records which are updated in sap and not all the records.
- So this requests will happen as per your frequency using the schedular class in sfdc and adding the asynchronous context to it(for making the callout).
- After receiving the data parse the respone and add it list then Upsert the list.
Let me know if some more pointers are needed.
There are several third party solutions which offer a bi-directional sync between Salesforce and SAP. Some of these are
As stated, these do a bi-directional sync - pull data from Salesforce and push into SAP as well as pull data from SAP and push into Salesforce. There's some flexibility to configure and define the data that you want to push/ pull each way.
There are couple of options that you have:
Use any Cloud ETL tool as mentioned above by Gaurav Kheterpal. Most of these tools charge you per connection.
Since it is single direction, you can put the data in a CSV in a sftp or ftp, and you can use any data loader (like Jitterbit ) to push that data into SFDC. If you do not have any transformation in between, Couple of these tools can be free.
Use a free tool like Talend Open Studio, It's a free enterprise quality tool (most part of it is free). It's a on prem tool, so you may have to consider your IT strategy before you choose any on prem tool (as you may already know :-) ).
I have a quick question for you (food for thought), what is going to be your trigger point to initiate the integration.