You are on page 1of 3

@AbapCatalog.

sqlViewName: 'ZSPIDERMAN'
@EndUserText.label: 'My First Demo CDS'
define view zjan_cds1 as select from snwd_bpa {
key node_key,
bp_id,
case bp_role
when '01' then 'Customer'
when '02' then 'Supplier'
else 'i dont know'
end as bp_type,
company_name,
currency_code
}

-----------------------------------------------------------------------
*&---------------------------------------------------------------------*
*& Report zdemo_call_cds
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT zdemo_call_cds.

PARAMETERS : comp type snwd_bpa-company_name.

select * from ZJAN_cDS_PARAMETERIZE( comp_name = @comp ) into table @data(itab).

cl_demo_output=>display_data(
EXPORTING
value = itab
* name = name
).

*data : comp_name type snwd_bpa-company_name.


*
*SELECT-OPTIONS s_name for comp_name.
*
*select * from zjan_cds1 into table @data(itab) where company_name in @s_name .
*
*cl_demo_output=>display_data(
* EXPORTING
* value = itab
** name = name
*).
-----------------------------------------------------------------------
@AbapCatalog.sqlViewName: 'ZJAN_JOIN'
@EndUserText.label: 'Join Example using CDS'
define view ZJAN_JOIN_EXAMPLE as select from snwd_so as so
inner join snwd_bpa as bp on so.buyer_guid = bp.node_key
{
bp.company_name,
sum( so.gross_amount ) as final_amount,
so.currency_code
} group by company_name, so.currency_code
having sum(so.gross_amount) > 400000

-----------------------------------------------------------------------
@AbapCatalog.sqlViewAppendName: 'ZEXTJAN_SALES'
@EndUserText.label: 'Sales Extension'
extend view zjan_cds1 with ZJAN_EXT_SALES {
approval_status,
phone_number,
changed_by
}

-----------------------------------------------------------------------
@AbapCatalog.sqlViewName: 'ZJANVOV_SALES'
@EndUserText.label: 'View on View'
define view ZJAN_vov_EXAMPLE as select from ZJAN_JOIN_EXAMPLE {
//ZJAN_JOIN_EXAMPLE
company_name,
final_amount,
currency_code
}

-----------------------------------------------------------------------
@AbapCatalog.sqlViewName: 'ZJAN_PARAMS'
@EndUserText.label: 'Parameterized view'
define view ZJAN_cDS_PARAMETERIZE
with parameters comp_name : abap.char( 80 )
as select from snwd_so_inv_head as inv inner join snwd_bpa as bpa
on inv.buyer_guid = bpa.node_key {
//bpa
bpa.company_name,
inv.gross_amount,
inv.currency_code
} where company_name = $parameters.comp_name

------------------------------------------------------------------------
@AbapCatalog.sqlViewName: 'ZJAN_CALLPARAM'
@EndUserText.label: 'view on view on parameterized cds'
define view ZVOV_PARAMETER_VIEW as select from ZJAN_cDS_PARAMETERIZE( comp_name:
'SAP' ) {
//ZJAN_cDS_PARAMETERIZE
company_name,
gross_amount,
currency_code
}

-------------------------------------------------------------------------
@AbapCatalog.sqlViewName: 'ZJANMAT'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'View on View on Standard SAP view'
@VDM.viewType: #BASIC
@Analytics.dataCategory: #DIMENSION

define view zJAN_CDS_MATERIAL as select from I_Material {


key _Text.MaterialName,
_MaterialType.MaterialType,
Material,
MaterialGroup
}

-----------------------------------------------------------------------
-----------------------------------------------------------------------
-----------------------------------------------------------------------
-----------------------------------------------------------------------
-----------------------------------------------------------------------
-----------------------------------------------------------------------
------------------------------------------------------------

You might also like