Wednesday 21 June 2017

What objects are automatically generated after you activate one CDS view Part 2

Continues Part 1 My CDS view self study tutorial – Part 1 how to test odata service generated by CDS view

You paste the following source code for a simple CDS view into ABAP development studio and activate it:

@AbapCatalog.sqlViewName: 'zjerrySQL0208'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'test 233'
@ObjectModel: {
   createEnabled,
   deleteEnabled,
   updateEnabled

}
define view Zjerrytest20160208
as select from spfli association [0..1] to scarr as _scarr
on _scarr.carrid = spfli.carrid {
       key spfli.carrid,
       key _scarr.carrname,
       key spfli.connid,
       spfli.cityfrom,
       spfli.cityto
}

And you would like to know what objects are automatically generated during CDS view activation.

Automatically generated ABAP objects during CDS view activation

You could query table TADIR with following parameters:

SAP ABAP CDS, SAP ABAP Tutorials and Materials, SAP ABAP Certifications

And get answer:

DDLS: Data Definition Language SourceSTOB: Structured Object

SAP ABAP CDS, SAP ABAP Tutorials and Materials, SAP ABAP Certifications

The relationship among these objects is listed below:

SAP ABAP CDS, SAP ABAP Tutorials and Materials, SAP ABAP Certifications

And if you use the same approach described in tutorial part1, you can realize that lots of database tables “DD*” are involved during CDS view activation, for example DDLDEPENDENCY. A small tip here is, if you click “Display Object List” button, you will navigate to the package where other related ABAP artifacts within the same package are displayed as well.

SAP ABAP CDS, SAP ABAP Tutorials and Materials, SAP ABAP Certifications

SAP ABAP CDS, SAP ABAP Tutorials and Materials, SAP ABAP Certifications

Now we can go through each database table one by one.

Automatically inserted table entries during CDS view activation


Several table entries are inserted to the database tables in package SDDL during view activation.

DDDDLSRC

Query this table by specifying DDLNAME as CDS view name we specified in ABAP development studio, the name after keyword “define view” : Zjerrytest20160208, and we can find view source code stored in field SOURCE.

SAP ABAP CDS, SAP ABAP Tutorials and Materials, SAP ABAP Certifications

DDDDLSRC02BT

Text table which stores the view description specified via annotation @EndUserText.label.

SAP ABAP CDS, SAP ABAP Tutorials and Materials, SAP ABAP Certifications

DDHEADANNO

It stores all header annotation specified in CDS view source code with corresponding value.

SAP ABAP CDS, SAP ABAP Tutorials and Materials, SAP ABAP Certifications

DDLDEPENDENCY

It maintains relationship between the CDS core entity and automatically generated database view.

SAP ABAP CDS, SAP ABAP Tutorials and Materials, SAP ABAP Certifications

No comments:

Post a Comment