You are on page 1of 7

9/30/2018 Create a CDS view (ABAP


Products Industries
Industries Support
Support Training
Training Community
Community Developer
Developer Partner
Partner  
Tutorial Navigator /

Create a CDS view (ABAP)

0% 1 2 3 4 5 6 7 8

Details Code Snippets

// Explore More Tutorials

Create a CDS view
Julie Plummer 09/27/2018

Beginner  15 min.  ABAP Development, Tutorial, Beginner

You will learn how to use the Core Data Services (CDS) tools
in ABAP in Eclipse.

You will learn

In the following exercise you will learn how to use the new
Core Data Services (CDS) tools in ABAP in Eclipse. CDS is an
extension of the ABAP Dictionary that allows you to de ne
semantically rich data models in the database and to use
these data models in your ABAP programs. CDS is a central
part of enabling code push-down in ABAP applications.
You will add the following:

SELECT statement

CASE statement

WHERE clause

You can nd more information about CDS in the ABAP
keyword documentation and the SAP Community.

Step 1: Create a CDS
1. In the context menu of your package choose New and
then choose Other ABAP Repository Object. 1/7
9/30/2018 Create a CDS view (ABAP)

2. Select Data De nition, then choose Next.

3. Enter the following values, then choose Next:


Description = Invoice Items

4. Accept the default transport request (local) by simply
choosing Next again. 2/7
9/30/2018 Create a CDS view (ABAP)

5. Select the entry De ne View, then choose Finish

Step 2: Enter the data
The new view appears in an editor. In this editor, enter the
following values:

1. Enter ZINVOICEITEMS as the SQL view name.

2. Enter the CDS view sepm_sddl_so_invoice_item as
the data source for your view.

3. Use code completion (keyboard shortcut
CTRL+SPACE) to get proposals for the data source.

Note: The SQL view name is the internal/technical
name of the view which will be created in the
database. Z_Invoice_Items is the name of the CDS
view which provides enhanced view-building
capabilities in ABAP. You should always use the CDS
view name in your ABAP applications.

Step 3: Edit the
SELECT statement
You will now insert the elds currency_code and
gross_amount into the SELECT list as follows:

1. Trigger code completion in the SELECT list (by clicking
on the SELECT list and using keyboard shortcut
CTRL+SPACE), then double click on the entry Insert all 3/7
9/30/2018 Create a CDS view (ABAP)

elements - template. All the elements ( elds and
associations) of the underlying data source are
inserted into the SELECT list.

2. Remove all the elements in the SELECT list which were
inserted by the code completion apart from
currency_code and gross_amount. Remember to
separate the elements in the SELECT statement with a

Step 4: Use an
existing CDS
You will now model the relationships between data sources by
using some existing CDS associations. You can use
associations in path expressions to access elements ( elds
and associations) in related data sources without specifying
JOIN conditions. You can now display the element info by
positioning the cursor on the data source name
sepm_sddl_so_invoice_item and choosing F2.

To see the related data sources that can be accessed using
associations, scroll down.To see details about the target data
source of the association header, choose the hyperlink

Step 5: Add elds
from existing 4/7
9/30/2018 Create a CDS view (ABAP)

You will now add elds of related data sources to the SELECT
list of Z_Invoice_Items, using the associations in path
expressions. Each element in the path expression must be
separated by a period.

1. Add the company_name of the business partner to the
SELECT list using the associations header and buyer in
a path expression

2. You will get an error, “Field header must be included in
the selection list together with eld
Resolve this by adding the eld
to the Select statement.

3. Add the payment_status from the invoice header to
the SELECT list using the association header

Step 6: Add a CASE
If the invoice has been paid, you want to set the
payment_status to X (true). Do this by implementing a CASE


1 case header.payment_status
2 when 'P' then 'X'
3 else ' '
4 end as payment_status

Step 7: Add a WHERE
clause 5/7
9/30/2018 Create a CDS view (ABAP)

You will now lter the results so that only invoice items with
currency_code = 'EUR' are retrieved.

1. Add a WHERE clause:


1 WHERE currency_code = 'EUR'

2. Save and activate the data de nition by choosing Save
(Ctrl+S) and Activate (Ctrl+F3).

Step 8: Check your
code and view your
Your CDS view should look like this:


1 @AbapCatalog.sqlViewName: 'ZINVOICEITEMS2'
2 @AbapCatalog.compiler.compareFilter: true
3 @AccessControl.authorizationCheck: #NOT_REQUIRED
4 @EndUserText.label: 'CDS View for "Use-cds-view" t
5 define view Z_Invoice_Items_2
6 as select from sepm_sddl_so_invoice_item
7 {
8 //sepm_sddl_so_invoice_item
10 header.buyer.company_name,
11 sepm_sddl_so_invoice_item.sales_order_invoice_ke
12 sepm_sddl_so_invoice_item.currency_code,
13 sepm_sddl_so_invoice_item.gross_amount,
15 case header.payment_status
16 when 'P' then 'X'
17 else ' '
18 end
20 as payment_status,
22 //* Associations *//
23 header
24 } 6/7
9/30/2018 Create a CDS view (ABAP)
26 where currency_code = 'EUR'

Open the CDS View in the Data Preview by choosing F8. Your
CDS View should look like this:

Share & Follow
Privacy Terms of Use Legal Disclosure Copyright Trademark Cookie Preference Sitemap Newsletter Text View 7/7