01 Was passiert ist
SAP veröffentlichte eine technische Anleitung zu Felddefinitionen in CDS-Tabellenentitäten. Entwickler können explizit null für LOB- und Geodatenspalten verwenden. Die Client-Abhängigkeit wird jetzt implizit über die @ClientHandling.type-Annotation behandelt; das explizite Client-Feld wird nicht mehr benötigt. abap.int1 wird nun auf HANA TINYINT abgebildet (klassische Tabellen verwenden SMALLINT). Die Typen abap.clnt, abap.dats, abap.tims, abap.accp, abap.lchr, abap.varc, abap.df16_raw und abap.df34_raw sind veraltet.
02 Die wichtigsten Details
- Feldsyntax: field_definition ::= [field_annotation] [key] field_name : type_reference [null]; Nullability wird offiziell unterstützt; abap.string und abap.rawstring erfordern das null-Schlüsselwort.
- Client-Abhängigkeit wird implizit über die Annotation @ClientHandling.type behandelt; abap.clnt wird nicht unterstützt.
- abap.int1 wird auf TINYINT abgebildet (einziger Mapping-Unterschied zu klassischen Tabellen); abap.dats und abap.tims werden durch abap.datn (DATE) und abap.timn (TIME) ersetzt.
- DF16_RAW, DF34_RAW und LCHR sind veraltet. DF16_RAW und DF34_RAW erfordern eine Tabellenkonvertierung zu DEC, DECFLOAT16 oder DECFLOAT34.
03 Warum das wichtig ist
Entwickler, die CDS-Tabellenentitäten erstellen oder migrieren, müssen nullable LOB-/Geodatentypen und implizite Client-Behandlung berücksichtigen sowie veraltete Typen ersetzen, bevor diese die Weiterentwicklung blockieren oder Tabellenkonvertierungen erzwingen.
04 Für wen es relevant ist
ABAP-Entwickler, Datenarchitekten und SAP HANA-Administratoren.