ddddls_viewstack_union

DDL: DDDDLS_VIEWSTACK_UNION Type: view_entity

Viewstack Union

ddddls_viewstack_union is a CDS View that provides data about "Viewstack Union" in SAP S/4HANA. It reads from 7 data sources and exposes 7 fields with key fields dep_ddlname, dep_name, dep_sql_name, CDS_DDLasdep_ddlname, dep_name.

Data Sources (7)

SourceAliasJoin Type
ddddls_viewstack_object_names baseobj_join left_outer
ddddls_viewstack_object_names baseobj_join left_outer
dd02l dd02l left_outer
dd26s dd26s from
ddcds_fromclause ddcds_fromclause union
ddddls_viewstack_object_names dep_join left_outer
ddddls_viewstack_object_names dep_join left_outer

Annotations (2)

NameValueLevelField
EndUserText.label Viewstack Union view
Metadata.ignorePropagatedAnnotations true view

Fields (7)

KeyFieldSource TableSource FieldDescription
KEY dep_ddlname ddddls_viewstack_object_names CDS_DDL
KEY dep_name ddddls_viewstack_object_names CDS_ENTITY
KEY dep_sql_name dd26s viewname
KEY CDS_DDLasdep_ddlname
KEY dep_name ddcds_fromclause entity_name
KEY dep_sql_name ddcds_fromclause entity_name
KEY baseobj_name ddcds_fromclause base_obj_name
@EndUserText.label: 'Viewstack Union'
@Metadata.ignorePropagatedAnnotations: true
define view entity ddddls_viewstack_union
  as select from    dd26s
    left outer join ddddls_viewstack_object_names as dep_join     on dd26s.viewname = dep_join.CDS_DB_VIEW
    left outer join ddddls_viewstack_object_names as baseobj_join on dd26s.tabname = baseobj_join.CDS_DB_VIEW
    left outer join dd02l                as dd02l        on dd26s.tabname = dd02l.tabname
{
// dep obj type mapping

      // V1 Entities

  key dep_join.CDS_DDL         as dep_ddlname,
  key dep_join.CDS_ENTITY      as dep_name,
  key dd26s.viewname           as dep_sql_name,
 // key dep_join.CDS_OBJECT_TYPE as dep_objtype,

  key cast( case
  when dep_join.CDS_OBJECT_TYPE is not initial then
   case   dep_join.CDS_OBJECT_TYPE
   when 'V' then 'STOB'
   when 'W' then 'STVE'
   when 'A' then 'STAE'
   when 'C' then 'STCU'
   when 'T' then 'STTF'
   when 'P' then 'STPR'
   when 'H' then 'STHI'
   else dep_join.CDS_OBJECT_TYPE
   end

  else dd02l.tabclass
  end as abap.char(10) )       as dep_objtype,
      // datenbankartefakt mitnehmen (v2: gleich entity name, v1: select)

  key baseobj_join.CDS_DDL     as baseobj_ddlname,
  key case
    when baseobj_join.CDS_ENTITY is not null then baseobj_join.CDS_ENTITY
    else dd26s.tabname
    end                        as baseobj_name,


  key dd26s.tabname            as baseobj_sql_name,
  key cast( case
  when baseobj_join.CDS_OBJECT_TYPE is not initial then
   case   baseobj_join.CDS_OBJECT_TYPE
   when 'V' then 'STOB'
   when 'W' then 'STVE'
   when 'A' then 'STAE'
   when 'C' then 'STCU'
   when 'T' then 'STTF'
   when 'P' then 'STPR'
   when 'H' then 'STHI'
   else baseobj_join.CDS_OBJECT_TYPE
   end

  else dd02l.tabclass
  end as abap.char(10) )       as baseobj_objtype

}

union select from ddcds_fromclause
  left outer join ddddls_viewstack_object_names as dep_join     on ddcds_fromclause.entity_name = dep_join.CDS_ENTITY
  left outer join ddddls_viewstack_object_names as baseobj_join on ddcds_fromclause.base_obj_name = baseobj_join.CDS_ENTITY
{
      // V2 Entities

  key dep_join.CDS_DDL         as dep_ddlname,
  key ddcds_fromclause.entity_name   as dep_name,
  key ddcds_fromclause.entity_name   as dep_sql_name,
 // key dep_join.CDS_OBJECT_TYPE       as dep_objtype,

    key cast( case
  when dep_join.CDS_OBJECT_TYPE is not initial then
   case   dep_join.CDS_OBJECT_TYPE
   when 'V' then 'STOB' //V1

   when 'W' then 'STVE' //V2

   when 'A' then 'STAE' 
   when 'C' then 'STCU'
   when 'T' then 'STTF'
   when 'P' then 'STPR'
   when 'H' then 'STHI'
   else dep_join.CDS_OBJECT_TYPE
   end
  end as abap.char(10) )       as dep_objtype,
  key baseobj_join.CDS_DDL     as baseobj_ddlname,
  key ddcds_fromclause.base_obj_name as baseobj_name,
//  key ddcds_fromclause.base_obj_name as baseobj_sql_name,

  key baseobj_join.CDS_DB_VIEW as baseobj_sql_name,
  key ddcds_fromclause.base_obj_type as baseobj_objtype
}
where
  ddcds_fromclause.parameter_name = 'DIRECT_BASE_OBJECT'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"DDDDLS_VIEWSTACK_OBJECT_NAMES",
"DD02L",
"DD26S",
"DDCDS_FROMCLAUSE"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/