@AbapCatalog.sqlViewName: 'CSNEXPCDSDEF'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'CSN Entities'
@Search.searchable: true
@EnterpriseSearch.enabled: true
@UI.headerInfo.title: {value: 'ENTITYNAME'}
@ObjectModel.semanticKey: ['ENTITYNAME']
@Metadata.allowExtensions: true
define view CSN_EXPOSURE_CDS
with parameters
@Environment.systemField : #SYSTEM_LANGUAGE
@Consumption.hidden : true
P_Language : abap.lang
as select from esh_csn_cdscsn as esh_csn_cdscsn
inner join dd02b as stob on esh_csn_cdscsn.cds_entity_name_raw = stob.strucobjn_raw
inner join ddldependency as dep on dep.objectname = stob.strucobjn
and dep.state = stob.as4local
and dep.objecttype = 'STOB'
inner join ddddlsrc as src on src.ddlname = dep.ddlname
and src.as4local = dep.state
left outer join ddheadanno as header_annos on stob.strucobjn = header_annos.strucobjn
left outer join dd03nd as elements on elements.strucobjn = stob.strucobjn
and elements.as4local = stob.as4local
and elements.nodename = '.NODE1'
left outer join df14l as appl_comps on appl_comps.ps_posid = esh_csn_cdscsn.application_component
association [0..*] to df14t as _ac_text on _ac_text.fctr_id = appl_comps.fctr_id
and _ac_text.as4local = 'A'
and _ac_text.addon = ''
association [0..*] to ddddlsrc02bt as _label_text on _label_text.ddlname = dep.ddlname
and _label_text.strucobjn = stob.strucobjn
and _label_text.as4local = stob.as4local
association [0..*] to tdevct as _tdevct on _tdevct.devclass = esh_csn_cdscsn.software_component
{
@EndUserText.label: 'Entity Name'
@Search.defaultSearchElement: true
@ObjectModel.sort.enabled: true
@UI.hidden: true
@EnterpriseSearch.defaultValueSuggestElement
key esh_csn_cdscsn.cds_entity_name_raw as EntityName,
@EndUserText.label: 'Entity Label'
@Search.defaultSearchElement: true
@ObjectModel.sort.enabled: true
@UI.identification: {importance: #HIGH, position: 1}
@EnterpriseSearch.defaultValueSuggestElement
_label_text[1: ddlanguage = $parameters.P_Language].ddtext as EntityLabel,
@EndUserText.label: 'Release Contract'
@ObjectModel.sort.enabled: true
@UI.identification: {importance: #HIGH, position: 2}
// @EnterpriseSearch.filteringFacet.default: true
@EnterpriseSearch.filteringFacet: { default, displayPosition: 1 }
esh_csn_cdscsn.release_contract as ReleaseContract,
@EndUserText.label: 'Release State'
@ObjectModel.sort.enabled: true
@UI.identification: {importance: #HIGH, position: 3}
esh_csn_cdscsn.release_state as ReleaseState,
@EndUserText.label: 'Modeling Pattern'
@Search.defaultSearchElement: true
@ObjectModel.sort.enabled: true
@UI.identification: {importance: #HIGH, position: 4}
// @EnterpriseSearch.filteringFacet.default: true
@EnterpriseSearch.filteringFacet: { default, displayPosition: 2 }
esh_csn_cdscsn.modeling_pattern as ModelingPattern,
@EndUserText.label: 'Header Annotation Name'
@Search.defaultSearchElement: true
@EnterpriseSearch.filteringAttribute.default: true
header_annos.name as HeaderAnnotationName,
@EnterpriseSearch.filteringAttribute.default: true
@EndUserText.label: 'Header Annotation Value'
header_annos.value as HeaderAnnotationValue,
@UI.identification: {importance: #HIGH, position: 5}
// @EnterpriseSearch.filteringFacet.default: true
@EnterpriseSearch.filteringFacet: { default, displayPosition: 3 }
@EndUserText.label: 'Application Component'
esh_csn_cdscsn.application_component as ApplicationComponent,
@UI.identification: {importance: #HIGH, position: 7}
@EndUserText.label: 'Application Component Description'
_ac_text[1: langu = $parameters.P_Language].name as ApplicationComponentText,
@EndUserText.label: 'Field'
@Search.defaultSearchElement: true
elements.fieldname as Field,
@UI.identification: {importance: #HIGH, position: 6}
// @EnterpriseSearch.filteringFacet.default: true
@EnterpriseSearch.filteringFacet: { default, displayPosition: 4 }
@EndUserText.label: 'Software Component'
esh_csn_cdscsn.software_component as SoftwareComponent,
@EndUserText.label: 'Software Component Description'
@UI.identification: {importance: #HIGH, position: 10}
_tdevct[1: spras = $parameters.P_Language].ctext as ComponentText
}
where
stob.as4local = 'A'
and(
src.source_type = 'V'
or src.source_type = 'W'
or src.source_type = 'P'
)
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"DD02B",
"DD03ND",
"DDDDLSRC",
"DDDDLSRC02BT",
"DDHEADANNO",
"DDLDEPENDENCY",
"DF14L",
"DF14T",
"ESH_CSN_CDSCSN",
"TDEVCT"
],
"ASSOCIATED":
[
"DDDDLSRC02BT",
"DF14T",
"TDEVCT"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/