XBARSLAN

Incubation Hub

  • ANASAYFA
  • HAKKIMDA
  • PROJELER
29 Mayıs 2016  |  By xbarslan ABAP CDS, HANA CDS, SAP HANA

ABAP CDS – Associations

XBARSLAN code

ABAP CDS Associations ile ilgili kod.

Ön koşullar

1. ABAP CDS yaratma
2. SAP EPM

Senaryo

Satış siparişlerinin detaylarını ve fatura bilgilerini içeren rapor.

Anlatım

CDS Associations konusu yeniden kullanılabilir JOIN olarak da düşünülebilir. Teknik olarak arka planda JOIN olarak çalıştırılmaktadır ancak association türüne göre yeniden de kullanılabilir. İki türlü association vardır. Ad-hoc ve Exposed association. Ad-hoc assocation normal JOIN gibi ikinci tablonun herhangi bir alanını kullanmak üzerinedir. Exposed association ise ilgili View için bir alan olarak görünmez ancak başka bir View aracılığıyla erişim sağlandığı zaman direk olarak orada kullanılabilir. Exposed assocation’ı iç içe structure gibi düşünebiliriz. Eğer tekrar eden satırlar olacak şekilde bir eşleşme yapılırsa ve ilgili bir alan kullanılmak istenirse satırlar çoklanarak getirilecektir. Association kullanımının bir diğer faydası ise okunabilir kodlama yapmaktır. Association için SAP HANA View’lerinde dökümantasyon oluşturmaktadır hangi alanlar aracılığıyla bağlanmış olduğuna dair bu yüzden karmaşık mimarilerde CDS View’lerin okunabilirliğini arttırmaktadır.

Associations sadece syntax olarak kontrol edilmektedir. Yapılan eşleşme türleri herhangi bir kontrole girmemektedir. Örneğin 1-1 eşleşme verdiğimiz bir View üzerinde 1-N sonuç gelmesi herhangi bir şekilde HANA tarafından kontrol edilmez. Buradaki belirlenen Cardinality tamamen dökümantasyon amaçlıdır. O yüzden Associations kullanırken bunlara dikkat edilmelidir.

Base CDS View

@AbapCatalog.sqlViewName: 'ZZXB_V_ASSOCTYPE'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Association types CDS örneği'
define view zzxb_cdsv_assoc_types as 
    select from snwd_so as so
        association [1] to snwd_bpa as bpa
                 on so.buyer_guid = $projection.buyer_guid 
        association[0..1] to snwd_so_inv_head as invhead
                 on so.buyer_guid = invhead.so_guid
{
    so.so_id as order_id,
    so.delivery_status,
    so.gross_amount,
    so.currency_code,
    
    // Ad-hoc association
    invhead.payment_status,
    
    so.buyer_guid,
    
    // Exposed association
    bpa
}

Consumed Association CDS View

@AbapCatalog.sqlViewName: 'ZZXB_V_ASSOCONS'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Association consumer CDS örneği'
define view zzxb_cdsv_assoc_consumer as 
    select from zzxb_cdsv_assoc_types as asstype
{
    bpa.company_name,
    sum( asstype.gross_amount ) as total_gross_amount,
    asstype.currency_code       
}
group by bpa.company_name,
         asstype.currency_code
abap hana cds cds associations cds hana hana associations
Avatar

xbarslan

Related Articles:

  • XBARSLAN code
    ABAP CDS - Filtering
  • XBARSLAN code
    ABAP CDS - Extension

Leave Comment Cancel Reply

(will not be shared)

PrevABAP CDS – Union
NextABAP CDS – Extension

Sosyal

Twitter 228Followers

Etiketler

ABAP-OO abap cds ABAP Class Encapsulation ABAP class instance abap hana amdp badi analiz big data bilgi yönetimi cds Encapsulation Fiori Gateway hana hana cds Mobil Mobile mrp live badi mrp live enhancement Netweaver Object Oriented ABAP ODATA Open SAP OPENUI5 raporlama sap sap abap SAP Fiori SAP Fiori Nedir? SAP Frontend SAP Gateway sap hana amdp sap hana mrp live sap merak edilenler SAP Mobil SAP Mobile SAP Mobile SDK SAP Mobility SAP ODATA SAPUI5 SAP Uygulamaları sqlscript veri Xamarin İş hayatı
© copyright 2015 by xbarslan