DDCDS_ENTITY_ELEMENTS_INTERN
Metadata of CDS Entities: Elements
DDCDS_ENTITY_ELEMENTS_INTERN is a CDS View in S/4HANA. Metadata of CDS Entities: Elements. It contains 7 fields. 1 CDS views read from this table.
CDS Views using this table (1)
| View | Type | Join | VDM | Description |
|---|---|---|---|---|
| dbc2abap_cds_elements | view_entity | inner | CDS Entities in SQL1 Service Bindings |
Fields (7)
| Key | Field | CDS Fields | Used in Views |
|---|---|---|---|
| KEY | element_name | element_name | 1 |
| data_type_d | ddic_type | 1 | |
| decimals | ddic_decimals | 1 | |
| element_name_raw | element_name_raw | 1 | |
| element_position | element_position | 1 | |
| is_key | is_key | 1 | |
| length | ddic_length | 1 |
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'Metadata of CDS Entities: Elements'
// **********************************************************************************************************************************************************//
// Internal: This view provides elements metadata of CDS Entities. //
// **********************************************************************************************************************************************************//
define view entity DDCDS_ENTITY_ELEMENTS_INTERN
as select from dd02b as stob
inner join dd03nd as elements on elements.strucobjn = stob.strucobjn
and elements.as4local = stob.as4local
and elements.nodename = '.NODE1'
-- tadir
inner join tadir as tadir on tadir.pgmid = 'R3TR'
and tadir.object = 'STOB'
and tadir.obj_name = stob.strucobjn
-- Element Label - Current Language
/*+[hideWarning] { "IDS" : [ "CARDINALITY_CHECK" ] }*/
association [0..1] to 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
-- Element Label - English
/*+[hideWarning] { "IDS" : [ "CARDINALITY_CHECK" ] }*/
association [0..1] to 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'
-- Element Label - original language
/*+[hideWarning] { "IDS" : [ "CARDINALITY_CHECK" ] }*/
association [0..1] to 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
-- Annotation 'AGGREGATION.DEFAULT'
/*+[hideWarning] { "IDS" : [ "CARDINALITY_CHECK" ] }*/
association [0..1] to ddfieldanno as _aggregation_default on _aggregation_default.strucobjn = elements.strucobjn
and _aggregation_default.lfieldname = elements.fieldname
and _aggregation_default.name = 'AGGREGATION.DEFAULT'
-- Annotation 'SEMANTICS.AMOUNT.CURRENCYCODE'
/*+[hideWarning] { "IDS" : [ "CARDINALITY_CHECK" ] }*/
association [0..1] to ddfieldanno as _currency_code on _currency_code.strucobjn = elements.strucobjn
and _currency_code.lfieldname = elements.fieldname
and _currency_code.name = 'SEMANTICS.AMOUNT.CURRENCYCODE'
-- Annotation 'API.ELEMENT.RELEASESTATE'
/*+[hideWarning] { "IDS" : [ "CARDINALITY_CHECK" ] }*/
association [0..1] to ddfieldanno as _release_status on _release_status.strucobjn = elements.strucobjn
and _release_status.lfieldname = elements.fieldname
and _release_status.name = 'API.ELEMENT.RELEASESTATE'
-- Data Element label medium - Current Language
association [0..1] to 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'
-- Data Element label medium - English Language
association [0..1] to 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'
-- Data Element label medium - Original Language
association [0..1] to 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'
{
@EndUserText.label: 'Entity Name Upper Case'
key cast(stob.strucobjn as abap.char(30)) as entity_name,
@EndUserText.label: 'Entity State'
key cast(stob.as4local as abap.char(1)) as entity_state,
@EndUserText.label: 'Element Name'
key cast(elements.fieldname as abap.char(30)) as element_name,
@EndUserText.label: 'Entity Name Raw'
cast(stob.strucobjn_raw as abap.char(30)) as entity_name_raw,
@EndUserText.label: 'Element Name Raw'
cast(elements.fieldname_raw as abap.char(30)) as element_name_raw,
@EndUserText.label: 'Element Position'
cast(elements.position as abap.int4) as element_position,
@EndUserText.label: 'Direct Element Label'
cast(coalesce( coalesce( _label_active.fieldlabel, _label_active_en.fieldlabel ), _label_active_orig.fieldlabel ) as abap.char(250)) as direct_element_label, // it is not inherited and not aligned with Metadata Extension aligned
@EndUserText.label: 'Language of Direct Element Label'
coalesce( coalesce( _label_active.ddlanguage, _label_active_en.ddlanguage ), _label_active_orig.ddlanguage ) as direct_element_label_language,
@EndUserText.label: 'Data Type short'
cast(elements.datatype as abap.char(4) ) as data_type_d,
@EndUserText.label: 'Length'
cast(elements.leng as abap.numc(6) ) as length,
@EndUserText.label: 'Decimals'
cast(elements.decimals as abap.numc(6) ) as decimals,
@EndUserText.label: 'Domain Name'
cast(elements.domname as abap.char(30)) as domain_name,
@EndUserText.label: 'Data Element'
cast(elements.rollname as abap.char(30)) as data_element,
@EndUserText.label: 'Data Element Label Medium'
cast(coalesce( coalesce( _dte_label_active.scrtext_m, _dte_label_active_en.scrtext_m ), _dte_label_active_orig.scrtext_m ) as abap.char(20)) as data_element_label_m,
@EndUserText.label: 'Data Element Label Medium Language'
coalesce( coalesce( _dte_label_active.ddlanguage, _dte_label_active_en.ddlanguage ), _dte_label_active_orig.ddlanguage ) as data_element_label_m_language,
@EndUserText.label: 'Reference Element'
cast(elements.reffield as abap.char(30)) as ref_field,
@EndUserText.label: 'Reference Object'
cast(elements.reftable as abap.char(30)) as ref_table,
@EndUserText.label: 'Direct Default Aggregation'
cast( _aggregation_default.value as abap.char(30) ) as direct_default_aggregation, // it is not inherited and hence not aligned with Annotation API
@EndUserText.label: 'Direct Currency Code'
cast( _currency_code.value as abap.char(65) ) as direct_currency_code, // it is not inherited and hence not aligned with Annotation API
@EndUserText.label: 'Direct Release Status'
cast( _release_status.value as abap.char(30) ) as direct_release_status, // it is not inherited and hence not aligned with Annotation API
@EndUserText.label: 'Is Key'
cast(elements.keyflag as abap.char(1)) as is_key,
@EndUserText.label: 'Is Calculated'
cast(elements.is_calculated as abap.char(1)) as is_calculated,
@EndUserText.label: 'Is Virtual'
cast(elements.is_virtual as abap.char(1)) as is_virtual,
@EndUserText.label: 'Is Element from Extend'
case when elements.fieldorigin = 'E' then 'X' else ' ' end as is_external
}
where
stob.as4local = 'A'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"DD02B",
"DD03ND",
"DD04T",
"DDDDLSRC03NT",
"DDFIELDANNO",
"TADIR"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/