Ab dem Release „2302 SAP BTP ABAP Environment“ besteht die Möglichkeit Datentypen mit CDS Simple Types direkt in ABAP CDS zu definieren.
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.