SAP integration into Office 365 and SharePoint is a typical project requirement, but sometimes not easy to solve. It is not about data migration only, it is about permanent integration in a hybrid scenario. And integration is not about displaying data in SharePoint, e.g. using Web Parts or BCS. It’s about FULL integration, e.g. in SharePoint search, content categorization, change notifications, workflows to start business processes right in SharePoint in case of SAP data changes. This article shows how easy full SAP-SharePoint / Office 365 integration is today using the Layer2 Cloud Connector and the Layer2 Data Provider for OData via SAP NetWeaver without any coding, with just a few minutes of configuration.
In this sample we are going to create a new connection in the Layer2 Cloud Connector, or copy from the existing SAP to SharePoint sample connection. It should be uni-directional SAP to SharePoint. Generally bi-directional connections are supported as well. You can enable background scheduling later on to update the SharePoint list automatically.
At this time the connection should look like this:
Fig.: SAP to SharePoint connection defined in the Layer2 Cloud Connector
We are going to use the new SAP NetWeaver demo portal as a data source. Please note that you must register to gain access. You will find a service description here
after login. Now it is easy to configure the SAP data source in the Layer2 Cloud Connector. It should look like this:
Fig.: SAP data source defined in the Layer2 Cloud Connector.
To access the SAP data please select the OData Provider from the list of available providers. If not available, please install. It comes as part of the Layer2 Cloud Connector installation package (license is included). Please specify URL, collection, authentication method, user and password in the connection string section. You will find a specification of supported attributes in the Layer2 Data Provider for OData specification. You can also use valid OData expressions as a select statement to filter the source data for specific criteria or remove unwanted fields. Please verify the connection string.
In case of the SAP Demo portal we are using:
After successfull verification, please display the data preview. As you can see, there is a unique ID field agencynum in the data set. Please set as primary key for data synchronization as shown above.
Now lets connect the data destination, a SharePoint Online contact list in Office 365 in this sample. SharePoint 2010 / 2013 on-premise or SharePoint Foundation is supported as well (with different connection strings). Please select the CSOM provider to connect. Please add a connection string that contains the URL to the SharePoint site, list and view, also the authentication method and user / password.
Fig.: SharePoint Online list as data destination for SAP queries defined in the Layer2 Cloud Connector.
The list must be created manually before connect in SharePoint. As in our sample we have address data, we create a new contact list to have some more contact-specific features later on – like Outlook offline replication or mobile access. We additionally create a column SAP-ID to have any hint, where the item data exactly comes from. No primary key must given for SharePoint, item ID is always used automatically by the provider. Please verify the connection.
Now we have to map the SAP data fields with the SharePoint list columns. We cannot use the auto-mapping feature of the Layer2 Cloud Connector in this case, because SharePoint contact columns have specific names, different from SAP.
The mapping section should look like this (you can map more columns later):
Fig.: Field / Column mapping for data source and destination in the Layer2 Cloud Connector.
Please note the field “name” is mapped to the SharePoint “title” column (actually the Lastname of a SharePoint contact list). Also our primary key agencynum is mapped to our additional column SAP-ID. Please verify the mapping before continue.
Now we are prepared to run the first sync. The Layer2 Cloud Connector now talks to SAP (via Netweaver/Odata) and to SharePoint / Office 365 (via CSOM) and syncs the data entities as required.
Fig.: First sync of SAP data source and SharePoint list via the Layer2 Cloud Connector.
Now take a look at our connected SharePoint list.
Fig.: Native SharePoint list connected to SAP data via the Layer2 Cloud Connector.
Please keep the following in mind about this integration approach:
- All SharePoint features are fully available for the list, because it’s simply a native list (no BCS): Views, search, metadata, lookups, change notification via RSS or email, workflows on SAP data change, offline and mobile access etc.
- SharePoint list data is updated scheduled in background or on-demand via secure connection. It’s not about bulk import, the items are safely
updated. Addional unmapped columns or attachments are being kept. In case of no or a few changes only appear, the sync should be very fast
- No access from outside to the corporate network is required. The Layer2 Cloud Connector operates from inside the company network. No 3rd
- No installation or changes in any system required, not in SAP, not in SharePoint.
- Users work with synced data copies in SharePoint (or in the cloud) as some kind of cache with best performance, availability and security.
No direct access to SAP required. That really simplifies the architecture.
- Bi-directional operations are fully supported. Please use the SAP OData Generator to create the CRUD operations required (in more complex
The Layer2 Cloud Connector does not only support OData. It can connect to almost any data sources, including databases, XML or the local file system, to sync with SharePoint. You will find more information here.