Tuesday, June 4, 2024

SAP CDS Views - A Comprehensive Guide

 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 A business 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 Power BI.

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

3.    Search for Data Definition under Core Data Services and click on Next.



Create Data Definition

4.    Enter the Name and the Definition of the Data definition and click on Next.



Name and description of Data Definition

5.    Select the default Transport number and click on Next.



Select Transport Request

6.    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.

2.    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.

3.    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.




4.    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.

5.    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.




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

2.    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.

3.    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

4.    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

5.    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

6.    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.


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.


Data Source: Collected 


No comments:

Post a Comment