Blog Post

SAP CDS Views - A Comprehensive Guide

August 14, 2023

Welcome to "SAP CDS Views- A Comprehensive Guide," your go-to resource for everything you need to know about SAP CDS views. If you're a developer, a business analyst, or an IT professional working with SAP systems, then you know the importance of data modelling and the role it plays in ensuring that data is structured in a way that supports business processes. That's where SAP CDS views come in.

In this blog, we'll take you on a journey through the world of SAP CDS views, starting with the basics and working our way up to advanced topics. We'll cover everything from SAP CDS views and how they work to how to create them, their key features, benefits, and much more. We'll also compare SAP CDS views to HANA views, so you can determine which one is right for your organization.

Our team at Abusiness Tech has years of experience working with SAP systems, and we understand the challenges that developers and IT professionals face when working with data modelling. That's why we created this comprehensive guide to SAP CDS views, to help you get up to speed quickly and easily.

Understanding SAP CDS Views

Understanding SAP CDS Views is the first step towards effectively utilizing this powerful data modelling tool. SAP CDS views provide a simplified way to define and consume data models in SAP systems, enabling developers and IT professionals to quickly and easily create views that support business processes.

In this section of our blog, we'll take a closer look at what SAP CDS views are, their key features, and the benefits of using them.

What are SAP CDS Views?

Direct access to the underlying tables of the SAP HANA database is made possible through Core Data Service (CDS) Views, which are virtual data models. With the advent of SAP's new programming model, SAP CDS Views were created. SAP CDS Views seek to move computation from the application server by pushing logic to the client side and database. SAP refers to this as "Code-to-Data" or "Code Pushdown." The "Code-to-Data" or "Code Pushdown "operation is carried out by an SAP CDS View.

Key Features of SAP CDS Views

Key features of SAP CDS Views include the ability to define views that access data from multiple tables, the use of annotations to provide additional information about the data model, and the ability to define associations between entities. Some of the key features of SAP CDS Views are:

  • Multi-table views: SAP CDS Views allow developers to define views that access data from multiple tables. This makes it easier to create complex data models that incorporate data from different sources.
  • Annotations: Annotations are a powerful feature of SAP CDS Views that allow developers to add metadata to the data model. Annotations provide additional information about the data, such as data types, field labels, and descriptions.
  • Associations: Associations allow developers to define relationships between entities in the data model. This makes it easier to navigate and query the data in the system.
  • Performance: SAP CDS Views provide excellent performance, as they can directly access SAP data without needing additional server-side code or services. This reduces latency and makes it easier to optimize database performance.
  • Flexibility: SAP CDS Views are highly customizable, allowing developers to define views that are tailored to their specific business needs. Developers with expertise in SQL can easily create CDS Views using SQL-like syntax.

Overall, SAP CDS Views are a powerful tool for businesses looking to optimize their database performance and streamline their development process. With their ability to define custom data models, provide high performance, and support multiple platforms, SAP CDS Views are valuable to any business's database and development toolkit.

Benefits of Using SAP CDS Views

The benefits of using SAP CDS Views are the following:

  • Like open SQL, CDS views can be used with any database that is supported by SAP and are database independent.
  • While CDS view allows for calculated fields, such as the addition of two fields at runtime, SE11 view does not.
  • Inner, outer, right outer, full, and cross joins are supported by CDS views.
  • Views for CDS offer automatic client management.
  • Open SQL is supported by CDS views, and we may call them from the application layer in the same manner we call any SE11 view.
  • The CDS viewpoints support the WHERE, GROUP BY, HAVING, and UNION clauses.
  • CDS views allow both numeric and aggregation functions.
  • Through CDS views, we may immediately obtain OData service.

The primary benefit of CDS views is that they offer an integrated data model for a variety of applications. They can serve as data sources for a variety of SAP applications, including SAP Fiori, S/4 HANA Embedded Analytics, BW/4 HANA, and others, as well as for other software, such PowerBI.

How to Create SAP CDS Views

Creating SAP CDS (Core Data Services) views involves defining the data model, which includes defining entities, fields, associations, and annotations.

Steps to create SAP CDS Views

  1. Open your Eclipse where you have linked your SAP system.
  2. Select New from the context menu of your package, then select Other ABAP Repository Object.
Other ABAP Repository Object
  1. Search for Data Definition under Core Data Services and click on Next.
Create Data Definition
  1. Enter the Name and the Definition of the Data definition and click on Next.
Name and description of Data Definition
  1. Select the default Transport number and click on Next.
Select Transport Request
  1. Select the Define View Entity and Click on Finish. The CDS View has been created.
Define View Entity

Defining Entities and Views

In SAP CDS (Core Data Services) Views, defining entities and views are two key concepts used for defining data models.

Defining entities are the building blocks of CDS views, which define the structure and data elements of a table or view. They represent a logical data structure that can be used as a data source for further modeling.

Views, on the other hand, are used to define a subset of data from one or more defining entities. Views are created by defining a SELECT statement on one or more entities, which is used to filter, group, and aggregate data.

To define the entities and views follow the below-mentioned steps:

  1. Enter the SQL Name as Z_HDR_XXX. This is the header table view which contains the some information from the vbak table.
  1. Add the Data Source as table VBAK. Enter a few characters, then use code completion (keyboard shortcut CTRL+SPACE), to get suggestions for the data source.
  2. Click the SELECT list to activate code completion, then double-click the entry labelled "Insert all elements - template" to complete the action. The SELECT list contains all the components (fields and relationships) of the underlying data source.
Zentity view
  1. The name given to the view that will be created in the database in SQL is its internal/technical name. The CDS view with expanded ABAP view-building capabilities is known as zentity. In all of your ABAP applications, you must utilise the CDS view name.
  2. Duplicate the current CDS View and create another view. This view will contain all the items which we will select from the abap table (vbap). In this we have the SQL View name as Z_IMS.
Zentity_2 view

Adding Annotations and Associations

In SAP CDS (Core Data Services) Views, annotations and associations are used to provide additional information about the data model and the relationships between entities.

Annotations are metadata that provide additional information about the elements of a CDS view, such as fields, entities, or views. Annotations can be used to describe the semantics of the data elements, define constraints, specify default values, or provide documentation.

Associations, on the other hand, define the relationships between two or more entities in a CDS view. Associations can be used to define the cardinality (one-to-one, one-to-many, or many-to-many) and navigation properties between entities. They can also be used to define foreign key relationships between entities, which can improve performance and data consistency.

To add the annotation and association in the CDS view follow the below -mentioned steps:

  1. In the CDS View, the defined SQL View or the "Endusertext.label" are defined because of the annotations. Each view is started with some annotation. For example, @AbapCatalog.sqlViewName:’Z_IMS’, or @EndUserText.label ‘Item Details’. These all are annotations.
Annotations
  1. In SAP CDS Views, Associations outline the connections between various entities. A source entity is given an element with an association type that points to a target entity, together with optional metadata describing cardinality and the keys to utilise, to specify associations. Both controlled and unmanaged associations are supported by CDS.
  2. Right click on cds package and create a new view. Follow the same steps as we have created for the first view, Just in templates select the Define View with Association and click on Finish.
Define view with Association
  1. Define the SQL View name and join the two cds views which we have created earlier. The common point of joining between the two cds views are the vbeln field which is common in the header as well as the items views.
Zentity Association View
  1. Activate your all three views and see the data preview. After activating the Association view, right click on the screen and select the Open with > Data Preview. You will see the data in the table form.
Data Preview
  1. If you will right click on the screen and select the follow association, you will see the list of associations, select the association and you will see the data preview on the basis of association.
Data Preview - Association

SAP CDS Views vs. HANA Views

SAP CDS Views and HANA Views are two different approaches to defining database views in the SAP system. SAP CDS Views are defined using Core Data Services (CDS), a data modelling tool introduced by SAP. Whereas HANA Views are defined using SAP HANA Studio, which is a development environment for creating applications on the SAP HANA platform.

SAP CDS (Core Data Services) Views and HANA Views are used to model data in SAP HANA. However, there are some differences between the two.

Differences between SAP CDS Views and HANA Views

The difference between SAP CDS Views and HANA Views are mentioned below:

Pros and Cons of SAP CDS Views

The Pros of SAP CDS Views are:

  • Annotations: CDS Views supports annotations that provide additional information about the data model, such as semantics, authorizations, and UI properties. This allows for better integration with other SAP services and applications.
  • Performance: CDS Views are optimized for performance, with the ability to handle large datasets efficiently. CDS Views allow for better real-time data analysis and business reporting response times, making it a popular choice among SAP users.
  • Easy to Define: Defining a view using CDS is a straightforward process requiring minimal expertise in the underlying database. The syntax is similar to SQL, making it easy for developers to learn and adapt to.
  • Integration with ABAP Projects: CDS Views can be integrated into an ABAP project, making it easier for developers to manage their code and data models in a single system. It also provides a familiar development environment for ABAP developers.
  • Flexibility: CDS Views can be used to define views over tables, other CDS entities, or SQL views, allowing for greater flexibility in data modelling.

The Cons of SAP CDS Views are:

  • Expertise: While CDS Views are easy to define and use, some expertise in the underlying database and data modelling is required for optimal results. Developers need to have a good understanding of SQL and SAP data models to take full advantage of the feature.
  • Complexity: CDS Views can become complex, especially when dealing with large data sets and complex data models. This requires careful planning and design to ensure optimal performance.
  • Dependencies: CDS Views may depend on other objects, such as tables or CDS entities. This can lead to issues with version control and maintenance.
  • DDL Source Code: Unlike SQL Views, CDS Views require DDL source code, making them more challenging to manage and maintain.
  • Eclipse Tool: CDS Views are created and managed using Eclipse, which may not be familiar to all developers. This can result in a learning curve and may require additional training.

Pros and Cons of HANA Views

The Pros of HANA Views are:

  • Performance: HANA Views are optimized for performance, with the ability to handle large datasets efficiently. HANA Views allow for better response times in real-time data analysis and business reporting, making it a popular choice among SAP users.
  • Flexibility: HANA Views can be used to define views over tables, other HANA views, or external data sources, allowing for greater flexibility in data modelling.
  • Complex Calculations: HANA Views enable complex calculations and business logic to be implemented, making creating meaningful insights and reports easier.
  • Integration with SAP Services: HANA Views can be easily integrated with other SAP services, such as SAP Business Objects or SAP Lumira, making it easier to generate reports and dashboards.
  • Graphical Modelling: HANA Views offer a graphical modelling tool, which allows developers to define views and relationships between data sources in a visual way.

Cons of HANA Views are:

  • Expertise: While HANA Views offer improved performance and scalability, they require a high level of expertise in SAP HANA database and data modeling. Developers need to understand SQL and HANA data models to take full advantage of the feature.
  • Complexity: HANA Views can become complex, especially when dealing with large data sets and complex data models. This requires careful planning and design to ensure optimal performance.
  • DDL Source Code: HANA Views require DDL source code, making them more challenging to manage and maintain than traditional SQL Views.
  • Dependencies: HANA Views may depend on other objects, such as tables or other HANA views. This can lead to issues with version control and maintenance.
  • Limited Compatibility: HANA Views are only compatible with SAP HANA database, which can limit their usefulness for businesses that use other databases.

Need help with SAP CDS Views?

If someone needs help with SAP CDS Views, Abusinesstech can provide expert SAP integration consultancy services. Our team of experienced SAP consultants has in-depth knowledge and expertise in SAP CDS Views and can help clients design and develop optimized CDS Views that meet their business needs. We can help clients with the entire development process, from defining views to creating DDL sources and testing. We focus on delivering high-quality, customized solutions to help our clients achieve their business goals. With Abusinesstech, clients can be assured of reliable and efficient SAP CDS View development services.

Abusinesstech

Abusinesstech is an SAP Integration Experts for Cloud, On-Premises, and Hybrid systems. Here at ABUSINESS, we have repeated the success stories for several Fortune 500 companies.

Who are we

We are an SAP silver partner specializing in managed services for optimizing and maximizing the value of SAP Integration application portfolios. With 34 implementations under our belt, we have developed a powerful solution that can revolutionize the way businesses operate. Our DOST Add-on®️ tool is designed for IT professionals who need to deliver projects on time and with minimal risk. It simplifies the process of managing SAP Integrations, whether it involves implementing SAP S/4HANA, C/4HANA, creating interfaces with SuccessFactors/ADP, or providing support for SAP CPI. Working with us means access to cutting-edge technology and expertise to drive business success.

What we do

We Specialize in SAP Cloud, On-Premises, Hybrid SuccessFactors, and S/4HANA Integrations with Subject Matter Expertise in SAP BTP, Integration Suite, CPI, API Management, and Process Orchestration.

Within the SAP industry, we provide a full range of services.

Our core offerings include: SAP Integration Development (Done-for-you), SAP Integration Upgrades/Migrations, SAP Integration Audits, SAP Integration Testing, SAP Integration Ongoing Maintenance and Support+ Consulting Integration Advisory.

Why work with us

There are several reasons why someone should work with Abusiness for their SAP integration needs. Firstly, Abusiness is a specialized SAP consultancy with a proven track record of delivering high-quality SAP integration services to clients. Our experienced SAP consultants have extensive knowledge and expertise in SAP Integration, including SAP CDS Views. We offer customized solutions that are tailored to meet the specific needs of our clients, ensuring that they receive the best possible outcomes. Additionally, our commitment to delivering exceptional customer service means that clients can expect timely and responsive communication throughout the entire engagement. Overall, working with Abusiness ensures a smooth and successful SAP integration experience.

FAQ

What are SAP CDS Views and how do they work?

SAP Core Data Service (CDS) Views, which are virtual data models, enable direct access to the SAP HANA database's underlying tables. The creation of SAP CDS Views coincided with the introduction of SAP's new programming methodology. SAP CDS Views aim to shift computation away from the application server by pushing functionality to the client side and database.

How do I create SAP CDS Views?

  1. Open the ABAP Development Tools (ADT) in Eclipse.
  2. Create a new package in the ABAP repository where you want to store your CDS view.
  3. Right-click on the package and select "New" > "Other ABAP Repository Object".
  4. In the "New ABAP Repository Object" dialog, select "Core Data Services" under "Data Definitions" and click "Next".
  5. Enter a name and description for your CDS view, and select the package where you want to create it. Click "Next".
  6. In the "CDS View Definition" dialog, you can define the entities, fields, and relationships that you want to include in your CDS view.
  7. Add the necessary annotations to the CDS view definition to specify the properties of the view, such as data type, length, and key fields.

What are the benefits of using SAP CDS Views over HANA Views?

Using SAP CDS views has several benefits over using HANA views, including:

  • Compatibility: SAP CDS views are compatible with various databases, not just SAP HANA, making them more flexible and easier to implement in different environments.
  • Reusability: SAP CDS views can be reused across different applications, making them more efficient and cost-effective than HANA views.
  • Performance: SAP CDS views perform better than HANA views as they are optimized for data processing in the ABAP layer.
  • ABAP Integration: SAP CDS views can be easily integrated with ABAP development tools, making them more user-friendly and accessible for ABAP developers.
  • Annotation-based: SAP CDS views are annotation-based, meaning that developers can define properties and relationships using annotations, which makes them easier to understand and maintain.
  • Easy to Learn: Learning SAP CDS views is easier and requires less expertise than HANA views, as it leverages existing ABAP development skills.

What are the key features of SAP CDS Views?

SAP CDS Views is a powerful tool that offers several key features, including:

  • Annotation-based definition: SAP CDS Views uses annotations to define properties, associations, and relationships, making it easy to read and understand.
  • Data modeling: It supports data modeling concepts such as entities, associations, and inheritance, allowing developers to build complex data models with ease.
  • Performance optimization: SAP CDS Views is optimized for performance, providing fast and efficient data processing, especially when used with SAP HANA.
  • ABAP integration: It can be easily integrated with ABAP development tools, making it easy to use for ABAP developers.
  • SQL view support: SAP CDS Views support SQL view, allowing developers to use SQL to query data from the view.
  • Reusability: Developers can reuse SAP CDS Views across different applications and systems, reducing development time and cost.

What is the performance of SAP CDS Views compared to HANA Views?

SAP CDS views are optimized for data processing in the ABAP layer, making them faster and more efficient than HANA views. This is because CDS views are processed within the ABAP stack, while HANA views are processed within the database layer. Additionally, SAP CDS views leverage the power of SAP's core data services and annotations to provide efficient data modeling, resulting in faster query execution times. Overall, SAP CDS views offer better performance compared to HANA views, making them a preferred choice for developers who want to optimize data processing in SAP applications.

Related articles:
- Impact of SAP Integration Suite in Modern Business

- SAP DevOps: Empowering Modern Business with Abusiness Tech

- What is an SAP Developer?

- Understanding and Navigating SAP Audit Services

LinkedIn 
Forbes Technology Council, Official Member (2022)
LinkedIn
Forbes Technology Council, Official Member (2022)

About the Author

Jaspreet is an Executive Consultant with expertise in SAP, SaaS/Cloud Integrations, Cyber Security and Data Science. Jaspreet is hands-On Architect who does Pre-Sales, Solution Architecture, Development, Lead Delivery of Complex Integration programs, Manage disperse teams and Ensure successful Project Go-Live/Goals. He has made a lasting impact on global businesses IT projects including Aflac, Advanced Energy, Donnelley Financial Solutions(DFIN), Dell EMC and many more.

Do you want to
learn more about integration?

We are dedicated to make our knowledge accessible. You can either figure it out by yourself or you can let us give you a hand.

Let us take care of your integration.

We are SAP Certified and we can make your project happen. Explore our services and contact us. We will be happy to take on your project.

View Our Services