ddcds_ddlsource

DDL: DDCDS_DDLSOURCE Type: view_entity Package: SD_CDS_INFO_PROVIDER

DDL Sources

ddcds_ddlsource is a CDS View that provides data about "DDL Sources" in SAP S/4HANA. It reads from 6 data sources and exposes 11 fields with key fields ddlname, entity_name, state, entity_name, state. Part of development package SD_CDS_INFO_PROVIDER.

Data Sources (6)

SourceAliasJoin Type
ddddlsrc ddddlsrc from
ddldependency ddldependency inner
ddldependency ddldependency inner
ddddlsrc extend_source inner
ddddlsrc extend_source union_all
ddddlsrc parent_source union_all

Annotations (2)

NameValueLevelField
EndUserText.label DDL Sources view
Metadata.ignorePropagatedAnnotations true view

Fields (11)

KeyFieldSource TableSource FieldDescription
KEY ddlname
KEY entity_name
KEY state
source_type
KEY entity_name
KEY state
source_type
KEY entity_name
KEY state
source_type
source
@EndUserText.label: 'DDL Sources'

@Metadata.ignorePropagatedAnnotations: true

// parent sources

define view entity ddcds_ddlsource
  as select from ddddlsrc

    inner join   ddldependency
      on  ddldependency.ddlname    = ddddlsrc.ddlname
      and ddldependency.state      = ddddlsrc.as4local
      and ddldependency.objecttype = 'STOB'

{
  key cast(ddddlsrc.ddlname as abap.char(40))                             as ddlname,
  key cast(ddldependency.objectname as abap.char(30))                     as entity_name,
  key cast(ddddlsrc.as4local as ddcds_state preserving type)              as state,

      cast('' as abap.char(40))                                           as parent_ddlname,
      cast(ddddlsrc.source_type as ddcds_ddls_sourcetype preserving type) as source_type,
      ddcds_remove_bas_inf_strng(source => ddddlsrc.source)               as source
}

where ddddlsrc.parentname is initial

// view extends, source type E

union all
  select from  ddddlsrc      as extend_source

    inner join ddldependency
      on  ddldependency.ddlname    = extend_source.ddlname
      and ddldependency.state      = extend_source.as4local
      and ddldependency.objecttype = 'STOB'

{
  key cast(extend_source.ddlname as abap.char(40))                             as ddlname,
  key cast(ddldependency.objectname as abap.char(30))                          as entity_name,
  key cast(extend_source.as4local as ddcds_state preserving type)              as state,

      cast(extend_source.parentname as abap.char(40))                          as parent_ddlname,
      cast(extend_source.source_type as ddcds_ddls_sourcetype preserving type) as source_type,
      ddcds_remove_bas_inf_strng(source => extend_source.source)               as source
}

where cast(extend_source.source_type as ddcds_ddls_sourcetype preserving type) = ddcds_ddls_sourcetype.#extend_view

// view entity extends, source type X

union all
  select from  ddddlsrc as parent_source

    inner join ddddlsrc as extend_source
      on extend_source.parentname = parent_source.ddlname

{
  key cast(extend_source.ddlname as abap.char(40))                             as ddlname,
  key cast('' as abap.char(30))                                                as entity_name,
  key cast(extend_source.as4local as ddcds_state preserving type)              as state,

      cast(extend_source.parentname as abap.char(40))                          as parent_ddlname,
      cast(extend_source.source_type as ddcds_ddls_sourcetype preserving type) as source_type,
      ddcds_remove_bas_inf_strng(source => extend_source.source)               as source
}

where cast(extend_source.source_type as ddcds_ddls_sourcetype preserving type) = ddcds_ddls_sourcetype.#extend_entity