DDCDS_ENTITY_ELEMENTS_INTERN

DDL: DDCDS_ENTITY_ELEMENTS_INTERN Type: view_entity Package: SD_CDS_INFO_PROVIDER

Metadata of CDS Entities: Elements

DDCDS_ENTITY_ELEMENTS_INTERN is a CDS View that provides data about "Metadata of CDS Entities: Elements" in SAP S/4HANA. It reads from 3 data sources (dd03nd, dd02b, tadir) and exposes 14 fields with key fields entity_name, entity_state, element_name. It has 9 associations to related views. Part of development package SD_CDS_INFO_PROVIDER.

Data Sources (3)

SourceAliasJoin Type
dd03nd elements inner
dd02b stob from
tadir tadir inner

Associations (9)

CardinalityTargetAliasCondition
[0..1] ddddlsrc03nt _label_active _label_active.strucobjn = stob.strucobjn and _label_active.as4local = stob.as4local and _label_active.fieldname = elements.fieldname and _label_active.ddlanguage = $session.system_language -- Element Label - English
[0..1] ddddlsrc03nt _label_active_en _label_active_en.strucobjn = stob.strucobjn and _label_active_en.as4local = stob.as4local and _label_active_en.fieldname = elements.fieldname and _label_active_en.ddlanguage = 'E' -- Element Label - original language
[0..1] ddddlsrc03nt _label_active_orig _label_active_orig.strucobjn = stob.strucobjn and _label_active_orig.as4local = stob.as4local and _label_active_orig.fieldname = elements.fieldname and _label_active_orig.ddlanguage = tadir.masterlang -- Annotation 'AGGREGATION.DEFAULT'
[0..1] ddfieldanno _aggregation_default _aggregation_default.strucobjn = elements.strucobjn and _aggregation_default.lfieldname = elements.fieldname and _aggregation_default.name = 'AGGREGATION.DEFAULT' -- Annotation 'SEMANTICS.AMOUNT.CURRENCYCODE'
[0..1] ddfieldanno _currency_code _currency_code.strucobjn = elements.strucobjn and _currency_code.lfieldname = elements.fieldname and _currency_code.name = 'SEMANTICS.AMOUNT.CURRENCYCODE' -- Annotation 'API.ELEMENT.RELEASESTATE'
[0..1] ddfieldanno _release_status _release_status.strucobjn = elements.strucobjn and _release_status.lfieldname = elements.fieldname and _release_status.name = 'API.ELEMENT.RELEASESTATE' -- Data Element label medium - Current Language
[0..1] dd04t _dte_label_active _dte_label_active.rollname = elements.rollname and _dte_label_active.as4local = elements.as4local and _dte_label_active.ddlanguage = $session.system_language and _dte_label_active.as4vers = '0000' -- Data Element label medium - English Language
[0..1] dd04t _dte_label_active_en _dte_label_active_en.rollname = elements.rollname and _dte_label_active_en.as4local = elements.as4local and _dte_label_active_en.ddlanguage = 'E' and _dte_label_active_en.as4vers = '0000' -- Data Element label medium - Original Language
[0..1] dd04t _dte_label_active_orig _dte_label_active_orig.rollname = elements.rollname and _dte_label_active_orig.as4local = elements.as4local and _dte_label_active_orig.ddlanguage = tadir.masterlang and _dte_label_active_orig.as4vers = '0000'

Annotations (2)

NameValueLevelField
AccessControl.authorizationCheck #NOT_REQUIRED view
EndUserText.label Metadata of CDS Entities: Elements view

Fields (14)

KeyFieldSource TableSource FieldDescription
KEY entity_name Entity Name Upper Case
KEY entity_state Entity State
KEY element_name Element Name
data_type_d Data Type short
length Length
decimals Decimals
domain_name Domain Name
data_element Data Element
simple_type Simple Type
ref_field Reference Element
ref_table Reference Object
is_key Is Key
is_virtual Is Virtual
is_external Is Element from Extend

Derived SQL interpretation, reconstructed from the parsed view metadata (data sources, associations, and field mappings). SAP annotations are omitted and the structure is reformulated as SQL — this is a functional approximation, not the verbatim SAP source.

-- Derived SQL interpretation of CDS view DDCDS_ENTITY_ELEMENTS_INTERN.
-- Reconstructed from parsed metadata (data sources, associations, fields).
-- SAP annotations are omitted and the structure is reformulated as SQL;
-- this is a functional approximation, not the verbatim SAP source. Some join
-- conditions may be unavailable and a few CDS constructs are kept as-is.

CREATE VIEW DDCDS_ENTITY_ELEMENTS_INTERN AS
SELECT
  cast(stob.strucobjn as abap.char(30)) AS entity_name,
  cast(stob.as4local as abap.char(1)) AS entity_state,
  cast(elements.fieldname as abap.char(30)) AS element_name,
  cast(elements.datatype as abap.char(4) ) AS data_type_d,
  cast(elements.leng as abap.numc(6) ) AS length,
  cast(elements.decimals as abap.numc(6) ) AS decimals,
  cast(elements.domname as abap.char(30)) AS domain_name,
  cast(elements.rollname as abap.char(30)) AS data_element,
  cast(elements.simple_type as abap.char(30)) AS simple_type,
  cast(elements.reffield as abap.char(30)) AS ref_field,
  cast(elements.reftable as abap.char(30)) AS ref_table,
  cast(elements.keyflag as abap.char(1)) AS is_key,
  cast(elements.is_virtual as abap.char(1)) AS is_virtual,
  case when elements.fieldorigin = 'E' then 'X' else ' ' end AS is_external
FROM dd02b AS stob
INNER JOIN dd03nd AS elements ON /* join condition not captured in parsed metadata */
INNER JOIN tadir ON /* join condition not captured in parsed metadata */
LEFT OUTER JOIN ddddlsrc03nt AS _label_active ON _label_active.strucobjn = stob.strucobjn AND _label_active.as4local = stob.as4local AND _label_active.fieldname = elements.fieldname AND _label_active.ddlanguage = $session.system_language  -- association [0..1]
LEFT OUTER JOIN ddddlsrc03nt AS _label_active_en ON _label_active_en.strucobjn = stob.strucobjn AND _label_active_en.as4local = stob.as4local AND _label_active_en.fieldname = elements.fieldname AND _label_active_en.ddlanguage = 'E'  -- association [0..1]
LEFT OUTER JOIN ddddlsrc03nt AS _label_active_orig ON _label_active_orig.strucobjn = stob.strucobjn AND _label_active_orig.as4local = stob.as4local AND _label_active_orig.fieldname = elements.fieldname AND _label_active_orig.ddlanguage = tadir.masterlang  -- association [0..1]
LEFT OUTER JOIN ddfieldanno AS _aggregation_default ON _aggregation_default.strucobjn = elements.strucobjn AND _aggregation_default.lfieldname = elements.fieldname AND _aggregation_default.name = 'AGGREGATION.DEFAULT'  -- association [0..1]
LEFT OUTER JOIN ddfieldanno AS _currency_code ON _currency_code.strucobjn = elements.strucobjn AND _currency_code.lfieldname = elements.fieldname AND _currency_code.name = 'SEMANTICS.AMOUNT.CURRENCYCODE'  -- association [0..1]
LEFT OUTER JOIN ddfieldanno AS _release_status ON _release_status.strucobjn = elements.strucobjn AND _release_status.lfieldname = elements.fieldname AND _release_status.name = 'API.ELEMENT.RELEASESTATE'  -- association [0..1]
LEFT OUTER JOIN dd04t AS _dte_label_active ON _dte_label_active.rollname = elements.rollname AND _dte_label_active.as4local = elements.as4local AND _dte_label_active.ddlanguage = $session.system_language AND _dte_label_active.as4vers = '0000'  -- association [0..1]
LEFT OUTER JOIN dd04t AS _dte_label_active_en ON _dte_label_active_en.rollname = elements.rollname AND _dte_label_active_en.as4local = elements.as4local AND _dte_label_active_en.ddlanguage = 'E' AND _dte_label_active_en.as4vers = '0000'  -- association [0..1]
LEFT OUTER JOIN dd04t AS _dte_label_active_orig ON _dte_label_active_orig.rollname = elements.rollname AND _dte_label_active_orig.as4local = elements.as4local AND _dte_label_active_orig.ddlanguage = tadir.masterlang AND _dte_label_active_orig.as4vers = '0000'  -- association [0..1]
;