ABAP Keyword Documentation → ABAP − Reference → Processing External Data → ABAP Database Access → ABAP-Managed Database Objects
Overview of ABAP-Managed Database Objects
ABAP-managed database objects can be the following:
- An instance of a transparent table defined in ABAP Dictionary.
- The name of the database table on the database matches the name of the table in ABAP Dictionary.
- Together, the key fields defined in ABAP Dictionary are the primary key of the database table on the database.
- The indexes defined in ABAP Dictionary are created on the database.
- The order of the fields in ABAP Dictionary does not need to match the order and on the database.
- An instance of a classic database view defined in ABAP Dictionary.
- The database object of a database view is implemented using the platform-specific database statement CREATE VIEW, which is itself based on the definition of the database view in ABAP Dictionary.
- The name of the view on the database matches the name of the table in ABAP Dictionary.
- The key fields of a database view defined in ABAP Dictionary are ignored on the database.
- An instance of the CDS database view of a CDS view.
- Currently, the database object of a CDS view is defined using its CDS database view. The name of this view is specified in the definition of the CDS view using the annotation @AbapCatalog.sqlViewName.
- The same applies as to classic database views, however (depending on the database platform) instances of CDS views with input parameters can also be created as database functions using CREATE FUNCTION, as is currently the case on SAP HANA databases.
- Instances of AMDP procedures and AMDP functions
- The AMDP framework copies the source code of AMDP procedure implementations and AMDP function implementations from AMDP classes to a database procedure managed by the framework.
- The name of an AMDP-managed database procedure is CLASS=>METH, where CLASS is the AMDP class and METH is the AMDP method.
- The parameter interface of an AMDP-managed database procedure is generated as a platform-specific interface from the parameter interface of the AMDP method.
- Instance of the AMDP functions of CDS table functions
- CDS table functions are implemented in AMDP function implementations whose parameter interface is defined by the CDS table function.
- The same properties apply as to all AMDP methods.
- Creating an instance of a CDS hierarchy
- Instances of CDS hierarchies are created as special views on the database, which access a built-in hierarchy function on the database.
- The name of the view on the database matches the name of the CDS hierarchy.
- Instances of ABAP-specific session variables
- The SAP HANA database has special ABAP-specific session variables whose content matches the value of specific ABAP system fields when accessed from ABAP. Some of these variables can also be modified from ABAP.
- On other database platforms, these ABAP-specific session variables exist only when CDS views are accessed using ABAP SQL.
- Instances of dependency rules defined in ABAP Dictionary on the SAP HANA database.
Alongside the database objects themselves, the definitions of these objects in the AS ABAP framework cover further attributes described using metadata that are not known on the database. The most important of these attributes are:
- Use as data types
- The database tables and database views in ABAP Dictionary can be used in ABAP Dictionary itself and as structured types in ABAP programs.
- CDS entities can be used as structured types.
- Client dependency
- Database tables and database views whose first column is a client column with the built-in dictionary type CLNT are client-specific.
- The annotation @ClientHandling.type or the obsolete annotation @ClientDependent define whether CDS views and CDS table functions are client-specific.
- Table buffering
- In ABAP Dictionary, it is possible to define whether table buffering takes place for database tables and database views and the method used.
- Table buffering of CDS views is defined by the annotation @AbapCatalog.buffering.
- An extension category can be defined in ABAP Dictionary for database tables.
- The extensibility of CDS views is defined by the annotation @AbapCatalog.viewEnhancementCategory.
- Foreign key dependencies
- In ABAP Dictionary, foreign key dependencies between foreign key tables and check tables can be defined for database tables. Text tables are special foreign key tables that associate the rows in check tables with language-specific texts.
- Logging can be enabled in ABAP Dictionary for database tables.
- Access control
- CDS roles from CDS access control can be defined for CDS views and CDS table functions and configured using the annotation @AccessControl.authorizationCheck.
- Reference fields
- For table fields or view fields with the built-in data types CURR and QUAN, reference fields of the types CUKY and UNIT must be defined in ABAP Dictionary.
- For the elements of CDS views and CDS table functions, the relationships to reference fields are defined using @Semantics annotations.
- Translatable texts
- For database tables and database views, translatable short texts and documentation can be created in ABAP Dictionary.
- For CDS views and CDS table functions and their elements, translatable texts are defined using @EndUserText annotations.
- AMDP classes and AMDP methods are documented in the same way as regular classes in ABAP Doc or by using traditional class documentation.
In AS ABAP, the database objects managed by ABAP Dictionary, ABAP CDS, and AMDP are represented by repository objects that have a package interface to the Change and Transport System (CTS). The database objects themselves are created and modified using internal DDL statements and the AS ABAP database interface.
The ABAP Dictionary, ABAP CDS, and AMDP frameworks, together with the Change and Transport System (CTS), ensure that complete and consistent ABAP-managed database objects are available to be accessed from AS ABAP.
7.31 | 7.40 | 7.54
The overview above does not contain any database objects created by AS ABAP on the database for purely technical reasons and which should therefore never be accessed. Examples of these are database objects in the AMDP framework that are part of the framework itself, unlike AMDP procedures and AMDP functions.