SAP customers manage multiple SAP systems (SAP S/4HANA, SAP SuccessFactors, SAP Ariba, etc.) in complex hybrid landscapes with applications spanning on-premise and cloud environments.
This results in SAP business data (customer, product, orders, employee, etc.) residing everywhere. This diversity introduces complexities for a developer who is trying to access business data. The developer not only has to know the type of data they need but also where it resides and how to access it. The SAP Graph capability simplifies the life of a developer by providing a simplified, consolidated, and unified view of SAP business data through a single API. You can now navigate to and access the data you need, regardless of where this data resides, because SAP Graph abstracts the landscape complexities from you. You can access the business data you need through a single semantically connected business data graph, which spans various SAP products. Products supported in the first release of the SAP Graph capability are SAP S/4HANA, SAP S/4HANA Cloud, SAP Sales Cloud, and SAP SuccessFactors.
SAP Graph creates business data graphs, which are connected graphs that consolidate models from different SAP products and create a unified view of data. As shown in the figure below, data entities serve as the nodes of the graph, and edges represent the connection (relationship/associations) between these entities.
The nodes of the business data graph are common business objects, such as customer, supplier, product, sales and purchase order, general ledger, and so on. The connections between related entities lead to simpler and intuitive navigational queries, for example, the connection between sales order item and product.
The SAP Graph capability provides access to more than 4,500 business objects and 3,500 navigational links. Another important feature SAP Graph supports is unified business objects or unified entities. It’s common to find business objects, primarily master data such as customer, sales order, and product descriptions, replicated in multiple systems in the landscape. What one system may call a product (SAP S/4HANA), another may refer to as a ProductCollection (SAP Sales Cloud), material, or even supplierPart. They all represent the same product object, with common attributes such as its name and description, but then each SAP system manages additional, system-specific aspects.
For example, SAP S/4HANA maintains details of the manufacturer and inventory of products, and SAP Sales Cloud is concerned with the conditions of selling or using it (e.g., the skills required by a sales team). Customers must synchronize the different representations of the same object, which often have different keys in the different systems, leading to high complexity for application developers as well. Developers often only need the common attributes of such business objects. To address this, the SAP Graph capability supports unified entities, which define the most popular business objects in a standard way.
Before using the SAP Graph capability, it must be configured in SAP BTP. The Graph capability needs to be told which systems in the landscape it will have access to define by the landscape composition. For example, it might be configured to have access to one or more SAP S/4HANA systems, SAP SuccessFactors, and SAP Sales Cloud. Then, you define policies and rules that determine which system to access for which data access requests. The rules define the leading systems and their replicas, key mapping, and override rules, and they broadly govern where the data eventually comes from.
Next, the content in the business data graph is defined by the landscape composition and the locating rules. For example, without SAP Sales Cloud, the corresponding entities are absent from a business data graph. On the other hand, extensions to SAP models (e.g., additional SAP S/4HANA entity attributes, exposed over OData) are automatically discovered during configuration, added to the business data graph, and can be used by any app that accesses it. Administrators can configure different landscape compositions and locating rules, resulting in business data graphs with different API signatures for the same data sources.
This flexibility supports even highly complex customer architectures. Finally, a landscape and its business data graph are identified and certified by a unique data key. Any application that wants access to the data must present its key. You can grant or revoke data keys to specific trusted apps.
Note: The authorizations are still defined and managed in the source systems, and SAP Graph doesn’t have any access to them.
You can navigate the SAP Graph capability API by going to https://navigator.graph.sap/entities, where you can explore grouped by data source.
To wrap up this post, let’s briefly discuss the differences between the SAP Graph capability and other products:
Editor’s note: This post has been adapted from a section of the book SAP Business Technology Platform by Smitha Banda, Shibaji Chandra, and Chun Aun Gooi. Smitha is a senior business development manager at SAP and the head of the SAP BTP practice for North America. Shibaji is a principal enterprise architect at SAP who has in-depth knowledge and expertise in SAP BTP. Chun Aun is an SAP BTP architect and a developer at heart. With more than 12 years of SAP experience, he excels in architecting, building, and enhancing enterprise software.
This post was originally published 3/2025.