RSRTS_QF4_DirectBaseCDSViews

DDL: RSRTS_QF4_DIRECTBASECDSVIEWS SQL: RSRTS_QF4_DBCDSV Type: view

List direct base objects

RSRTS_QF4_DirectBaseCDSViews is a CDS View that provides data about "List direct base objects" in SAP S/4HANA. It reads from 10 data sources and exposes 1 field with key field entity_name.

Data Sources (10)

SourceAliasJoin Type
ddldependency _from_cds inner
ddldependency _from_sql inner
dd2526v dd2526v inner
dd2526v dd2526v inner
ddcds_fromclause from_clause from
ddldependency stob_dep union
ddldependency stob_dep union
ddldependency stob_dep_dbo inner
ddldependency view_dep inner
ddldependency view_dep inner

Annotations (4)

NameValueLevelField
AbapCatalog.sqlViewName RSRTS_QF4_DBCDSV view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #NOT_REQUIRED view
EndUserText.label List direct base objects view

Fields (1)

KeyFieldSource TableSource FieldDescription
KEY entity_name ddcds_fromclause entity_name Entity Name Upper Case
@AbapCatalog.sqlViewName: 'RSRTS_QF4_DBCDSV'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'List direct base objects'

// get all views in the FROM-clause and used associations

// there is no way to distinguish between these

// copy of DDCDS_LIST_DIRECT_BASE_ENTITY - has to be replaced when original available

define view RSRTS_QF4_DirectBaseCDSViews

// View entities

  as select from ddcds_fromclause as from_clause

{
      @EndUserText.label: 'Entity Name Upper Case'
  key from_clause.entity_name     as entity_name,
      @EndUserText.label: 'Direct Base Object'
      from_clause.parameter_value as direct_base_object
}
where
      from_clause.as4local = 'A'
  and parameter_name = 'DIRECT_BASE_OBJECT'

// Views  

// ignore all objects which are not CDS views - these are not relevant in query context

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
  inner join      dd2526v       as dd2526v   on dd2526v.viewname = view_dep.objectname

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

  inner join      ddldependency as _from_cds on  _from_cds.ddlname    = _from_sql.ddlname
                                             and _from_cds.state      = _from_sql.state
                                             and _from_cds.objecttype = 'STOB'
{

      @EndUserText.label: 'Entity Name Upper Case'
  key stob_dep.objectname  as entity_name,
      @EndUserText.label: 'Direct Base Object'
      _from_cds.objectname as direct_base_object

}
where
      stob_dep.objecttype =  'STOB'
  and dd2526v.as4local    = 'A'
  and dd2526v.tabname     <> 'DDDDLNUMTYPES'
  and dd2526v.tabname     <> 'DDDDLCHARTYPES'
  and dd2526v.tabname     <> 'DDDDLCURRTYPES'
  and dd2526v.tabname     <> 'DDDDLQUANTYPES'
  
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
{

      @EndUserText.label: 'Entity Name Upper Case'
  key cast(stob_dep.objectname                           as abap.char(30)) as entity_name,

      @EndUserText.label: 'Direct Base Object'
      stob_dep_dbo.objectname                    as direct_base_object
}
where
      stob_dep.objecttype = 'STOB'
  and stob_dep.state      = 'A'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"DDCDS_FROMCLAUSE",
"DDLDEPENDENCY",
"DD2526V"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/