My CDS view self study tutorial – Part 2 what objects are automatically generated after you activate one CDS view
- Part1 – how to test odata service generated by CDS view
- Part2 – this blog
- Part3 – how is view source in Eclipse converted to ABAP view in the backend
- Part4 – how does annotation @OData.publish work
- Part5 – how to create CDS view which supports navigation in OData service
- Part6 – consume table function in CDS view
- Part7 – unveil the secret of @ObjectModel.readOnly
- Part8 – my summary of different approaches for annotation declaration and generation
- Part9 – cube view and query view
- Part10 – How does CDS view key user extensibility work in S4/HANA
- Part11 – CDS view test double framework
- Part12 – CDS view source code count tool
- Part13 – CDS view authorization
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:
And get answer:
DDLS: Data Definition Language SourceSTOB: Structured Object
The relationship among these objects is listed below:
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.
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.
DDDDLSRC02BT
Text table which stores the view description specified via annotation @EndUserText.label.
DDHEADANNO
It stores all header annotation specified in CDS view source code with corresponding value.
DDLDEPENDENCY
It maintains relationship between the CDS core entity and automatically generated database view.
Nice blog. Thanks for sharing, keep going!
BR,
Steve
Hi Jerry,
Thanks a lot for your sharing.
it's amazing that so much tables was automatically insert lines when active a CDS view.
I also found more "DD*" tables in Package SDCBO. In a word, it's cool!
Hi Jerry,
Very good info :).
Thanks for sharing and keep it on 😛 for us
Thanks for sharing. Good blog as always.
Thanks,
Mark