top of page
Geometric Abstract Shapes_edited.jpg

CDS Simple Types

Ab dem Release „2302 SAP BTP ABAP Environment“ besteht die Möglichkeit Datentypen mit CDS Simple Types direkt in ABAP CDS zu definieren.


CDS Simple Type anlegen
CDS Simple Type anlegen

Dies stellt die erste Alternative zu einem klassischen Datenelement dar und ermöglicht es folgende Annotationen direkt an den Datentypen zu hängen:

Conversion routing

@AbapCatalog.typeSpec.conversionExit

Lowercase letters

@ObjectModel.upperCase

Flag for change document

@AbapCatalog.typeSpec.changeDocumentRelevant

Field label, Heading

@EndUserText.heading

Field label, Medium

@EndUserText.label

Short Text

@EndUserText.quickInfo

CDS Simpley Types können sowohl in CDS-Views als auch im klassischen ABAP verwendet werden. Eine Verwendung in Datenbanktabellen ist nicht möglich.


Definition eines CDS Simple Types

@EndUserText.label: 'Travel'
DEFINE TYPE zrap_travel_id_cwe : abap.numc(8);

Verwendung in einem CDS-View

@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'RAP: Travel'
define root view entity ZRAP_I_TRAVEL_CWE
as select from ztravel_cwe
composition [0..*] of ZRAP_I_BOOKING_cwe as _Booking
{
key cast( travel_id as zrap_travel_id_cwe ) as TravelId
}

Verwendung in ABAP

DATA lv_travel_id TYPE zrap_travel_id_cwe.
lv_travel_id = 4711.


Fazit & Ausblick


Oft möchte man nur einen einheitlichen Text eines Typen definieren. Hier kann man sich die Anlage eines Datenelements ersparen, indem man zum CDS Simple Type greift.


Wünschenswert wäre, mehr Annotationen direkt an den Typen koppeln zu können. Einfache Suchhilfen beispielsweise direkt an den Datentypen hängen zu können, würde für Einheitlichkeit sorgen und viel doppeltes Coding ersparen.


Angekündigt ist bereits ein sogenannter "Enumerated Type". Wir dürfen uns also auf weitere Types freuen und vielleicht gibt es in Zukunft auch eine Ausbaustufe des "Simple" Types.

Aktuelle Beiträge

Alle ansehen

Basic Search als URL-Parameter

Bei der Navigation in SAP Fiori Applikationen können URL-Parameter an die SmartFilterBar übergeben werden. Dabei werden diese nach dem Semantischen Objekt angehägt, bspw. ?param=value. Da die Basic Se

bottom of page