DDCDS_DIRECT_BASE_OBJECTS

DDL: DDCDS_DIRECT_BASE_OBJECTS SQL: DDCDS_G_DBO Type: view

Get direct base objects

DDCDS_DIRECT_BASE_OBJECTS is a CDS View that provides data about "Get direct base objects" in SAP S/4HANA. It reads from 21 data sources and exposes 6 fields with key fields entity_name, state, state, state, state.

Data Sources (21)

SourceAliasJoin Type
dd2526v dd2526v inner
dd2526v dd2526v inner
dd2526v dd2526v inner
dd2526v dd2526v inner
DDCDS_DIRECT_BASE_OBJECTS_V2 DDCDS_DIRECT_BASE_OBJECTS_V2 from
ddtypes object_type inner
ddtypes object_type inner
ddtypes object_type inner
ddtypes object_type inner
ddldependency stob_dep union
ddldependency stob_dep union
ddldependency stob_dep union
ddldependency stob_dep union
ddldependency stob_dep_dbo inner
ddldependency stob_dep_dbo inner
tadir tadir inner
ddldependency view_dep inner
ddldependency view_dep inner
ddldependency view_dep inner
ddldependency view_dep inner
ddldependency view_dep_dbo inner

Annotations (5)

NameValueLevelField
AbapCatalog.sqlViewName DDCDS_G_DBO view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #NOT_REQUIRED view
EndUserText.label Get direct base objects view

Fields (6)

KeyFieldSource TableSource FieldDescription
KEY entity_name entity_name
KEY state state
KEY state Entity State
KEY state Entity State
KEY state Entity State
KEY state Entity State
@AbapCatalog.sqlViewName: 'DDCDS_G_DBO'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'Get direct base objects'
// ***********************************************************************************************************//

// This view lists the direct base objects of a CDS entity which are either part of from clause

// or used in the join clause (also via Assoc path propagation).

// ***********************************************************************************************************//

define view DDCDS_DIRECT_BASE_OBJECTS
  // ****************************************************************************************************************//

  // -1- CDS V2 Entities(View Entity, Hierarchy etc) selecting from various objects like View, Hierarchy, Table etc.

  // ****************************************************************************************************************//

  as select from DDCDS_DIRECT_BASE_OBJECTS_V2
{
  key entity_name,
  key state,
      direct_base_object_name,
      direct_base_object_type,
      primary_data_source
}
// ***********************************************************************************************************//

// -2- CDS V1 Views with V1 as base objects

// ***********************************************************************************************************//

union select from ddldependency as stob_dep
  inner join      ddldependency as view_dep     on  view_dep.objecttype = 'VIEW'
                                                and view_dep.ddlname    = stob_dep.ddlname
                                                and view_dep.state      = stob_dep.state
  inner join      dd2526v       as dd2526v      on  dd2526v.viewname = view_dep.objectname
                                                and dd2526v.as4local = stob_dep.state

  inner join      ddldependency as view_dep_dbo on  view_dep_dbo.objecttype = 'VIEW'
                                                and view_dep_dbo.objectname = dd2526v.tabname
                                                and view_dep_dbo.state      = dd2526v.as4local

  inner join      ddldependency as stob_dep_dbo on  stob_dep_dbo.objecttype = 'STOB'
                                                and stob_dep_dbo.ddlname    = view_dep_dbo.ddlname
                                                and stob_dep_dbo.state      = view_dep_dbo.state

  inner join      ddtypes       as object_type  on object_type.typename = stob_dep_dbo.objectname
--and object_type.state    = stob_dep_dbo.state

{

      @EndUserText.label: 'Entity Name(Uppercase)'
  key cast(stob_dep.objectname                           as abap.char(30)) as entity_name,
      @EndUserText.label: 'Entity State'
  key cast(stob_dep.state                                as abap.char(1))  as state,
      @EndUserText.label: 'Direct Base Object Name(Uppercase)'
      cast(stob_dep_dbo.objectname    as abap.char(30))                    as direct_base_object_name,
      @EndUserText.label: 'Direct Base Object Type'
      cast(object_type.typekind  as abap.char(04))                         as direct_base_object_type,
      cast(''  as abap.char(1) )                                           as primary_data_source
}
where
      stob_dep.objecttype = 'STOB'
  and stob_dep.state      = 'A'

// ***********************************************************************************************************//

// -3- CDS V1 Views with tables as base objects

// ***********************************************************************************************************//

union select from ddldependency as stob_dep
  inner join      ddldependency as view_dep    on  view_dep.objecttype = 'VIEW'
                                               and view_dep.ddlname    = stob_dep.ddlname
                                               and view_dep.state      = stob_dep.state

  inner join      dd2526v       as dd2526v     on  dd2526v.viewname =  view_dep.objectname
                                               and dd2526v.as4local =  stob_dep.state
                                               and dd2526v.tabname  <> 'DDDDLNUMTYPES'
                                               and dd2526v.tabname  <> 'DDDDLCHARTYPES'
                                               and dd2526v.tabname  <> 'DDDDLCURRTYPES'
                                               and dd2526v.tabname  <> 'DDDDLQUANTYPES'
                                               and dd2526v.tabname  <> 'DDDDLDECTYPES'
                                               and dd2526v.tabname  <> 'T000'

  inner join      ddtypes       as object_type on  object_type.typename = dd2526v.tabname
  --and object_type.state    = dd2526v.as4local
                                               and object_type.typekind = 'TABL'
{

      @EndUserText.label: 'Entity Name(Uppercase)'
  key cast(stob_dep.objectname   as abap.char(30)) as entity_name,
      @EndUserText.label: 'Entity State'
  key cast(stob_dep.state        as abap.char(1))  as state,
      @EndUserText.label: 'Direct Base Object Name(Uppercase)'
      cast(dd2526v.tabname       as abap.char(30)) as direct_base_object_name,
      @EndUserText.label: 'Direct Base Object Type'
      cast(object_type.typekind  as abap.char(04)) as direct_base_object_type,
      cast(''  as abap.char(1) )                   as primary_data_source

}
where
      stob_dep.objecttype = 'STOB'
  and stob_dep.state      = 'A'


// ***********************************************************************************************************//

// -4- CDS V1 Views with DB Views(and not generated SQL View) as base objects

// ***********************************************************************************************************//

union select from ddldependency as stob_dep
  inner join      ddldependency as view_dep    on  view_dep.objecttype = 'VIEW'
                                               and view_dep.ddlname    = stob_dep.ddlname
                                               and view_dep.state      = stob_dep.state

  inner join      dd2526v       as dd2526v     on  dd2526v.viewname = view_dep.objectname
                                               and dd2526v.as4local = stob_dep.state

  inner join      ddtypes       as object_type on  object_type.typename = dd2526v.tabname
  --and object_type.state    = dd2526v.as4local
                                               and object_type.typekind = 'VIEW'

  inner join      tadir         as tadir       on  tadir.pgmid    =  'R3TR'
                                               and tadir.object   =  'VIEW'
                                               and tadir.obj_name =  dd2526v.tabname
                                               and tadir.genflag  <> 'X'

{

      @EndUserText.label: 'Entity Name(Uppercase)'
  key cast(stob_dep.objectname   as abap.char(30)) as entity_name,
      @EndUserText.label: 'Entity State'
  key cast(stob_dep.state        as abap.char(1))  as state,
      @EndUserText.label: 'Direct Base Object Name(Uppercase)'
      cast(dd2526v.tabname       as abap.char(30)) as direct_base_object_name,
      @EndUserText.label: 'Direct Base Object Type'
      cast(object_type.typekind  as abap.char(04)) as direct_base_object_type,
      cast(''  as abap.char(1) )                   as primary_data_source

}
where
      stob_dep.objecttype = 'STOB'
  and stob_dep.state      = 'A'
//***********************************************************************************************************//

//-5- CDS V1 Views on top of V2 Entities e.g. View on View Entity or View on Hierachy

//***********************************************************************************************************//

union select from ddldependency as stob_dep
  inner join      ddldependency as view_dep     on  view_dep.objecttype = 'VIEW'
                                                and view_dep.ddlname    = stob_dep.ddlname
                                                and view_dep.state      = stob_dep.state

  inner join      dd2526v       as dd2526v      on  dd2526v.viewname = view_dep.objectname
                                                and dd2526v.as4local = stob_dep.state

  inner join      ddldependency as stob_dep_dbo on  stob_dep_dbo.objecttype = 'STOB'
                                                and stob_dep_dbo.objectname = dd2526v.tabname
                                                and stob_dep_dbo.state      = dd2526v.as4local

  inner join      ddtypes       as object_type  on object_type.typename = stob_dep_dbo.objectname
--and object_type.state    = stob_dep_dbo.state

{

      @EndUserText.label: 'Entity Name(Uppercase)'
  key cast(stob_dep.objectname                           as abap.char(30)) as entity_name,
      @EndUserText.label: 'Entity State'
  key cast(stob_dep.state                                as abap.char(1))  as state,
      @EndUserText.label: 'Direct Base Object Name(Uppercase)'
      cast(stob_dep_dbo.objectname    as abap.char(30))                    as direct_base_object_name,
      @EndUserText.label: 'Direct Base Object Type'
      cast(object_type.typekind                   as abap.char(04))        as direct_base_object_type,
      cast(''  as abap.char(1) )                                           as primary_data_source
}
where
      stob_dep.objecttype = 'STOB'
  and stob_dep.state      = 'A'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"DDCDS_DIRECT_BASE_OBJECTS_V2",
"DDLDEPENDENCY",
"DDTYPES",
"TADIR",
"DD2526V"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/