DDCDS_ENTITY_PARAMETERS is a CDS View that provides data about "Metadata of CDS Entities: Parameters" in SAP S/4HANA. It reads from 3 data sources (dd10b, dd02b, tadir) and exposes 7 fields with key fields entity_name, entity_state. It has 3 associations to related views.
_label_active.strucobjn = stob.strucobjn and _label_active.as4local = stob.as4local and _label_active.parametername = parameters.parametername and _label_active.nodename = parameters.nodename and _label_active.ddlanguage = $session.system_language -- Parameter Label - English
_label_active_en.strucobjn = stob.strucobjn and _label_active_en.as4local = stob.as4local and _label_active_en.parametername = parameters.parametername and _label_active_en.nodename = parameters.nodename and _label_active_en.ddlanguage = 'E' -- Parameter Label - original language
_label_active_orig.strucobjn = stob.strucobjn and _label_active_orig.as4local = stob.as4local and _label_active_orig.parametername = parameters.parametername and _label_active_orig.ddlanguage = tadir.masterlang and _label_active_orig.nodename = parameters.nodename
Annotations (2)
Name
Value
Level
Field
AccessControl.authorizationCheck
#NOT_REQUIRED
view
EndUserText.label
Metadata of CDS Entities: Parameters
view
Fields (7)
Key
Field
Source Table
Source Field
Description
KEY
entity_name
Entity Name Upper Case
KEY
entity_state
Entity State
length
Length
decimals
Decimals
abap_type
ABAP Type
data_element
Data Element
simple_type
Simple Type
@AccessControl.authorizationCheck: #NOT_REQUIRED@EndUserText.label: 'Metadata of CDS Entities: Parameters'
// **********************************************************************************************************************************************************//
// This view provides parameters metadata of CDS Entities. //
// Parameter Label texts are retrieved in the System Language. Fallback: First preference is English, the last preference isin original Language //
// **********************************************************************************************************************************************************//
defineviewentity DDCDS_ENTITY_PARAMETERS
asselectfrom dd02b as stob
innerjoin dd10b asparametersonparameters.strucobjn = stob.strucobjn
andparameters.as4local = stob.as4local
andparameters.nodename = '.NODE1'
-- tadir
innerjoin tadir as tadir on tadir.pgmid = 'R3TR'
and tadir.object = 'STOB'
and tadir.obj_name = stob.strucobjn
-- Parameter Label - Current Language
/*+[hideWarning] { "IDS" : [ "CARDINALITY_CHECK" ] }*/association [0..1] to ddddlsrc10bt as _label_active on _label_active.strucobjn = stob.strucobjn
and _label_active.as4local = stob.as4local
and _label_active.parametername = parameters.parametername
and _label_active.nodename = parameters.nodename
and _label_active.ddlanguage = $session.system_language
-- Parameter Label - English
/*+[hideWarning] { "IDS" : [ "CARDINALITY_CHECK" ] }*/association [0..1] to ddddlsrc10bt as _label_active_en on _label_active_en.strucobjn = stob.strucobjn
and _label_active_en.as4local = stob.as4local
and _label_active_en.parametername = parameters.parametername
and _label_active_en.nodename = parameters.nodename
and _label_active_en.ddlanguage = 'E'
-- Parameter Label - original language
/*+[hideWarning] { "IDS" : [ "CARDINALITY_CHECK" ] }*/association [0..1] to ddddlsrc10bt as _label_active_orig on _label_active_orig.strucobjn = stob.strucobjn
and _label_active_orig.as4local = stob.as4local
and _label_active_orig.parametername = parameters.parametername
and _label_active_orig.ddlanguage = tadir.masterlang
and _label_active_orig.nodename = parameters.nodename
{
@EndUserText.label: 'Entity Name Upper Case'
keycast(stob.strucobjn asabap.char(30)) as entity_name,
@EndUserText.label: 'Entity State'
keycast(stob.as4local asabap.char(1)) as entity_state,
@EndUserText.label: 'Parameter Name'
keycast(parameters.parametername asabap.char(30)) as parameter_name,
@EndUserText.label: 'Entity Name Raw'
cast(stob.strucobjn_raw asabap.char(30)) as entity_name_raw,
@EndUserText.label: 'Parameter Name Raw'
cast(parameters.parametername_raw asabap.char(30)) as parameter_name_raw,
@EndUserText.label: 'Parameter Position'
cast(parameters.posnr asabap.int4) as parameter_position,
/*+[hideWarning] { "IDS" : [ "CARDINALITY_CHECK" ] }*/@EndUserText.label: 'Parameter Label'
cast(coalesce( coalesce( _label_active.ddtext, _label_active_en.ddtext ), _label_active_orig.ddtext ) asabap.char(250)) as parameter_label, // it isnot inherited andnot aligned with Metadata Extension aligned
@EndUserText.label: 'Language of Parameter Label'
coalesce( coalesce( _label_active.ddlanguage, _label_active_en.ddlanguage ), _label_active_orig.ddlanguage ) as parameter_label_language,
@EndUserText.label: 'Data Type'
cast( casewhenparameters.datatype = 'D16D' then 'DF16_DEC'
whenparameters.datatype = 'D16R' then 'DF16_RAW'
whenparameters.datatype = 'D16S' then 'DF16_SCL'
whenparameters.datatype = 'D34D' then 'DF34_DEC'
whenparameters.datatype = 'D34R' then 'DF34_RAW'
whenparameters.datatype = 'D16S' then 'DF34_SCL'
whenparameters.datatype = 'D16N' then 'DECFLOAT16'
whenparameters.datatype = 'D34N' then 'DECFLOAT34'
whenparameters.datatype = 'UTCL' then 'UTCLONG'
whenparameters.datatype = 'RSTR' then 'RAWSTRING'
whenparameters.datatype = 'SSTR' then 'SSTRING'
whenparameters.datatype = 'STRG' then 'STRING'
whenparameters.datatype = 'GGM1' then 'GEOM_EWKB'
elseparameters.datatype endasabap.char(10)) as data_type,
@EndUserText.label: 'Length'
cast(parameters.leng asabap.numc(6) ) as length,
@EndUserText.label: 'Decimals'
cast(parameters.decimals asabap.numc(6) ) as decimals,
@EndUserText.label: 'ABAP Type'
cast(parameters.abaptype asabap.char(1)) as abap_type,
@EndUserText.label: 'Data Element'
cast(parameters.rollname asabap.char(30)) as data_element,
@EndUserText.label: 'Simple Type'
cast(parameters.simple_type asabap.char(30)) as simple_type
}
where
stob.as4local = 'A'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"DD02B",
"DD10B",
"DDDDLSRC10BT",
"TADIR"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/