Posts

When to use CDS table function?

Image
@EndUserText.label : 'Employee table' @AbapCatalog.enhancementCategory : #EXTENSIBLE_ANY @AbapCatalog.tableCategory : #TRANSPARENT @AbapCatalog.deliveryClass : #A @AbapCatalog.dataMaintenance : #ALLOWED define table zemployee_ram {   key client : mandt not null;   key id     : zid not null;   name       : zname;   age        : zage; } @EndUserText.label : 'Employee table' @AbapCatalog.enhancementCategory : #EXTENSIBLE_ANY @AbapCatalog.tableCategory : #TRANSPARENT @AbapCatalog.deliveryClass : #A @AbapCatalog.dataMaintenance : #ALLOWED define table zemployee_salary {   key client : abap.clnt not null;   key id     : int4 not null;   @Semantics.amount.currencyCode : 'zemployee_salary.curky'   salary     : abap.curr(10,2);   curky      : abap.cuky; } @EndUserText.label: 'ZDdls_sample_08_cds_tab_fun' define table function Zddls_Sample_08_Cds_Tab_Fun...

CDS Table Function and AMDP framework Part 16 ABAP on HANA Course

Image
@EndUserText.label: 'ZDdls_sample_08_cds_tab_fun' define table function Zddls_Sample_08_Cds_Tab_Fun with parameters     @Environment.systemField: #CLIENT    client : abap.clnt returns {   client : abap.clnt;   id      :char10;   name       : char50;   age        : zage_r;   salary     : abap.curr(10,2);   curky      : abap.cuky; } implemented by method Zddls_smple_08_tab_fun=>emp_detail; //@AbapCatalog.viewEnhancementCategory: [#NONE] //@AccessControl.authorizationCheck: #NOT_REQUIRED //@EndUserText.label: 'ZDdls_sample_08_cds_tab_fun' //@Metadata.ignorePropagatedAnnotations: true //@ObjectModel.usageType:{ //    serviceQuality: #X, //    sizeCategory: #S, //    dataClass: #MIXED //} //define view entity ZDdls_sample_08_cds_tab_fun //  as select from zemployee_salary as sal  //  association [1] to zemp...

CDS Unit and Currency Conversion Function Part 15 ABAP on HANA Course

Image
@AbapCatalog.viewEnhancementCategory: [#NONE] @AccessControl.authorizationCheck: #CHECK @EndUserText.label: 'Left outer join cardinality' @Metadata.ignorePropagatedAnnotations: true @ObjectModel.usageType:{     serviceQuality: #X,     sizeCategory: #S,     dataClass: #MIXED } define view entity ZDDLS_SAMPLE_04   as select from vbak   association [0..1] to vbap as _item    on vbak.vbeln = _item.vbeln   with default filter _item.netwr > 500 {   key vbak.vbeln as so,       @EndUserText.label: 'Customer'       @EndUserText.quickInfo: 'Customer Info'       vbak.kunnr,       vbak.waerk,       vbak.vkorg,       vbak.vbtyp,       @Semantics.amount.currencyCode: 'waerk'       vbak.netwr,                        _item.posnr,       _item.matnr, ...

Path Expression in CDS association PART 12 ABAP on HANA Course

Image
@AbapCatalog.viewEnhancementCategory: [#NONE] @AccessControl.authorizationCheck: #CHECK @EndUserText.label: 'path expresson' @Metadata.ignorePropagatedAnnotations: true @ObjectModel.usageType:{     serviceQuality: #X,     sizeCategory: #S,     dataClass: #MIXED } define view entity ZDDLS_SAMPLE_06   as select from vbak   association [1..*] to vbap as _item on vbak.vbeln = _item.vbeln   association [1..1] to kna1 as _cust on vbak.kunnr = _cust.kunnr   association [1..*] to makt as _matdesc on $projection.matnr = _matdesc.matnr   association [0..*] to vbfa as _docflow on vbak.vbeln  = _docflow.vbelv {   key vbeln as so,       kunnr,       _item.posnr,       _item.matnr,       _cust[inner].name1,       _docflow,       _matdesc        } /* source._assoc1[parameter/properties]._assc2.field cardinality join filter condit...

Association to Inner Join CDS PART 11 ABAP on HANA Course

Image
@AbapCatalog.viewEnhancementCategory: [#NONE] @AccessControl.authorizationCheck: #CHECK @EndUserText.label: 'Inner join' @Metadata.ignorePropagatedAnnotations: true @ObjectModel.usageType:{     serviceQuality: #X,     sizeCategory: #S,     dataClass: #MIXED } define view entity ZDDLS_SAMPLE_05   as select from ZDDLS_SAMPLE_04._item as item   association[*] to makt as _matdesc      on item.matnr = _matdesc.matnr   association[*] to vbfa as _docflow      on item.vbeln = _docflow.vbelv      and item.posnr = _docflow.posnv      and _docflow.vbtyp_v = 'C'      and _docflow.vbtyp_n = 'M'   {       vbeln,  posnr,  matnr,  _matdesc[spras = 'E'].maktx,  _docflow[inner].vbeln as invoice,  _docflow[inner].posnn } where vbeln = '0000000149' or       vbeln = '0000000011'      

Cardinality left outer join CDS Part 8 ABAP on HANA Course

Image
@AbapCatalog.viewEnhancementCategory: [#NONE] @AccessControl.authorizationCheck: #CHECK @EndUserText.label: 'Left outer join cardinality' @Metadata.ignorePropagatedAnnotations: true @ObjectModel.usageType:{     serviceQuality: #X,     sizeCategory: #S,     dataClass: #MIXED } define view entity ZDDLS_SAMPLE_04   as select from vbak   association [0..1] to vbap as _item    on vbak.vbeln = _item.vbeln   with default filter _item.netwr > 500 {   key vbak.vbeln as so,       @EndUserText.label: 'Customer'       @EndUserText.quickInfo: 'Customer Info'       vbak.kunnr,       vbak.waerk,       vbak.vkorg,       vbak.vbtyp,       @Semantics.amount.currencyCode: 'waerk'       vbak.netwr,                        _item.posnr,       _item.matnr, ...

CDS View entity with join and literals Part 6 ABAP on HANA Course

Image
*&---------------------------------------------------------------------* *& Report z_cds_cunsumption *&---------------------------------------------------------------------* *& *&---------------------------------------------------------------------* REPORT z_cds_cunsumption. SELECT *  FROM zcds_sample_01  INTO TABLE @DATA(it_result). IF sy-subrc IS INITIAL.   cl_demo_output=>display( it_result ). ENDIF. *cl_salv_gui_table_ida=>create_for_cds_view( *  EXPORTING *    iv_cds_view_name      = 'ZDDLS_SAMPLE_04' **    io_gui_container      = **    io_calc_field_handler = **  RECEIVING **    ro_alv_gui_table_ida  = *)->fullscreen( )->display( ). *CATCH cx_salv_ida_contract_violation.. *CATCH cx_salv_db_connection. *CATCH cx_salv_db_table_not_supported. *CATCH cx_salv_ida_contract_violation. *CATCH cx_salv_function_not_supported. *cl_dd_ddl_annotation_service=>g...