Case Statement in CDS Views

Case Statement in CDS Views

Bir durum ayrımı her zaman CASE sözcüğü ile başlar, END anahtar sözcüğü ile biter. Basit durum ayrımı ve karmaşık durum ayrımlarını ABAP CDS içerisinde CASE ifadesi ile karşılaştırabiliriz. CDS oluşturma ile ilgili yazımızı link üzerinden okuyabilirsiniz.

Case Statement in CDS Views
Case Statement in CDS Views

Basit CASE Örneği

@AbapCatalog.sqlViewName: 'ZED_CDS_TEST_V'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Case Example'
define view ZED_CDS_TEST as select from mara 

{
    key mara.matnr,
        mara.mtart,
        mara.matkl,
        
        case mara.mtart
            when 'HALB' then 'Yarı Mamül'
            when 'ROH'  then 'Hammadde'
            else 'Diğer Malzeme Türü'
            end as malzeme_turu
}

Karmaşık CASE Örneği

@AbapCatalog.sqlViewName: 'ZED_CDS_TEST_V'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Case Example'
define view ZED_CDS_TEST as select from ekko 

{
    key ekko.ebeln,
        
    case 
        when ekko.bstyp = 'F' and ekko.ekgrp = '201' then 'Endirekt SAS'
        when ekko.bstyp = 'L' and ekko.ekgrp = '203' then 'Seri Teslimat'
        else case
                when ekko.bstyp = 'A' then 'Teklif Talebi'
                else 'Diğer'
                end
            
        end as ekko_result
}

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Sitemizde en iyi deneyimi yaşamanızı sağlamak için çerezler kullanmaktadır.