
Welcome to “SAP CDS Views for Business Users – Reporting Made Easy”
Tired of waiting on IT to build your reports?
This course empowers business users and functional consultants to work independently in SAP S/4HANA—leveraging CDS Views to access and report on data through Excel and Fiori apps, without technical complexity or coding.
Whether you're in sales, finance, logistics, or supply chain, you'll discover how to find, enhance, and use CDS Views confidently—while staying aligned with SAP’s Clean Core strategy for upgradeable systems.
What You'll Learn
The Clean Core Concept
Understand how SAP’s Clean Core approach supports long-term agility—and how CDS Views are central to that strategy.
CDS Views Fundamentals
Learn what CDS Views are, how they’re structured, and why they’re essential for modern reporting in SAP S/4HANA.
Finding the Right CDS View
Learn how to search for and identify the most relevant CDS View for your business needs—and verify that it delivers the data you need.
Extending and Consuming CDS Views
Use Key User Extensibility apps to enhance existing CDS Views when necessary, and consume them through Excel of Fiori—no coding required.
Course Highlights
Access to SAP S/4HANA
Get step-by-step guidance on how to access a demo or trial system—even if you don’t have one yet.
Use Familiar Tools
Work with CDS Views in Excel and SAP Fiori, using tools you already know—no technical skills needed.
Step-by-Step Guidance
Follow practical, real-world examples that show you how to retrieve, adapt, and report on S4 HANA data with clarity and confidence.
This course will give you the skills to find, enhance, and use CDS Views effectively—so you can report independently and stay aligned with SAP’s Clean Core vision for scalable, upgrade-friendly systems.
To get the most out of this course, you should have some familiarity with SAP S4 HANA and SAP Fiori as a business or key user.
A technical background is not necessary to follow the course. However, for those with some technical knowledge, additional tips will be provided.
Access to an S4 HANA on-premise or cloud system is recommended. We will guide you on how to obtain access to an S4 HANA test system directly from SAP if you do not already have access to one, but please note that this access is not free.
Most lectures include external resources that provide additional insights and complement the course material. Be sure to review them for a deeper understanding.
A reference file accompanies this lecture, containing definitions of key concepts and acronyms used throughout the course. If you encounter an unfamiliar acronym, you can refer to this file for clarification.
Mejorar las imagenes
Se cambio de "S4HANA" a "S4HANA Era"
--------------
SAP ERP systems have long been integral to business operations, offering robust solutions for managing various enterprise functions. Over the years, SAP has consistently employed a three-tiered architecture for its ERP solutions. During the transition from SAP Business Suite, its legacy ERP solution, to the modern S4HANA ERP solution, SAP retained this three-tiered architecture while introducing significant advancements, including the state-of-the-art in-memory HANA database and CDS views. Let’s explore the evolution from the pre-SAP HANA era to the modern HANA-enabled landscape.
Before the advent of the SAP HANA database and the introduction of CDS views, the traditional architecture of business applications in SAP ERP consisted of a robust application layer and a relatively simple database layer. This design centralized all business logic within the application layer, limiting the ability to fully exploit database-specific features.
The primary reason for this was the need to support multiple database management systems, such as Oracle, MS SQL Server, and IBM DB2. While this flexibility allowed companies to choose their preferred database solutions, it also hindered the development of innovative and feature-rich advancements.
As a result, databases primarily served as storage systems, leading to following challenges:
Reliance on Technical Expertise: Business users relied on developers for report creation and data retrieval, which required detailed functional specifications at the raw table level. This process demanded that business users have an in-depth understanding of the data model, significantly limiting agility.
Lack of Semantics: Table names and fields lacked meaningful semantic descriptions, making it difficult to understand their purpose and accurately interpret the data. This created significant barriers for business users, hindering their ability to effectively access and utilize the information.
Missing Analytical Support: Performing analytics directly within the ERP system was not feasible. Traditional databases lacked the speed and capacity to handle large-scale, real-time data analysis, necessitating the use of external systems and tools for analytical processing.
With the introduction of SAP NetWeaver 7.4, the SAP HANA database became seamlessly integrated into SAP ERP system. Its in-memory, column-oriented architecture revolutionized data processing, offering advanced real-time analytics. SAP's cutting-edge ERP system, S4HANA, now exclusively supports the HANA database, allowing it to fully harness the database's comprehensive feature set for faster and more efficient operations.
One of the key advancements of SAP S4HANA systems is the ability to move business logic from the application layer to the database layer. This shift is made possible through the integration of the in-memory SAP HANA database and the CDS views. By harnessing SAP HANA’s high-performance capabilities, non-technical users can create reports, retrieve information and perform analytics using extensibility tools that execute directly at the database level, ensuring faster and more efficient processing. This transition offers the following advantages:
Reduced Dependency on Developers: Business users can now utilize pre-defined semantic models that represent data in familiar business terms. This empowers them to independently create most reports and retrieve information with little to no reliance on technical teams.
Consistency and Reliability: Standardized CDS Views ensure uniformity in reports, reducing errors and enhancing confidence in data-driven decisions.
Faster Decision-Making: Real-time analytics can now be performed directly within the ERP system, eliminating the need for additional tools like BW.
The transition from the pre-HANA to the HANA era represents a monumental leap in SAP ERP systems. CDS views have revolutionized data access and analysis, empowering business users to interact with data more effectively and intuitively. In this course, we will explore CDS views in depth, uncovering their pivotal role in shaping the modern SAP ERP landscape.
In the previous lecture, we explored S4HANA's architecture and the crucial role of the SAP HANA database and CDS views. This enhanced architecture now supports cloud-based deployment options, made possible by the SAP HANA database's in-memory computing capabilities, enabling businesses to align their S4HANA systems with strategic and operational needs. Cloud-based solutions have emerged as a compelling alternative, enabling the following deployment options for S4HANA:
S4HANA On-Premise:
The only available deployment option prior to the SAP HANA era.
Installed and operated on the organization’s own servers or data centers.
Offers the highest degree of customization and full control over the system.
Suitable for companies preferring complete autonomy.
S4HANA Cloud – Public Edition:
Fully managed by SAP on a shared infrastructure, offering a multi-tenant environment.
Focuses on standardization, with limited customization options.
Ideal for companies seeking rapid deployment, scalability, and a subscription-based pricing model.
S4HANA Cloud – Private Edition:
Hosted in the cloud but with dedicated infrastructure for individual organizations.
Provides greater flexibility for customizations compared to the Public Edition.
Balances cloud benefits with the ability to meet unique business requirements.
Transitioning to a cloud-based ERP solution requires a reimagined approach to system extensions, integrations, and operations—one that differs significantly from traditional On-Premise practices. This new methodology, encapsulated in the concept of the "Clean Core," is intrinsically linked to SAP's cloud offerings and has subsequently been adopted for On-Premise environments as well.
By "Core" it refers to several "dimensions" or "pillars," each representing a different way that a customer can think about and analyze their S4HANA system. By "Clean," it refers that for each dimension a set of best practices, methodologies, and tools exist. If these are used, they allow the customer to consider that dimension to be "clean.". Let's check each clean core dimension their purpose:
Software Version: Ensuring the system is regularly updated to take advantage of new features, enhancements, and security patches.
Extensibilty: Utilizing modern system extension mechanisms to enhance functionality while preserving the integrity of the core system. This course will focus on this dimension, specifically on CDS Views.
Integrations: Facilitating efficient and effective communication between different systems and external applications.
Data: Maintaining high data quality standards to support accurate and reliable decision-making processes.
Processes: Optimizing and harmonizing business processes to improve operational efficiency and reduce complexity.
Operations: Ensuring the system operates smoothly and can scale according to business needs while maintaining high performance levels.
Now that we understand the individual terms, let's put them together. A "Clean Core" refers to an S4HANA system that operates on the latest release, incorporates cloud-compliant system extensions and integrations, maintains excellent master data quality, and follows optimal process design. By definition, a newly provisioned S4HANA system is clean. For customers, the goal is to keep the core clean.
The primary advantage of following a clean core is the ease of keeping the system current, regardless of the deployment option selected. Implementing updates no longer requires lengthy testing periods to ensure compatibility after applying new improvement packages.
In the next lecture, we will delve into the extension dimension of clean core and explain the role of CDS views within this context.
In the previous lecture, we explored the concept of the clean core, its dimensions, and its relevance in light of SAP's new cloud offering, powered by the SAP HANA database. Now, let's shift our focus to the extensibility dimension, which is central to this course.
The extensibility model consists of two approaches:
SAP S4HANA On-Stack: It means that any customizations or extensions are built directly into the S4HANA system rather than using external platforms or systems.
SAP BT P Side-by-Side: This approach involves performing extensions outside the S4HANA system, in a separate platform called SAP Business Technology Platform. SAP BT P is a unique development platform originally designed for cloud solutions, but it now also supports on-premise deployments.
Within the On-Stack component, we have the following types of extensibility:
Classic Extensibility: This refers to the traditional enhancement method used before the emergence of the S4HANA Cloud development option. While it has traditionally offered a high degree of flexibility, it can also present challenges during updates and maintenance. Classic enhancement in the ABAP stack is only recommended in exceptional cases. Classic extensibility (using Classic ABAP) is available in the S4HANA Cloud Private and On-Premise editions. However, it is not supported in the Cloud Public Edition.
Key User Extensibility: This extension option allows users to make customizations directly in the SAP application without requiring in-depth technical knowledge. Key User Extensibility is the easiest way to extend functionality in S4HANA and is supported across all deployment options.
Developer Extensibility: Developers can make advanced customizations and extensions that go beyond the key user options. This requires technical expertise and provides more extensive customization options. Developer Extensibility is supported across all deployment options. It allows customers to implement extensions while keeping the core system clean.
Within the Side-by-Side component, we have the following types of extensibility:
Key User Extensibility: Key users can create enterprise applications without writing any code using SAP Build Apps, a visual development solution. This tool enables users to drag and drop pre-built components and configure them according to their needs.
Developer Extensibility: Developers can use common programming languages like ABAP, Java, JavaScript, and Python to build and run SAP business applications using the Cloud Application Programming model.
If you're interested in more details about these extensibility options, please refer to the external resources provided in this lecture.
Now, let's focus on Key User Extensibility within the S4HANA On-Stack approach. This option consists of the following Fiori applications:
Custom Fields: This app allows you to create custom fields to modify applications, user interfaces, reports, email templates, form templates and more.
Custom Logic: This app enables you to implement Business Add-Ins released by SAP for custom logic extensions.
Custom Business Objects: With this app, you can create custom business objects and generate associated database tables, services, business logic and UIs.
Custom Analytical Queries: This app is used for reporting and analysis. Custom Analytical Queries abstracts the process of writing structured queries, allowing users to design queries without needing to understand query languages or technical details.
Manage KPIs and Reports: The app serves as a unified platform for creating all analytical applications, including KPIs, reports, and stories.
Custom CDS Views: The data model in S4HANA (known as the Virtual Data Model or VDM) is built on Core Data Services views. These views provide reuse, extensibility, and flexibility for customers. The Custom CDS Views app enables customers to create custom content based on VDM. These custom CDS views can be used in analytics or served as external APIs for consumption by external systems like SAP BTP or tools like Excel.
The focus of this course will be on CDS Views, which will serve as the foundation for covering the additional key user apps in subsequent courses.
Before we dive deeper into CDS views, let's first explore the tools and systems required for this course, as well as how to gain access to them in the upcoming lectures.
Mencionar que si ya se tiene acceso a S4HANA, puede omitir los capitulos 7,8,9.
-------------
Understanding the theory behind Custom CDS Views is important—but to truly grasp how they work and get value from them, hands-on practice is essential. Working directly in an SAP S/4HANA system will help you connect the concepts to real-world scenarios and build confidence in using the tools effectively.
To do that, you’ll need access to an SAP S/4HANA system. SAP offers two main options, both of which are paid:
SAP Learning Hub, which includes access to live training systems
SAP Cloud Appliance Library (CAL), where you can deploy preconfigured S/4HANA trial systems in the cloud
In the next lectures, we’ll guide you through how to get access using these platforms. We’ll also show you how to install "Analysis for Office", a free and powerful Excel-based tool that we’ll be using throughout the course. It’s a great way to visualize and analyze data from your CDS Views—right from your desktop.
Let’s explore the first option for accessing a S4 HANA training system, namely, SAP Learning Hub. This comprehensive digital learning platform is designed by SAP to help you build and maintain skills across the SAP ecosystem. It offers a flexible mix of guided learning paths, expert-led sessions, and hands-on practice opportunities to support your ongoing professional development.
Key Benefits of SAP Learning Hub are:
Expert-Led Live Sessions: Participate in live sessions covering advanced topics and certification preparation workshops led by SAP experts.
SAP Certification Access: Receive four certification exam attempts per year, along with the necessary learning resources and assessments to help you prepare and stay certified.
Hands-On Practice Systems: Get access to real SAP training environments pre-configured with data and exercises. This feature is particularly valuable for this course, enabling practical experience in a sandboxed setting.
Paid Subscription Required: Access to these features requires an active SAP Learning Hub subscription.
Getting Started: Accounts and Access
To subscribe and use SAP Learning Hub, you’ll need two things:
SAP Universal ID: This user type is a personal, lifetime account that consolidates all your SAP identities—both business (S User) and personal (P User)—under one login.
Keep in mind that your SAP Universal ID is always an email address. No numeric ID is associated with it.
P User Account: This user type is a personal account used primarily for learning, community engagement, and certifications.
When you create a SAP Universal ID, a P User ID is automatically created and linked. After subscribing to SAP Learning Hub, an S User ID will be generated and can also be linked to your UID.
You can link or unlink S User and P User IDs from your Universal ID as needed. If you have multiple accounts, SAP will prompt you to choose one when accessing resources.
On the screen, you’ll see a summary of the different SAP user types relevant to SAP Learning Hub.
Now, let’s walk through how to create your SAP Universal ID along with a P-User account, if you don’t already have one. You’ll need this account later to purchase your SAP Learning Hub subscription.
To get started, go to the External Resources section of this lecture and click the green-highlighted link shown on the screen.
The registration page will open. Click "Get Started", and then click "Get Started" again.
Fill in the required fields: First Name, Last Name, Country, Email, and Password. (In this example, dummy information will be used.)
Confirm that you’ve read and accepted the Terms of Use, enter the captcha text shown in the image, and click "Submit".
A verification code will be sent to your email. Enter the code, complete the captcha once more, and press "Submit" again. Once your account is successfully created, the system will confirm it. Click "SAP Universal ID Account Manager" on the confirmation page. You’ll now see your SAP Universal ID (UID) displayed. Your P-User ID will also be shown, already linked to your UID.
Now, let’s move on to purchasing your SAP Learning Hub subscription using the Universal ID you just created. Return to the External Resources section of this lecture and click the green-highlighted link shown on the screen. The SAP Learning Hub page will open. Scroll down to the Pricing section, where you'll see a "Buy Now" button displaying the price in your local currency. Click "Buy Now" to begin the purchase process.
Next, enter the email address associated with the SAP Universal ID you just created, along with your password. Follow the prompts on the page, providing the required information based on your specific needs.
You will also be asked to select a payment method to complete the purchase. Once all details are submitted, finalize the purchasing process.
Afte completing the payment you will receive several emails. I'll show examples of this emails. Please make sure to follow the instructions to finalize the activation process smoothly.
In the next lecture, we’ll explore how to access S/4HANA training systems through your SAP Learning Hub subscription.
Let’s now review how to access a S4 HANA training system using your newly purchased SAP Learning Hub subscription. Go to the External Resources section of this lecture and click the green-highlighted link shown on the screen.
Once the web page opens, click the "Learning Hub" link and then press "Sign In."
Use your UID email and password to log in.
After signing in, scroll down to the "Hands-on Practice" section and click "Explore."
You’ll see that there are 366 SAP training systems available, covering a wide range of business areas and technical features. Under the "Product" option, make sure to select only S4 HANA systems. In the search box, type “Embedded Analytics”.
Then, select the entry labeled “Hands-on Practice for SAP S/4HANA Embedded Analytics Foundation.” Be sure to choose the latest version.
Check the general system information, then click "Enroll".
This system will be available for the number of days indicated. After that period, it will reset, and you’ll need to enroll again. Click "Confirm".
This is the on-premise system that will be used throughout the course.
Next, click on "My Learning".
Under "My Practice Systems," you will now see the system you selected. You can select up to two practice systems at the same time. If you want to access another one, you will need to remove one of the current systems.
Now click on "See Practice System," then press "Access."
Next, click on "Set Up Guide" to download a PDF file containing the username and password needed to access the system. Access will be through Remote Desktop using your web browser. Once you're ready, click "Access."
Open SAP GUI and check that the roles "ANALYTICS SPECIALIST" and "EXTENSIBILITY SPECIALIST" are assigned to your user. Go to transaction SU01, enter your username, and open the "Roles" tab. If the roles aren’t assigned, go ahead and add them.
To access the Fiori Launchpad, follow the steps in the PDF. Click the search icon, type "T41," and select the "Fiori Launchpad" link. Then, enter the username and password from the PDF.
Congratulations! You now have access to an S4 HANA system. Feel free to use this system as needed in upcoming lectures.
At first glance, CDS Views might seem like a purely technical concept. For many, they appear to be a way of accessing data—some query logic layered over tables in the S4 HANA system. And while that’s not wrong, it’s also not the full picture. What’s often missed is that CDS Views are designed to do something much more powerful: they represent the structure and behavior of business objects in the system.
Now, what do we mean by a business object? In S4 HANA, a business object is a formal representation of something we work with in real business processes—things like sales orders, customers, purchase requisitions, materials, deliveries, and invoices. These are not just records in a database. Each business object has a lifecycle, a set of behaviors, and multiple related components. For example, a sales order isn’t just a single thing—it includes a header, line items, schedule lines, and partner data.
SAP defines each of these components as what’s called a node of the business object. This terminology comes from SAP’s object model, where a business object is made up of object nodes—structured elements that together describe the full object. Each node represents a specific part of the whole. So, in the case of a sales order, the header is one node, the items are another, the schedule lines another, and so on.
CDS Views are closely aligned with this structure. Typically, there is a CDS View that corresponds to each of these nodes. One for the header, one for the items, one for the schedule lines, and so on. These views give you direct access to the data and logic behind each part of the business object.
But there’s more. Even though a CDS View may be built to reflect just one node—say, the item level—it doesn’t exist in isolation. Through built-in associations, each view is connected to the other nodes of the same business object. This means that from the item-level view, you can also access header information, schedule lines, and partner data. In practice, this gives you a complete picture of the business object from almost any entry point.
This is not a coincidence. SAP intentionally designed CDS Views to mirror the business object model. If you understand how an object is structured—its nodes—you’ll often be able to find the corresponding CDS Views much more easily. And once you find one, you can follow its associations to reach everything else that’s part of the object.
So when you open a CDS View related to, say, a sales order header, you’re not just seeing a technical construct—you’re looking at a formally defined piece of a business object. You’re seeing something that was built not just to pull data, but to represent a concept. This alignment gives CDS Views a kind of stability and reusability that’s important across the S4 HANA system. It’s why they’re used as the foundation for so many applications: Fiori apps, reports, analytics dashboards, even integration scenarios.
That’s also why understanding CDS Views matters to business users. If you’ve ever asked where a Fiori app gets its data, or why a KPI is calculated a certain way, the answer often lies in the CDS View behind it. And once you know how to think about them—not just as technical tools, but as business-aligned components—it becomes much easier to navigate the system, validate data, perform analytics or request enhancements..
In the next part of our session, we’ll build on this understanding. Now that we see CDS Views as business-facing models, we’ll look at how to find them in the system, how to interpret their names, and how to recognize which ones correspond to the business object you’re working with.
Let’s start with a business case to explain Virtual Data Model and Core Data Services Views. Suppose you need information about sales orders, including order status, products, and commercial details from your S4HANA system. Perhaps you notice there is no standard report that provides all the information you need, so you decide to request the creation of a custom report from the technical team. To do this, you’ll need to provide a functional specification that outlines the logic for retrieving the required data.
Now, the question arises: Which tables in the database store the required information? What are the relationships among these tables? Which fields are relevant? To answer these questions, you’ll have to dig into technical details—searching through tables and fields with cryptic names and trying to understand how they relate to each other. You might even need to involve the technical team.
But wouldn't it be great if you could do all this on your own? What if, to identify your information sources, you could search using familiar business concepts like "sales order", "purchase order", "product" or "customer" without worrying about the underlying database model? And even better, have tools to build reports on top of those business concepts without the need for functional specifications, all by yourself, without the involvement of the technical team?
That’s exactly what Virtual Data Model is designed for:
The key principle is to build a semantic layer on top of database tables and fields, hiding the technical details.
It aims to expose all the business data in a way that eases its understanding and consumption.
Instead of dealing with cryptic tables and field names, you deal with familiar business concepts like stock, purchase order, product, batch, bank statement and so on.
These business concepts, known as business objects in S4HANA, in turn, might have nodes. A business object like sales order contains nodes like items or schedule lines.
Business objects and their nodes are modeled and implemented in VDM by views that encapsulate all the technical logic for retrieving the information and presents it in a familiar way. These views are known as Core Data Services views.
The collection of all available CDS views, along with the rules governing them (naming conventions, layers, associations and annotations), forms what’s called the Virtual Data Model.
Let’s sum up:
VDM is a semantic layer in S4HANA that hides technical complexity and presents business data through intuitive, business-friendly structures.
It’s built using CDS Views that are named and modeled with familiar terms like “Material Stock” or “Purchase Order,” making them easier to work with.
It allows users to retrieve and analyze data without needing deep technical expertise, especially when used with tools like SAP Analysis for Office or SAP Analytics Cloud.
VDM covers all CDS Views and follows standardized modeling guidelines—such as naming conventions, view types, and annotations—to ensure consistency, clarity, and reusability.
Before exploring CDS views, let’s introduce one of the Fiori apps we’ll use throughout this course. This app will help us test concepts covered in upcoming lectures. If you’re unfamiliar with SAP Fiori, please refer to the external links provided in this lecture for a brief introduction.
The View Browser is a versatile tool that allows business users to explore the structure, annotations, and associations of CDS views. It simplifies navigation through the Virtual Data Model without requiring technical expertise, making it especially valuable for non-technical users.
To launch the app, log in to your Fiori Launchpad, type “View Browser” into the search bar, and select it from the results. The app displays the total number of CDS views found, including their names and key metadata. It offers flexible search capabilities, such as free-text and alternative search options.
For now, we’ll focus on free-text search. After opening the app, always apply the filter Key User Released Status = Released—a best practice we’ll explain in detail later. Note that the number of CDS views with this status is significantly lower than the total available. Then, type the name of a business object (e.g., sales order, product) to see a list of matching CDS views. Select any entry to view its details.
The results screen is divided into three sections: Definition, Annotations, and Cross Reference. These provide functional insights into the CDS view. We’ll examine each section in depth in upcoming lectures.
This overview should suffice for now. As we progress, we’ll revisit the View Browser and explore its full range of features. With this essential tool at your fingertips, let’s dive into the world of CDS views in the next lecture.
Let’s now explore CDS views in more detail using the Fiori app called View Browser. Open the app as described in the previous lecture, and apply the “Released” status filter.
You’ll notice that only CDS views with names starting with “I” and “C” are displayed. These are the released views.
Now, search for the business object “Product Type” by typing the name into the search bar and pressing Enter.
A list of matching CDS views will appear. Let’s take a closer look at one of them — specifically, the view called “Product Type Text.”
SAP uses a structured naming convention for released CDS views. These view names usually follow a standard format made up of four parts: the prefix, the semantic name, an optional suffix, and, sometimes, a version number.
These naming rules apply only to released views. If you search without the “Released” filter, you’ll see many other CDS views that don’t follow this naming structure. Those are mostly used for internal development or technical purposes, and they’re not meant for general use.
Let’s break down each of these naming elements, starting with the prefix.
The prefix tells you the type and purpose of the CDS view.
Prefix I, for Interface, includes the core building blocks — also known as Basic views — as well as Composite views. Basic views pull raw data directly from SAP tables. Composite views combine data from multiple sources and prepare it for use in reports or applications.
Prefix C stands for Consumption. These are the final views, ready to be used in Fiori apps, reports, dashboards, analytics, or APIs. They’re optimized for consumption by business users.
Prefix R is for Restricted Reuse. These are internal views used behind the scenes for specific SAP processes. They’re not intended for customization or direct access.
Prefix P stands for Private. These are hidden helper views used to build other views. They don’t show up in apps or reports.
Prefix A refers to API views. These allow SAP data to be securely accessed by external systems or platforms, like SAP Business Technology Platform.
Prefix X is for Extension Include. These views define safe extension points where developers can add custom fields without changing SAP’s standard content.
Prefix E is also for Extension, but these are used to create custom enhancements — adding new fields or logic to standard views.
Prefix F stands for Derivation. These views contain dynamic logic that automatically adjusts values based on context, such as the user or the current date.
Prefix D stands for Abstract. These are just templates — structural definitions that aren’t used directly in applications or reports.
Now, for this course, we’ll only work with Interface and Consumption views. These are the ones most relevant for reporting and analytics. The other prefixes relate to internal or technical functions. They won’t show up when the “Released” filter is on and aren’t relevant for business users.
Next is the semantic name. This part of the CDS view name describes the business object or node the view represents — for example, Product Type or Sales Order. It helps you quickly understand what the view is about and makes it easier to find the right one in the View Browser.
There’s also a helpful CDS view called SAP Object Node Type. It lists all the business objects and their nodes available in the system. We’ll use it in an upcoming lecture to help you find the right CDS views more efficiently.
Then comes the suffix. This part is optional, but when it’s used, it adds more detail about what the view actually does. You’ll see a list of possible suffixes and their meanings on the screen.
Finally, we have the version number. When SAP releases an updated version of a CDS view, they add a number after an underscore — like underscore two or underscore three — to show that it’s a newer version of the same view.
Let’s recap.
Only the prefix and the semantic name are required in a released CDS view name.
Released views follow strict naming rules to make them consistent and reusable.
View names can be up to thirty characters long.
When you use the “Released” filter in View Browser, you’ll only see CDS views that start with I or C. These are the released views, and they’re the only ones we’ll be using in this course, because they’re designed for reporting, analytics, and business use.
Views with other prefixes do exist, but they’re not released — they’re meant for internal SAP use or technical development.
In the next lecture, we’ll explore how these prefixes map to the Virtual Data Model layers, so you can better understand how SAP organizes and structures its released CDS views.
Let’s now turn our attention to View Types, which are part of the Virtual Data Model annotations used to classify CDS views based on their functionality.
Annotations in CDS views serve many purposes. They add context, define properties and relationships, and help control how data is presented—especially in user interfaces. View Type is just one of the many annotations that can be assigned to a CDS view.
On the screen, you’ll see an example of a CDS view called “Promise to Pay”, which includes several annotations.
We’ll dive deeper into annotations in a later lecture. But for now, let’s focus specifically on View Type.
CDS views can be classified into six main view types: Basic, Composite, Consumption, Extension, Transactional, and Undefined.
Let’s briefly walk through each one.
Basic views provide direct access to SAP database tables. They simplify complex table names and field labels using business-friendly terms, and they can be reused as the foundation for other views.
Composite views are usually built on top of basic views. They don’t access the database directly but instead combine data from basic or other composite views to create richer, more meaningful structures. These too can be reused to create new CDS views.
Consumption views sit at the top layer. They’re built from basic and composite views and are designed for specific use cases—like analytics, dashboards, or transactional applications. They’re also the only view type that can be used as analytical queries. Unlike the others, they cannot be reused to create additional views.
Extension views allow business users to enhance standard CDS views with custom fields using the Custom Fields app—without modifying the original logic.
Transactional views are used by developers to build full applications within the ABAP RESTful Application Programming Model. They’re tied to business objects and designed to support transactions within SAP applications.
Undefined is a label used for CDS views that don’t fit into any specific view type. These are typically internal or technical views and are not intended for general business use.
It’s important to note that only one view type can be assigned to a CDS view, but assigning one is optional—it’s not mandatory.
Now, let’s connect this with what we learned earlier about prefixes.
As shown on the slide, prefixes and view types are closely linked. For example, a CDS view with the prefix I, can be assigned to the Basic, Composite, or Transactional view types. A view with the prefix C is always assigned to the Consumption view type. And a view with the prefix E is always assigned to the Extension view type.
On the screen, you’ll see real examples of CDS view names for each valid combination of prefix and view type.
However, for reporting and analytics purposes, only the following combinations are relevant:
Prefix I, with view types Basic or Composite
Prefix C, with view type Consumption
That’s why in this course, we’ll focus only on those—prefixes I and C, and view types Basic, Composite, and Consumption.
The other combinations are more technical and fall outside the scope of our learning objectives.
In the next lecture, we’ll apply what we’ve learned using the View Browser app in Fiori. We’ll explore how to search for CDS views using the View Type annotation and prefixes and take a closer look at how they’re structured.
CDS Views están modeladas como redes (graphs), no arboles (trees). Ejemplo: I_SalesDocument es utilizada por varias vistas superiors. Sin embargo, por facilidad, vamos a visualizarlo como arboles.
------------
Realmente lo que no se puede reutilizar son las vistas con Data Category QUERY. Las View Type Consumption si que se pueden reutilizar. Ejemplo: C_TIMEVARIANCECUBE.
---------
Let's analyze the Virtual Data Model and CDS Views in detail with a practical exercise. What you are seeing on the screen is a section of the Virtual Data Model—also called VDM—related to sales orders. Of course, the model is a lot bigger, but this small section is enough to study VDM and CDS Views in practice.
Remember what we said about VDM in a previous lecture: the Virtual Data Model in S4 HANA is a semantic layer built with CDS Views that simplifies access to business data through intuitive concepts. It enables users to retrieve and analyze information without deep technical knowledge. VDM comprises all CDS Views and standardized design guidelines—including naming conventions, layers, associations, and annotations—for consistent and reusable modeling.
The first thing that calls our attention about the model on the screen is, of course, the tree-like structure. Each node here is a CDS View or a table. So this implies that no CDS View exists in isolation. That’s one important characteristic of CDS Views: they must point to something. This can be a database table, another CDS View or both.
When you read the model from right to left, you’re moving from basic elements—like tables and foundational CDS Views of view type BASIC—towards more complex CDS Views of View type COMPOSITE, until you reach the left end of the diagram, where you find the CONSUMPTION View Types meant for analytics.
Beyond the extremes—on one side the base tables, and on the other the consumption Views—there’s nothing else. That’s where the model ends.
Observe that some nodes and the corresponding CDS Views, are marked with green circles—these are released Views and can be used safely for building other CDS Views or for analytics by business users. Others are marked with red circles, meaning they are not released and should not be used by business users. CDS Views that start with a prefix other than "I" or "C"—such as "R", or "P"—are, by definition, not released. The only CDS Views that are eligible to be released for use are those starting with "I" or "C". However, even among these, not all are released. For example, the CDS View called "Sales Document Basic" is not released, as indicated by its red marker—even though it uses the prefix "I".
When we select a released CDS View for use, it does not matter if some of the inner CDS Views it builds on are not released. It’s up to SAP to guarantee that released CDS Views remain stable, unchanged, and reliable over time.
One final comment. Analytical tools such as Analysis for Office use only consumption views as their entry point. These views are at the top of the Virtual Data Model hierarchy and are specifically designed for reporting and analytics. When an analytical tool consumes a CDS view of view type "CONSUMPTION", it does not stop at that view. Instead, it follows the entire underlying Virtual Data Model, all the way down to the base tables in the database. This ensures that all logic, calculations, associations, and data modeling defined in each layer are included in the final result. The system processes all these layers dynamically at runtime to retrieve accurate and complete data. In upcoming lectures, we will learn how to expose and consume these views in analytical tools. For now, just remember: consuming a CDS view in an analytical tool means triggering the whole view hierarchy down to the actual database tables.
Now with that explanation, let’s select one of the CDS Views and check it in detail using the View Browser app. We’ll focus on the CDS View called "Sales Document". This View connects directly to two database tables—V B K D and V E D A—and also to another CDS View, which is "Sales Document Basic".
Open the View Browser app, set the filter to show only released CDS Views, and search for “Sales Document.”
Next, let’s display the View Type annotation we discussed in the previous lecture. To do this, go to Settings and enable the View Type column.
Now explore the different View Types using the filter options:
First, select BASIC. You should see the expected CDS View: I Sales Order.
Then, switch to COMPOSITE and review the list of displayed CDS Views.
Finally, check the CONSUMPTION View Type to see which Views are available there.
You’ve now learned how to search and filter CDS Views using the View Type annotation.
Now, go back to the BASIC View Type and select I Sales Order to continue.
You’ll see three tabs: Definition, Annotations, and Cross Reference.
Let’s go through what each tab shows.
First, the Definition tab. This shows what kind of data the CDS View has access to. It includes attributes, which are the fields or columns in the result, and associations, which are links to other views or tables. We’ll talk more about associations in an upcoming lecture.
Second, the Annotations tab. This contains metadata about the CDS View—details that control how the view behaves in different scenarios. We’ll explore annotations more deeply in a later session.
Third, the Cross Reference tab. This shows how the CDS View is connected to other CDS Views or to database tables.
In this tab, the Type column tells you whether the connection is to a table or another CDS View.
The Relation column shows how that connection is made. If it says FROM or LEFT OUTER JOIN, that means the CDS View is directly connected to the listed tables and CDS Views.
Associations may also appear here, but they behave differently. They don’t define a fixed connection. Instead, they provide on-demand access to related data. We’ll cover this in more detail in the upcoming lectures on associations and annotations.
On the screen, you can clearly see how the relationships shown in the dependency tree are also visualized in the View Browser. Now, perform the same exercise for Sales Order Item Query.
In this case, you’ll notice that only one link exists — and that link is to the CDS View called Sales Order Item Cube.
Mencionar que ABAP Annotations se utilizan por ejemplo cuando se consume la CDS View en un programa ABAP, en un SELECT.
---------
Annotations in CDS Views are essentially special instructions or metadata that add context to the data, helping guide how it is displayed, organized, and accessed.
Annotations enhance the intuitiveness and user-friendliness of CDS Views by improving understanding, data presentation, and the effective management of data access.
SAP CDS View annotations are evaluated by SAP frameworks and can be categorized into two types: ABAP annotations and framework-specific annotations:
ABAP Annotations define the technical and semantic attributes of a CDS View, evaluated by the ABAP runtime framework.
Framework-Specific Annotations define technical and semantic properties required by specific software components, such as OData, UI, Analytics, and are evaluated by those frameworks.
Annotations in CDS Views can be further classified into two types: Header Annotations and Field Annotations
Header Annotations apply to the entire CDS View rather than individual fields. These annotations act as general settings that define how the view behaves in an application or interacts with external tools.
Header annotations can control various aspects, such as:
User Interface Behavior: Dictates how the view appears in SAP Fiori apps.
Data Exposure: Defines whether the CDS View can be used in analytics tools like Excel, OData services, or APIs.
Security and Authorization: Specifies access restrictions for different user roles.
Examples of common header annotations include:
"ANALYTICS QUERY": Specifies whether the CDS View can be used in tools like Analysis for Office.
"ACCESS CONTROL AUTHORIZATION CHECK": Ensures that only authorized users can view certain data within the CDS View.
Field Annotations are additional instructions or metadata applied to individual fields within the CDS View. They enhance how the field behaves, appears, or is processed and provide context for tailoring the data for specific applications or scenarios.
Field annotations can control various aspects, such as:
Semantics Annotations: Used by core engines for data processing, analytics, and data consumption. For example, "SEMANTICS SYSTEM TIME CREATE DATE" indicates that the field corresponds to the creation date of a document.
Default Aggregation: Specifies aggregations rules like MAXIMUM, AVERAGE and COUNT.
Let’s review now how to display header and field annotations in CDS Views using the Fiori app View Browser.
Open the app and search for Production Order in the search box, then press Enter.
Select the corresponding record to view the details of the CDS View.
To check the header annotations:
Go to the Annotation tab.
You’ll see annotations like AUTHORIZATION CHECK and VIEW TYPE.
To display field annotations:
Open the Definition tab and scroll down to the Fields section.
Search for the CREATIONDATE field and select it. The field annotation will indicate that this field represents the document's creation date. This metadata helps analytical tools interpret the field’s semantics.
Next, let’s check the Actual Delivery Quantity field. Since there are over 100 fields, navigate to the remaining fields. You’ll notice this field has two annotations:
One classifies it as "Production Unit", giving it semantic meaning.
The other specifies that the field will be aggregated in analytical tools.
Let's learn how to find the available annotations. Let's get started.
There are several ways to find available annotations, including:
SAP External Resources
Annotations Overview Program
Annotations CDS Views
Other methods for finding annotations may exist, but these are the ones that have worked best for me. Let's review each in detail.
For SAP External Resources, go to the lecture's external resources and select the link titled 'Annotations List'. Since I have the same link in the presentation, I will follow from here. This page contains a comprehensive list of all available annotations. Here you have high-level annotations that serve as an index, and below, you have the specific annotations. You can use the high-level annotations to navigate to specific annotations. Let's go to VDM annotation, and then we will find View Type annotations that we discussed in previous lectures.
You can also retrieve annotation details by running the CDS Annotations Overview report:
Open transaction SA38, enter the program name, and execute it.
You can select all results with Control A, copy and then paste them into Excel for easier browsing.
After applying some formatting, this is my Annotations Excel report. The report provides similar results to the SAP external link but also displays possible values for each annotation. For example, if you search for the ViewType annotation, you’ll see a list of its possible values. Additionally, the report indicates whether an annotation is ABAP-based or Framework-specific.
The last method for finding annotations is by using following CDS Views:
CDS Annotation Definition
CDS Annotation Enumeration
CDS Annotations Metadata
Let's check each in detail. As we saw in previous lectures, CDS Views can be queried through transaction SE16N.
To check the content of the first CDS View, follow these steps:
Open transaction SE16N and enter a the first annotation CDS View.
Filter by VDM (which represents high-level annotations) and execute the query.
The results will include all annotations related to VDM, where ViewType annotations will be listed toward the bottom.
To see the possible values for an annotation:
Enter the second CDS View.
Apply the VDM filter and execute.
The possible values of view type annotations are displayed.
You can also repeat this process for the Annotations Metadata CDS View, which provides more technical details.
Now, let's turn our attention to annotation meanings. These explanations are provided by SAP documentation. Please refer to the external resources provided in the lecture.
Open the ABAP Annotations link – Scroll to the Meaning column for explanations.
Check, for example, the meaning of the Authorization Check annotation. You will notice that it is used for defining access control for a CDS view.
Now, open the Framework-Specific Annotations link, select VDM Annotations, and scroll to ViewType for detailed documentation. You will find a comprehensive description of the use of this annotation.
You can follow this approach for any annotation you need more information about.
- En el ejemplo, indicar que la busqueda es con TRUE para que la cuenta cuadre. Y volver a grabar lo de SAP GUI pues quedo la barra de tareas.
- Incluir: OBJECTMODEL.FOREIGNKEY.ASSOCIATION -> Indica la CDS View a ser usada como una Dimension
--------------
Now, let's turn our attention to how to search for CDS Views using annotations. There are almost 1000 annotations. However from my experience, the most importa ones for business users include:
VDM ViewType – Classifies CDS Views based on their functionality.
Analytics Query – Determines whether a CDS View can be used in analytical tools like Excel.
End User Text Label – Provides a description of the CDS View.
Object Model Supported Capabilities –Indicates whether a CDS View can be used as a base to create new CDS Views.
ObjectModel Modeling Pattern – Defines if the CDS View serves as a model for other views.
Access Control Authorization Check – Specifies whether access is restricted based on authorizations.
Metadata Allow Extensions – Indicates if custom fields can be added to a CDS View.
Analytics Data Category – Classifies CDS Views according to their data category.
Object Model SAP Object Node Type Name: Links certain CDS Views to SAP Business Objects.
You can use the information of previous lecture to gain further insight on these annotations.
So, let's use some of those annotations to search for CDS Views. I usually follow 2 approaches:
Search by table using transaction SE16N
Use our familiar Fiori app, "View Browser"
Let's explore the first option.
Suppose we want to find CDS Views with the annotation ANALYTICS QUERY. CDS Views assigned to this annotation can be used in analytical tools like Analysis for Office. This is a header annotation, so we select the corresponding table for that.
Go to transaction SE16N, enter the annotation header name, and filter by the annotation ANALYTICS QUERY, then execute. The first column will list all CDS Views with that annotation. There are 1,287 annotations with the value true—keep that number in mind, as we will cross-check it later.
Let's use the second table since we want to search by field annotations this time. Enter the table name in transaction SE16N, and search for all CDS Views with the field annotation DEFAULTAG GREGATION #SUM. This will show the CDS Views and the fields with that annotation.
Now, let's explore the second option for searching for CDS Views, which is our familiar Fiori app, 'View Browser.' We will perform the same annotation search, specifically by ANALYTICS QUERY.
Open the Fiori app, and this time, let's use the 'Alternative Search' option. A dialog box will pop up with different alternatives. We will perform the same annotation search, specifically by ANALYTICS QUERY. Select the option to search by annotations, type 'ANALYTICS QUERY,' set the value to 'true,' and press Enter. You will notice that the same 1,287 CDS Views were found as in the table search.
Finally, let's review the Fiori app 'Query Browser,' which allows you to quickly and easily search, browse, and tag analytical queries. We will not go into much detail about the app now, as we will review it more thoroughly in upcoming lectures.
What's interesting about this app right now is that it only displays CDS Views that have the annotation ANALYTICS QUERY set to 'true.'
Let's execute the app by typing 'Query Browser' in the search box and selecting it. The app will start, and you will notice that the number of found CDS Views is 1,287—the same quantity as in the previous searches! This provides a simple example and gives you a basic understanding of how the system utilizes CDS Views in different situations.
Feel free to perform additional searches using different annotations and the two methods explained, to become more familiar with the functionality.
CDS Views can be used in a variety of scenarios, such as creating Fiori apps, extracting and analyzing data, or transferring data to BW. For these scenarios, you can either use existing CDS Views or create your own custom ones. Custom views are typically built on top of a broad set of reusable CDS Views released by SAP.
To help determine which CDS View is suitable for a specific scenario, SAP has introduced two key characteristics that classify CDS Views based on their intended use: supported capabilities and modeling patterns. These characteristics can be defined for CDS Views using annotations. Let’s review each in more detail.
Supported Capabilities
Supported capabilities represent well-defined consumption scenarios for CDS views. Each CDS view can have more than one supported capability since a CDS view may be suited for several use cases. With supported capabilities, you get an idea of the most efficient ways to use a CDS view. For example, supported capabilities can recommend using a CDS view as a data source or association target in CDS modeling or as an analytical provider by an analytical query.
The supported capabilities of a CDS view are defined in a single annotation. The annotation has the following structure: Object Model supported Capabilities
Modeling Pattern
A modeling pattern describes the main intention of a CDS view. Each CDS view can only have one modeling pattern. The value of the modeling pattern of a CDS view can be identical to one of its supported capabilities, but it doesn't necessarily have to be that way.
The annotation for a modeling pattern has the following structure: Object Model modeling Pattern
-----
The table on the screen highlights the most relevant supported capabilities for business users. For a complete list of possible values, refer to the external resources provided with this course.
Since these characteristics are defined via annotations, you can use them within the View Browser app to search for relevant CDS Views. The table displays the primary values that these characteristics can take.
Let's start by examining the first supported capability: "SQL DATA SOURCE".
This capability helps identify all CDS Views suitable for use in data selection statements within ABAP programs. Only these views should be referenced when creating functional specifications for data retrieval.
To explore this capability in the View Browser app, follow these steps:
Select "Alternative Search".
Choose Annotation.
Enter the annotation name "Object Model supported Capabilities" with the value "SQL DATA SOURCE" and
Press "Search".
Next, apply a filter for the "Released" status, as demonstrated in the previous lecture. This yields a total of 5,417 CDS Views, which are the recommended options for data selection within ABAP programs.
-----
The supported capability "ANALYTICAL QUERY" enables the identification of CDS Views specifically designed for analytical use. These views are essential for business users conducting data analysis and can be used across various front-end analytics tools, such as SAP Analytics Cloud and Analysis for Office.
To explore this capability in the View Browser app:
Select "Alternative Search", choose "ANALYTICAL QUERY" this time and
Click "Search".
This returns 285 CDS Views, which are suitable for use in analytical scenarios.
An alternative annotation for searching analytical queries is Analytics Query = true. This returns a greater number of CDS Views compared to using the supported capabilities annotation. There appears to be some inconsistency, as the results are not the same. However, the number of CDS Views retrieved using the Analytics Query annotation matches the count displayed in the Fiori app Query Browser. Therefore, I recommend using this annotation instead of the supported capabilities when searching for analytical CDS Views.
-----
The supported capability "EXTRACTION DATA SOURCE" enables the identification of CDS Views specifically designed for data extraction to a cloud service or another system, for example, remote applications or data warehouses.
To explore this capability in the View Browser app:
Select "Alternative Search" again,
Choose "EXTRACTION DATA SOURCE".
Click "Search".
This returns 2,224 CDS Views, which are suitable for data extraction to external systems.
Lastly, the highlighted supported capabilities are essential for identifying CDS Views to use when creating custom CDS Views. Please keep all eight capabilities in mind, as we will refer to them in upcoming lectures.
In S4 HANA, access to data is controlled to ensure that people only see the information they’re authorized to view. When working with CDS Views, this is enforced through a mechanism called DCL, which stands for Data Control Language. It allows data access rules to be defined for specific CDS Views.
These rules rely on traditional ABAP authorization objects managed by your security team. The same authorization objects used to set permissions for your Fiori apps are also used to restrict access to information in CDS Views.
To enable authorization control in a CDS View, the view must explicitly indicate that authorizations should be checked. This is done using annotation, Access Control authorization Check = CHECK
This tells the system to apply the defined DCL rules whenever someone accesses the view.
To see which authorization objects are being applied when accessing information via a CDS View, you can use the transaction S A C M D C L S.
In the Fiori app View Browser, we can see that authorization checks have been enabled for the CDS View 'Sales Document
"Now, in transaction S A C M D C L S, we can check the authorization objects assigned to a CDS View. To do this, execute the transaction, enter 'Sales Document' as the view name, and run the search. Then, double-click on the result and scroll down to the definition section.
You'll see that two authorization objects have been defined, each with its corresponding attributes.
While this screen is a bit technical, the key point to understand is that CDS Views use the same authorization concept traditionally applied to your Fiori apps and SAP transactions. Feel free to share this with your Basis team if any fine-tuning of CDS View access permissions is needed.
There is one important exception to keep in mind regarding authorizations. When CDS Views are designed for use in analytical tools—such as SAP Fiori dashboards, SAP Analytics Cloud, or Analysis for Office—the standard DCL checks are bypassed. This happens when the following annotation is present in the CDS View:
Access Control authorization Check equal PRIVILEGED ONLY
All analytical queries include this annotation. In these cases, data is displayed without applying the usual access restrictions.
Your IT team can take steps to protect sensitive information in these scenarios, such as defining analytical privileges or applying custom filters in analytical tools.
With the foundational concepts in place, it's time to move from theory to practice.
In this and the upcoming lectures, we’ll begin a hands-on exercise that lays the groundwork for the rest of the course. Our goal is to build a stock report focused on physical stock, leveraging existing CDS Views to overcome the limitations of standard SAP stock transactions such as MMBE and MB52.
We’ll enhance this report by incorporating additional data fields not available in those standard reports — like EAN Number and Product Type. Through this exercise, you’ll gain practical experience in searching for, evaluating, and utilizing CDS Views in real-world reporting scenarios.
We’ll proceed step by step — starting with identifying the right CDS View, then learning how to use it, and finally enriching it with more advanced techniques.
Our first step is the discovery phase, which includes:
Using the View Browser app to filter for released CDS Views and narrow down relevant options
Leveraging annotations to identify views that support analytical tools
Consulting SAP documentation to gather both technical and functional insights — ensuring we choose the most appropriate CDS View for our reporting needs
This section is focused on finding the right CDS View. In the next section, we’ll cover how to build the report and consume the data. Finally, we’ll explore how to enrich the report further by combining the selected stock CDS View with additional CDS Views.
Let’s get started!.
Actualizarlo con los numeros del learning hub
----------
As discussed in previous lectures, when you open the View Browser app, you'll see a large number of CDS Views—90,966 in our example. This number may vary depending on your system version, as SAP adds new CDS Views with each release.
However, not all of these CDS Views are intended for use by business users. So how do you determine which ones are safe and appropriate for reporting and analytics?
To support this decision, SAP provides two key classification indicators: Release Status and Stability Contract.
Release Status indicates whether SAP officially supports the CDS View for use in business applications. Possible values include:
Released: Fully supported by SAP; safe to use in production.
Not Released: Intended for internal use or still under development; subject to change or removal in future updates.
Deprecated: Obsolete and scheduled for deprecation; should be avoided.
Stability Contract represents SAP’s commitment to maintaining the CDS View’s structure and behavior across upgrades. Values include:
C0 – Extension: Designed for extensibility; structure may change. Not recommended for direct use.
C1 – System-internal use: Recommended for reports, queries, and analytics. SAP guarantees structural stability across releases.
C2 – Remote API: Intended for external consumption like OData services, guaranteed to remain stable, even for third-party systems.
To ensure that your CDS Views are safe, stable, and upgrade-friendly use only released CDS Views with Stability Contract C1.
To find such views, in the View Browser Fiori app:
Filter by the field "Key User Release Status" and
Set the value to "Released"
That’s all it takes. This simple filter ensures you’re working with CDS Views that are production-ready and structurally stable—ideal for reporting and analytics. The number of CDS views has been reduced to 7,539. These are the recommended CDS views for use.
This approach directly supports the Clean Core principle we've previously discussed. By using only Released CDS Views with a C1 Stability Contract, you help maintain a system architecture that is clean, maintainable, and aligned with SAP’s best practices for seamless future upgrades.
For those more technically inclined, the external resources included with the lectures contain a document detailing the underlying views used by the View Browser to retrieve CDS View information.
Mencionar que se puede ir directamente a la ayuda de SAP y buscar alli las CDS Views:
https://help.sap.com/docs/SAP_S4HANA_ON-PREMISE/ee6ff9b281d8448f96b4fe6c89f2bdc8/7e921b004c7a470ba23199edc89df5f1.html
-------
Now that the theory behind CDS Views has been covered, it's time to put that knowledge into practice. This hands-on session walks through the process of identifying a CDS View that provides the information required for a stock report. To begin, the View Browser app is opened. The first step is to apply the annotation filter — Analytics Query = true — as explained in the previous lectures.
Then, the filter for released views is added. Combined, these two filters return a list of CDS Views that are both compatible with analytical tools and safe to use. It is important to note that when the annotation filter is active, the free text search is disabled — both cannot be used simultaneously. A practical approach is to apply the annotation and released filters in the View Browser, and then export the resulting list to Excel. This allows for keyword-based searches in a more flexible environment. To proceed, click the Excel icon to download the report data.
In this case, the list is filtered in Excel using the keyword “Stock,” as that is the area of focus. This narrows the results down to 15 entries.
Next, the descriptions are reviewed, and some are identified as related to both quantity and value. The filter is then refined based on this criteria, leaving three promising CDS Views. Based on prior knowledge, the suffix number typically indicates the version of the CDS View. Therefore, the one with the highest version is selected, namely C_STOCKQTYCURRENTVALUE_3.
To confirm the selected CDS View, the View Browser is accessed again. The annotation filter is removed to re-enable the free text search, and the name of the CDS View is entered into the search box. Upon selecting the view, a link labeled “Product Assistance” becomes available. This link leads to SAP documentation that provides the business context for the CDS View. This verification step is essential to ensure the selected view meets the reporting requirements.
According to the documentation, this CDS View is designed to answer the question: “What is the current material stock quantity and the current material stock value for a particular stock at current prices?” This appears to align well with the intended purpose.
However, the only way to be certain is through testing. In the next section, the process of retrieving data from this CDS View will be covered, along with steps to validate the accuracy and relevance of the information it provides.
After finding a CDS View it's important to validate that the information provided by it it's correct. Usually you will compare the information provided by the CDS View in transaction SE16N against the information provided by a specific standard transaction. In our case, against a stock transaction.
Let's perform some basic checks to ensure that the CDS View provides the required stock information. For this, we will use transaction SE16N, as we have in previous sessions.
Execute the transaction, enter the name of the stock CDS View, type USD as the currency, and run the query. You’ll notice that no data is returned. This is due to the privilege-only authorization check annotation, which we discussed in a previous lecture on Authorization. CDS Views with this type of annotation are designed to be used exclusively in analytical tools.
However, there's a workaround for this limitation. Open the Annotations section for the CDS View STOCK_QUANTITY_CURRENT_VALUE in the View Browser app, and look for the @AbapCatalog.sqlViewName annotation. This is a bit technical — it refers to the underlying query view name generated by the system, which is used to execute the CDS View at the database level.
Simply copy that SQL view name and use it directly in transaction SE16N.
Now filter by material T R100 and valuation type 1 since we are interested in valuation at plant level. Let's focus on the lines with storage locations. We observe quantities of 8 and 2 in the result, with corresponding valuations of 24.16 and 6.06. Let's validate that against standard report MB52. As you can see the values match. So we can be pretty confident that the CDS Views provides the information required. Now, let's continue with building the actua report in the next lecture.
Ya se entiende como buscar las conexiones directas entre CDS Views (FROM, Inner JOIN). Ahora, como se consultan por tabla las asociaciones?
Indicar que este es un reporte para todo lo relacionado con inventario (consignacion, en transito, pedido, etc). Sin embargo, queremos enfocarnos en unrestricted use stock. En los siguientes capítulos aprenderemos como mejorar este reporte.
---------
SAP Analysis for Office is a reporting tool that brings live data from your S/4HANA system directly into Excel using CDS Views. Instead of exporting static reports or relying on outdated information, users work with real-time data pulled straight from the source system, ensuring insights are always accurate and current.
It’s designed for business users who need flexible, self-service access to data. Without depending on IT for every request, users can explore the data themselves — adjusting views, switching dimensions, and drilling down into details as needed.
What makes this tool especially powerful is how it combines real-time access with the full capabilities of Excel. Users stay within the familiar Excel environment while remaining connected to live enterprise data, making full use of Excel’s formulas, filters, and built-in features.
Reports created in SAP Analysis for Office are dynamic and refreshable. They can be updated at any time to reflect the latest figures from S/4HANA, making them ideal for recurring reviews, operational dashboards, or ad-hoc analysis — always based on the most recent data.
And because everything happens in Excel, users can apply formatting, build charts, and create pivot tables to deliver high-impact reports that are not only informative, but also visually compelling and presentation-ready. It’s a seamless combination of trusted enterprise data and Excel’s flexibility.
So let’s go ahead and build the stock report. Open Excel and select the “Analysis” menu option. If you don’t see this option, make sure to check the lecture at the beginning of the course that explains how to install the component.
Next, choose “Insert Data Source”, then click “Select Data Source for Analysis.” You can skip the SAP BusinessObjects login screen.
Now, select the system connection you want to use to retrieve the data. The entries shown here come automatically from the system connections you have set up in your SAP Logon client. Click on the desired connection, then enter your username and password.
Click on it, then enter your username and password.
Once you're connected, you’ll see a search box. Type in the CDS View name STOCK QUANTITY CURRENT VALUE, which we introduced in earlier lectures. When it appears in the list, select it and click “OK.” That’s it! With these simple steps, you’ve instructed the system which CDS View to use in the report.
This particular CDS View has three input parameters: Currency, Material, and Plant. The Currency parameter allows you to define an additional currency other than the default. Since the default is EUR and we want to use US dollars, go ahead and enter USD. We’re not applying any filters for Material or Plant at this time, so simply press “OK.” Excel will now display an initial report using its pivot table functionality.
As you review the report, you’ll notice that the Plant and Material fields are preselected, along with Stock Quantity and Stock Value as the default measures. These defaults are defined directly within the CDS View itself. You’ll learn how this works in the upcoming section on creating custom CDS Views.
Now, let’s enhance the report by adding additional attributes—specifically Product Description, Storage Location, EAN Number, and Product Type.
The first attribute we want to enable is Product Description. To do this, right-click on Stock Material, select Members, and then choose Key and Text. The description will now be visible.
Next, expand Stock Material and its attributes. Then, search for EAN and drag it into the report. Alternatively, you can simply double-click the attribute to add it. Repeat the same step for Product Type.
The availability of these material attributes is possible because Material was included as a dimension in the CDS View, rather than being added solely as attributes. We’ll explore this further in the next section on custom CDS View creation. As a result, its related data is fully exposed and can be easily incorporated into the report.
Finally, drag Storage Location into the report layout and select Key and Text. Now you have a refined stock report. Feel free to explore the lecture’s external resources for tips, best practices, and additional guidance on how to make the most of SAP Analysis for Office.
Mention that the query browser is part of a broader topic called embedded analytics which will be discussed in a future training.
--------------
The second tool we’re going to look at for accessing analytical queries is the Query Browser. In the previous chapter, we explored Analysis for Office—a powerful, Excel-based tool that lets you connect to live SAP data and build highly customized reports.
Now, we’ll shift our focus to the Query Browser. This is a Fiori-based application that allows you to search for and run analytical queries directly within the S/4HANA system. It provides a simpler, browser-based interface with a layout that’s somewhat similar to Analysis for Office—but it doesn’t require Excel or any external connection.
Let’s give it a try.
Open the Fiori Launchpad and search for “Query Browser.” Start the app, and you’ll see a list of available analytical queries. As of now, there are 1,376 entries. Keep that number in mind.
Now, let’s take a look at where these queries are coming from.
Open the View Browser app and filter for views that include the annotation Analytics Query, just like we did in a previous lecture. You’ll notice the number of views matches—1,376. This allows us to conclude that the Query Browser is sourcing its list from CDS views specifically marked with this annotation.
But there’s something important to keep in mind. As we discussed in a previous lecture, you still need to apply the Released filter. Once you do, the number of matching views drops to 406 CDS views—a significant drop from the 1,376 retrieved by the Query Browser.
So here’s an important hint: the Query Browser doesn’t let you filter by the “Released” status. That means you can’t tell from this app alone whether a CDS view is safe to use. And that can be risky. Using a view that hasn’t been released goes against SAP’s Clean Core principle. There’s always a chance SAP could change or even remove it in a future system update. That could lead to issues system during upgrades.
That’s why the recommended approach is to use the View Browser to find released analytical queries, and then use the Query Browser simply to execute them.
Let’s now walk through a real example of how to use the Query Browser for reporting.
Search for the view called C_STOCK QUANTITY CURRENT VALUE_3 used in previous lecture.
Select it, and click “Open for Analysis.” Once the screen loads, change the currency from EUR to USD, and then click Go. You’ll see a dynamic, real-time report layout—very similar to what we looked at earlier in Analysis for Office.
Now let’s enhance the report by adding the same fields we used in the previous lecture: Product Description, EAN Number, Product Type, and Storage Location. You can then save a variant with the layout you just created, so you can easily reuse it later.
Once your report is ready, you can export it to Excel.
And finally, if you want quick access to this report in the future, you can also create a tile that opens it directly from the Launchpad.
One final tip: you can also execute the query directly from the View Browser, without needing to use the Query Browser at all. I’ll leave this one for you to explore—try to figure out how to do it on your own. But if you’re not able to find the option, just let me know.
Consuming CDS Views: Tools Overview
In this course, you've learned how business users can work with Custom CDS Views using tools that are practical and widely used in day-to-day operations. These tools provide powerful ways to explore and analyze data—without needing deep technical knowledge.
✅ Tools Covered in This Course
Embedded Analytics – Query Browser
You’ve seen how the Query Browser Fiori app enables users to access CDS Views directly within the SAP Fiori launchpad. It’s a simple yet effective tool for exploring predefined or custom CDS Views in real time.
Beyond the Query Browser, SAP’s Embedded Analytics framework also includes more advanced functionality such as Smart Business KPIs, Analytical List Pages, and Overview Pages. These offer enhanced interactivity and deeper integration with business processes. While they are not covered in detail here, you can find additional information in the external resources linked in this lecture.
Analysis for Office
This Excel-based tool allows for flexible, spreadsheet-style reporting on CDS Views. It’s ideal for business users who want familiar pivot-style capabilities combined with S/4HANA data.
These tools are sufficient for most business scenarios involving CDS Views.
Additional Tools (For Advanced Scenarios)
While not covered in this course, it’s helpful to know that SAP offers additional tools for more advanced or large-scale analytics needs:
SAP Analytics Cloud (SAC)
A cloud-based platform for interactive dashboards, visualizations, and planning. It can access CDS Views either in real time or by importing data. SAC is commonly used for cross-functional reporting and executive dashboards.
SAP BW/4HANA
An enterprise data warehouse that can extract and consolidate data from CDS Views and other sources. It enables historical reporting, complex modeling, and enterprise-wide data governance. Typically managed by IT or analytics specialists.
Summary
This course focused on the tools most relevant to business users: Query Browser from Embedded Analytics and Analysis for Office.
More advanced Embedded Analytics tools—such as Smart Business KPIs and Analytical List Pages—can further enhance how CDS Views are used in day-to-day operations. For more on these, check the external resources provided in this lecture.
Tools like SAP Analytics Cloud and SAP BW/4HANA are intended for larger-scale, more centralized scenarios, and are usually managed by IT or specialized analytics teams.
As a business user, understanding what tools exist—even if you don't use them directly—helps you better navigate SAP’s analytics landscape.
- Mencionar que es solo un ejemplo, pero lo que se va a explicar sirve como modelo para realizar extensiones a CDS Views existentes
- Mostrar como encontrar la CDS View para purchasing info record
- Explicar 0..*, 0..1 association types
- Explicar la diferencian entre LEFT OUTER JOIN y Association -> Mirar la forma que se mencione que es algo mas tenico y es opcional, tal vez tener 2 lecturas? basica y avanzado?
- Deberia ser una de explicacion, y en otra aparte, mencionar ya el diseño del reporte.
- Investigar si existe una tabla que liste las asociaciones de una CDS Views.
- En alguna parte explicar que solo se puede filtrar con campos de asociaciones que sean 0...1, 0...* no.
- Mostrar la documentacion de SAP de la CDS View de Purchasing
- Ajustar la clase indicando que se van a utililizar las 2 opciones de diseño utilizando campos diferentes para cada uno. Se explicará porque debe ser así en este caso (Porque "Dimension" no soporta "Parámetros").
- Comenzar hablando de la importancia de la etapa de diseño del reporte. Mencionar que una vez se relacionan las vistas, las modificaciones posbiles son limitadas -> Buscar la cita en la documentacion de SAP.
- En AfO, solo los atributos de la CDS View Dimension se muestran. No es posible acceder a los atributos de las asociaciones. La opcion que se tiene es traer los atributos que se requieran de las asociaciones a la "Primary Source".
- En la parte de los filtros, explicar la opcion "Expression-Based" que permite condiciones mas complejas
- Cuando se filtra, al parecer solo se pueden seleccionar campos de asociaciones con cardinalinad 0-1. 0-* no lo soporta.
- Scenario Analytical Cube_16 quedo grabado en el portatil pequeño. Grabarlo de nuevo en el portatil grande.
- Mencionar el tema de los business objects. Demostrar como se puede tener acceso a todos los objectos y nodos en el Tab "Elements".
- Explicar que los campos que no se seleccionan, vienen de la clave de la Stock CDS View, pero que no se necesitan pues no son relevantes para unrestricted stock at batch level.
- Mencionar lo de "Compatible Changes Allowed" que aparece en Custom CDS Views cuando la vista que se esta tratando ha sido utilizada ya en otra CDS View.
- Mostrar una grafico.
Now that we have tested the stock report and confirmed that the information is correct, the next step is to deploy the custom CDS Views to the quality and production systems. This is part of the standard transport process in SAP S/4HANA extensibility.
The deployment consists of three steps:
Step 1: Create a Software Package
A software package must be created to contain your custom CDS Views and any related extension objects.
This step is typically performed by the technical team (such as ABAP developers or system administrators) using backend tools like transaction SE21. The package acts as a container, enabling the movement of development objects across system landscapes.
Step 2: Register the Package in the Extensibility Framework
Once the package is created, it must be registered in the extensibility framework using the Fiori app "Configure Software Packages".
During this step, you can also choose to activate automatic transport request generation.
This is a recommended best practice, as it simplifies the deployment process by automatically creating transport requests whenever changes are made.
Step 3: Assign Custom CDS Views to the Package
Finally, the custom CDS Views must be assigned to the registered package using the Fiori app "Register Extensions for Transport."
This step is essential to ensure that the CDS Views are included in transport requests and can be deployed to the quality and production systems.
Following these steps ensures that your custom CDS Views are properly managed, traceable, and consistently transported across your SAP S/4HANA landscape.
Let’s now perform the first step in the system: creating the transportable software package.
As mentioned earlier, this step is usually carried out by the technical team, so if you're not responsible for package creation, feel free to ask them to provide you with a predefined package name.
If you are performing this yourself, follow these steps:
Execute transaction SE21 in the backend system.
In the Package field, enter the desired package name and click on "Create".
In the next screen, enter a short description for the package and confirm.
The system will now prompt you to assign a transport request.
Click "Create" to generate a new transport request.
Provide a meaningful description for the task.
Click "Save", then "Continue".
That’s it — the package has now been successfully created and is ready for registration in the extensibility framework.
Now that the software package has been created, the next step is to register it in the extensibility framework. This enables the package to be used for transporting extensibility content, such as custom CDS Views.
Follow these steps:
Open the Fiori Launchpad and search for the Fiori app "Configure Software Packages".
Once the app is open, click on "Add Registration" to register the package.
In the displayed list, flag the package you just created or the one provided to you by the technical team, and select it.
Make sure to flag both indicators for automatic transport request generation.
These options are highly recommended, as they streamline the transport process by automatically creating and assigning transport requests whenever extension content is created or changed.
Click "Save" to complete the registration.
Your package is now registered and ready to be used for managing and transporting custom CDS Views.
The last step is to register the custom CDS Views in the package. Let’s do it:
Open the Fiori Launchpad and search for the Fiori app "Register Extensions for Transport."
In the displayed list, select the three CDS Views that were created in the previous lectures.
Notice that they are currently assigned to a local package.
Click "Reassign in Package" and select the package we registered earlier.
You will notice that the CDS Views have now been assigned to the new package, and a transport request has been created. This is the transport request you will provide to the technical team so they can move the changes to the quality and production systems.
Don't forget to release the transport request when you're ready to deploy the CDS Views.
As explained at the beginning of the course, Custom CDS Views are just one of several options that SAP provides to business users for extending the S4 HANA system as part of the clean core approach. Other options include custom CDS fields, custom business logic, and more.
This journey is all about empowering you—the business user—to adapt the S4 HANA system to evolving business needs, without requiring technical knowledge. In fact, this is just the beginning. Visualize yourself as a power business user, confidently driving innovation without needing to write a single line of code.
Stay tuned for upcoming courses as we continue to explore the full potential of SAP extensibility!
Take Control of Your S/4HANA Information – CDS (Core Data Services) Views Are Made for You
In today’s fast-paced, data-driven world, SAP business users need quick, intuitive access to the information that drives decisions. That’s where CDS Views (Core Data Services Views) come in. They are designed to give business professionals direct, simplified access to the data they need—when they need it.
CDS Views: Designed for Business Users
No need to navigate complex tables or rely on others for information. CDS Views deliver business-ready data in a format you can understand and use immediately—whether you're working in Excel, Fiori apps, or SAP Analytics Cloud.
You don’t need a technical background to use them effectively.
What Are CDS Views?
CDS Views are SAP’s modern approach to delivering structured, real-time data inside S/4HANA. Thousands of views are pre-delivered by SAP specifically for business use, meaning:
No development required
No code needed
No technical translation
Just clear, relevant business data—accessible when and where you need it.
Why CDS Views Matter for You
Create Your Own Reports – Without IT
With CDS Views, you can build your own reports and insights on demand. There’s no waiting or dependency on others.
Speak the Language of Business
CDS Views are labeled and structured using business terms, making them easy to search, understand, and apply to your daily work.
Trust Your Data
Business logic and calculations are already built into the views, ensuring consistency and accuracy across reports.
Real-Time Performance
CDS Views retrieve data directly from the database, delivering fast performance—even for large volumes of data.
Flexible Across Business Functions
Whether you're in Finance, Logistics, Procurement, or Sales, CDS Views support a wide range of reporting and analytical needs.
Works with Familiar Tools
You can access CDS Views in Excel, SAP Fiori, and other tools you already use—no need to learn new software.
What You’ll Learn in This Course
What CDS Views are and how they support business users in SAP S/4HANA
How to find, explore, and use the right CDS Views for your role
How to work with CDS Views in tools like Excel and Fiori
How to tailor CDS Views using intuitive SAP apps
How to build your own reports independently using tools like Analysis for Office and Fiori.
Who Should Take This Course
This course is for business users in finance, logistics, procurement, sales, and other departments who want to improve the speed, accuracy, and flexibility of their reporting.
No technical skills required. Just practical, hands-on guidance to help you make better, faster decisions using the data already at your fingertips.