Enterprise Resource Planning Blogs by Members
Gain new perspectives and knowledge about enterprise resource planning in blog posts from community members. Share your own comments and ERP insights today!
cancel
Showing results for 
Search instead for 
Did you mean: 
kumarsanjeev
Explorer
This is the 3rd blog post on the CDS detailed explanations after the Introduction post. Refer to the Introduction and blog post indexes here:
https://blogs.sap.com/2019/10/21/part1.-sap-cds-views-demystification/

As you saw in the previous blog post, in the Basic CDS view the data has been read with a simple ‘Select’ statement. So how about some business logic calculations? Can we have some Mathematical Expressions configured in the CDS view?  Yes, absolutely, let’s create a simple CDS view with an Expression to calculate the available seats in business class from table SFLIGHT;



Check the output below.  Column Seats_Avlbl is the result of a mathematical expression configured within CDS view.



 

=> 'WHERE' CLAUSE AND SESSION VARIABLES:

Let's check how to add a 'WHERE' clause to filter the data and how to make use of 'Session Variables'.  Similar to ABAP session variables like sy-datum for current Date, sy-uzeit for current Time etc. , CDS views editor also has session variables which can provide these values.  See below the syntax for Client, system_date, system_language, user can be determined within 'WHERE ' clause.

 



Select 'system_date' to compare 'Current Date' with Flight Date.
@AbapCatalog.sqlViewName: 'ZSQL_VIEW_EXPRSN'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'CDS view with Expression'
define view ZCDS_VIEW_EXPRESSION as select from sflight
{
key carrid,
connid,
seatsmax_b,
seatsocc_b,
fldate,
(seatsmax_b - seatsocc_b) as Seats_Avlbl
}


where fldate <= $session.system_date

 

In summary, we saw how to add Expressions, Where Clause to the CDS view and how to use Session variables to get some system data.

 

Part# 4. Consume CDS View in an ABAP Program: Check the new ABAP syntax to consume CDS view.

 

Follow for upcoming blog posts: kumarsanjeev

Keep learning..

SK
Labels in this area