ddcds_table_header

DDL: DDCDS_TABLE_HEADER Type: view_entity Package: SD_CDS_INFO_PROVIDER

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.

Data Sources (2)

SourceAliasJoin Type
dd02b dd02b union_all
dd02l dd02l from

Annotations (3)

NameValueLevelField
AccessControl.authorizationCheck #NOT_REQUIRED view
EndUserText.label Tables (classical + CDS): Header Info view
Metadata.ignorePropagatedAnnotations true view

Fields (14)

KeyFieldSource TableSource FieldDescription
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'