ddcds_table_header
Tables (classical + CDS): Header Info
ddcds_table_header is a CDS View that provides data about "Tables (classical + CDS): Header Info" in SAP S/4HANA. It reads from 2 data sources (dd02b, dd02l) and exposes 14 fields with key fields table_name, state, state. Part of development package SD_CDS_INFO_PROVIDER.
Annotations (3)
| Name | Value | Level | Field |
|---|---|---|---|
| AccessControl.authorizationCheck | #NOT_REQUIRED | view | |
| EndUserText.label | Tables (classical + CDS): Header Info | view | |
| Metadata.ignorePropagatedAnnotations | true | view |
Fields (14)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | table_name | Table Name Upper Case | ||
| KEY | state | Table Activation State | ||
| change_user | Changed By | |||
| change_date | Changed On | |||
| change_time | Changed At | |||
| clientNULLastimestampaschanged_utc | Changed UTC | |||
| comprflagPthenelseXendasprimary_key | Existence of Primary Key | |||
| buffered | Buffering | |||
| KEY | state | dd02b | as4local | |
| change_user | dd02b | chguser | ||
| change_date | dd02b | chgdate | ||
| change_time | dd02b | chgtime | ||
| clientNULLaschanged_utc | ||||
| buffered | dd02bnd | buffered |
@AbapCatalog.viewEnhancementCategory: [#NONE]
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'Tables (classical + CDS): Header Info'
@Metadata.ignorePropagatedAnnotations: true
define view entity ddcds_table_header
as select from dd02l
left outer exact one to one join ddcds_classic_tabl_clnt_field
on dd02l.tabname = ddcds_classic_tabl_clnt_field.tabname
and dd02l.as4local = ddcds_classic_tabl_clnt_field.as4local
and dd02l.as4vers = ddcds_classic_tabl_clnt_field.as4vers
left outer exact one to one join dd09l
on dd02l.tabname = dd09l.tabname
and dd02l.as4local = dd09l.as4local
and dd02l.as4vers = dd09l.as4vers
{
@EndUserText.label: 'Table Name Upper Case'
key cast( dd02l.tabname as abap.char(30) ) as table_name,
@EndUserText.label: 'Table Activation State'
key cast( dd02l.as4local as abap.char(1) ) as state,
@EndUserText.label: 'Table Kind (classical or CDS)'
ddcds_table_kind.#classical_ddic_table as ddic_table_kind,
@EndUserText.label: 'Changed By'
cast( dd02l.as4user as abap.char(12) ) as change_user,
@EndUserText.label: 'Changed On'
cast( dd02l.as4date as abap.dats ) as change_date,
@EndUserText.label: 'Changed At'
cast( dd02l.as4time as abap.tims ) as change_time,
@EndUserText.label: 'Changed UTC'
cast( dats_tims_to_tstmp( $projection.change_date,
$projection.change_time,
abap_system_timezone( $session.client,'NULL' ),
$session.client,
'NULL' ) as timestamp ) as changed_utc,
@EndUserText.label: 'Client Dependent'
cast( dd02l.clidep as abap.char(1) ) as client_dependent,
@EndUserText.label: 'Name of Client Element'
cast( ddcds_classic_tabl_clnt_field.client_fieldname as abap.char(30) ) as client_element_name,
@EndUserText.label: 'Existence of Primary Key'
case when dd02l.comprflag = 'P' then ''
else 'X'
end as primary_key,
@EndUserText.label: 'Activation flag for dependent objects'
cast( dd02l.actflag as abap.char(4) ) as activation_flag,
@EndUserText.label: 'Delivery Class'
cast( dd02l.contflag as abap.char(1) ) as delivery_class,
@EndUserText.label: 'Maintenance with standard tools'
cast( dd02l.mainflag as abap.char(1) ) as data_maintenance_allowed,
@EndUserText.label: 'Buffering'
cast( dd02l.buffered as abap.char(1) ) as buffered,
@EndUserText.label: 'Handling of Entries in Translation'
cast( dd09l.uebersetz as abap.char(1) ) as translation_of_entries,
@EndUserText.label: 'Global Temporary Table'
cast( dd02l.is_gtt as abap.char(1) ) as global_temporary_table
} where dd02l.tabclass = 'TRANSP'
union all select from dd02b
left outer exact one to one join dd02bnd
on dd02b.strucobjn = dd02bnd.strucobjn
and dd02bnd.nodename = '.NODE1'
and dd02b.as4local = dd02bnd.as4local
left outer exact one to one join dd03nd
on dd02bnd.strucobjn = dd03nd.strucobjn
and dd02bnd.nodename = dd03nd.nodename
and dd02bnd.as4local = dd03nd.as4local
and dd03nd.position = 1
{
key dd02b.strucobjn as table_name,
key dd02b.as4local as state,
ddcds_table_kind.#cds_table_entity as ddic_table_kind,
dd02b.chguser as change_user,
dd02b.chgdate as change_date,
dd02b.chgtime as change_time,
dats_tims_to_tstmp( $projection.change_date,
$projection.change_time,
abap_system_timezone( $session.client,'NULL' ),
$session.client,
'NULL' ) as changed_utc,
dd02b.clidep as client_dependent,
dd02b.clientfield as client_element_name,
case when $projection.client_dependent = 'X' then 'X'
else dd03nd.keyflag
end as primary_key,
dd02b.actflag as activation_flag,
dd02b.deliveryclass as delivery_class,
dd02b.mainflag as data_maintenance_allowed,
dd02bnd.buffered as buffered,
'' as translation_of_entries,
'' as global_temporary_table
} where dd02b.strucobjclass = 'TABENTITY'
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA