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.
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 }