Skip to content

ABAP Keyword Documentation →  ABAP Dictionary →  ABAP CDS in ABAP Dictionary →  ABAP CDS - Views →  ABAP CDS - DDL Statements →  ABAP CDS - DEFINE VIEW 


Other versions: 7.31 | 7.40 | 7.54


 SELECT [DISTINCT] { select_list 
                    FROM data_source
                    [association1 association2 ...] }
                | { FROM data_source
                    [association1 association2 ...]
                    {select_list} }


The SELECT statement defines a query performed on the data sources specified in data_source for a CDS view in ABAP CDS. Possible data sources are database tables defined in ABAP Dictionary, classic views, or other CDS views.

  • DISTINCT removes duplicates from the results list.

Both forms of the code have the same semantics. The curly brackets around select_list in the second variant are part of the syntax.

The optional additions clauses are SELECT clauses that enable conditions, groupings, and union sets to be specified or created.


The CDS view business_partner_role defined here is a view of an existing CDS view, business_partner. An element bp_role is defined in the SELECT list and given the comment Business partner role. Any duplicate values of the element are removed using DISTINCT.

@AbapCatalog.sqlViewName: 'BPA_ROLE_VW'
define view business_partner_role as
  select distinct
         from business_partner
         { business_partner.role //Business partner role

The CDS view business_partner_role can be addressed in ABAP programs using Open SQL, for example:

SELECT * FROM business_partner_role INTO TABLE itab ...

The addition DISTINCT of SELECT is no longer needed in this case.


ABAP CDS - SELECT, data_source

ABAP CDS - SELECT, association

ABAP CDS - SELECT, select_list


ABAP CDS - SELECT, Operands and Expressions

ABAP CDS - SELECT, Predefined Functions