CSN_EXPOSURE_CDS_DEFAULT_NFT

DDL: CSN_EXPOSURE_CDS_DEFAULT_NFT SQL: CSNEXPCDSDEFNFT Type: view

CSN Entities with no feature flag

CSN_EXPOSURE_CDS_DEFAULT_NFT is a CDS View that provides data about "CSN Entities with no feature flag" in SAP S/4HANA. It reads from 17 data sources and exposes 22 fields with key field EntityName. It has 4 associations to related views.

Data Sources (17)

SourceAliasJoin Type
ddheadanno annoExtr left_outer
ddheadanno annoMP left_outer
SADL_GW_DDLA_AnnotationEnum annoMPMap left_outer
CSN_EXPOSURE_CDS_ARS_APIS_NFT api_state left_outer
CSN_EXPOSURE_CDS_ARS_APIS_NFT api_state_c0 left_outer
CSN_EXPOSURE_CDS_ARS_APIS_NFT api_state_c1 left_outer
CSN_EXPOSURE_CDS_ARS_APIS_NFT api_state_c2 left_outer
df14l appl_comps left_outer
ddldependency dep inner
dd03nd elements left_outer
ddheadanno header_annos left_outer
dd02bnd node_info inner
DDCDS_USED_SESSION_VARIABLE session_var inner
ddddlsrc src inner
dd02b stob from
tadir tadir inner
tdevc tdevc left_outer

Parameters (1)

NameTypeDefault
P_Language abap.lang

Associations (4)

CardinalityTargetAliasCondition
[0..*] SADL_GW_DDLA_AnnotationEnumT _annoMPText _annoMPText.AnnotationKey = 'OBJECTMODEL.MODELINGPATTERN' and _annoMPText.AnnotationEnumKey = annoMPMap.AnnotationEnumKey
[0..*] df14t _ac_text _ac_text.fctr_id = appl_comps.fctr_id and _ac_text.as4local = 'A' and _ac_text.addon = ''
[0..*] ddddlsrc02bt _label_text _label_text.ddlname = dep.ddlname and _label_text.strucobjn = stob.strucobjn and _label_text.as4local = stob.as4local
[0..*] tdevct _tdevct _tdevct.devclass = tadir.devclass

Annotations (8)

NameValueLevelField
AbapCatalog.sqlViewName CSNEXPCDSDEFNFT view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #NOT_REQUIRED view
EndUserText.label CSN Entities with no feature flag view
Search.searchable true view
EnterpriseSearch.enabled true view
UI.headerInfo.title.value ENTITYNAME view
Metadata.allowExtensions true view

Fields (22)

KeyFieldSource TableSource FieldDescription
KEY EntityName dd02b strucobjn_raw Entity Name
EntityLabel Entity Label
ReleaseContract CSN_EXPOSURE_CDS_ARS_APIS_NFT compatibility_contract Release Contract
ReleaseState CSN_EXPOSURE_CDS_ARS_APIS_NFT release_state Release State
ReleaseContractMax
ReleaseStateMax
ReleaseStateC0 CSN_EXPOSURE_CDS_ARS_APIS_NFT release_state
ReleaseContractC0 CSN_EXPOSURE_CDS_ARS_APIS_NFT compatibility_contract
ReleaseStateC1 CSN_EXPOSURE_CDS_ARS_APIS_NFT release_state
ReleaseContractC1 CSN_EXPOSURE_CDS_ARS_APIS_NFT compatibility_contract
ReleaseStateC2 CSN_EXPOSURE_CDS_ARS_APIS_NFT release_state
ReleaseContractC2 CSN_EXPOSURE_CDS_ARS_APIS_NFT compatibility_contract
ModelingPattern SADL_GW_DDLA_AnnotationEnum AnnotationEnumKey Modeling Pattern
ModelingPatternDescription Modeling Pattern Description
AnalyticsDataExtractable ddheadanno value Data Extraction Enabled
HeaderAnnotationName ddheadanno name Header Annotation Name
HeaderAnnotationValue ddheadanno value Header Annotation Value
ApplicationComponent df14l ps_posid Application Component
ApplicationComponentText Application Component Description
Field dd03nd fieldname Field
SoftwareComponent tdevc dlvunit Software Component
ComponentText Software Component Description
@AbapCatalog.sqlViewName: 'CSNEXPCDSDEFNFT'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'CSN Entities with no feature flag'
@Search.searchable: true
@EnterpriseSearch.enabled: true
@UI.headerInfo.title: {value: 'ENTITYNAME'}
@ObjectModel.semanticKey: ['ENTITYNAME']
@Metadata.allowExtensions: true
define view CSN_EXPOSURE_CDS_DEFAULT_NFT
  with parameters
    @Environment.systemField : #SYSTEM_LANGUAGE
    @Consumption.hidden : true
    P_Language : abap.lang
  as select from    dd02b                         as stob

    inner join      ddldependency                 as dep          on  dep.objectname = stob.strucobjn
                                                                  and dep.state      = stob.as4local
                                                                  and dep.objecttype = 'STOB'

  -- Has parameters
    inner join      dd02bnd                       as node_info    on  node_info.strucobjn = stob.strucobjn
                                                                  and node_info.nodename  = '.NODE1'
                                                                  and node_info.as4local  = stob.as4local
  -- Session variables
    inner join      DDCDS_USED_SESSION_VARIABLE   as session_var  on  session_var.strucobjn = stob.strucobjn
                                                                  and session_var.nodename  = '.NODE1'
                                                                  and session_var.as4local  = stob.as4local

  --tadir
    inner join      tadir                         as tadir        on  tadir.pgmid    = 'R3TR'
                                                                  and tadir.object   = 'STOB'
                                                                  and tadir.obj_name = stob.strucobjn


    inner join      ddddlsrc                      as src          on  src.ddlname  = dep.ddlname
                                                                  and src.as4local = dep.state

    left outer join CSN_EXPOSURE_CDS_ARS_APIS_NFT as api_state    on  stob.strucobjn            = api_state.sub_object_name
                                                                  and api_state.sub_object_type = 'CDS_STOB'

    left outer join CSN_EXPOSURE_CDS_ARS_APIS_NFT as api_state_c0 on  stob.strucobjn                      = api_state_c0.sub_object_name
                                                                  and api_state_c0.sub_object_type        = 'CDS_STOB'
                                                                  and api_state_c0.compatibility_contract = 'C0'

    left outer join CSN_EXPOSURE_CDS_ARS_APIS_NFT as api_state_c1 on  stob.strucobjn                      = api_state_c1.sub_object_name
                                                                  and api_state_c1.sub_object_type        = 'CDS_STOB'
                                                                  and api_state_c1.compatibility_contract = 'C1'

    left outer join CSN_EXPOSURE_CDS_ARS_APIS_NFT as api_state_c2 on  stob.strucobjn                      = api_state_c2.sub_object_name
                                                                  and api_state_c2.sub_object_type        = 'CDS_STOB'
                                                                  and api_state_c2.compatibility_contract = 'C2'

    left outer join ddheadanno                    as annoMP       on stob.strucobjn = annoMP.strucobjn
                                                                  and(
                                                                    annoMP.name     = 'OBJECTMODEL.MODELINGPATTERN'
                                                                    or annoMP.name  = 'OBJECTMODEL.MODELINGPATTERN$1$'
                                                                  )

    left outer join ddheadanno                    as annoExtr     on stob.strucobjn = annoExtr.strucobjn
                                                                  and(
                                                                    annoExtr.name   = 'ANALYTICS.DATAEXTRACTION.ENABLED'
                                                                  )

    left outer join SADL_GW_DDLA_AnnotationEnum   as annoMPMap    on annoMP.value = annoMPMap.AnnotationEnumKeyRaw

    left outer join ddheadanno                    as header_annos on stob.strucobjn = header_annos.strucobjn

    left outer join tdevc                         as tdevc        on tdevc.devclass = tadir.devclass

    left outer join df14l                         as appl_comps   on appl_comps.fctr_id = tdevc.component

    left outer join dd03nd                        as elements     on  elements.strucobjn = stob.strucobjn
                                                                  and elements.as4local  = stob.as4local
                                                                  and elements.nodename  = '.NODE1'

  association [0..*] to SADL_GW_DDLA_AnnotationEnumT as _annoMPText on  _annoMPText.AnnotationKey     = 'OBJECTMODEL.MODELINGPATTERN'
                                                                    and _annoMPText.AnnotationEnumKey = annoMPMap.AnnotationEnumKey

  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 = tadir.devclass

{
      @EndUserText.label: 'Entity Name'
      @Search.defaultSearchElement: true
      @ObjectModel.sort.enabled: true
      @UI.hidden: true
      @EnterpriseSearch.defaultValueSuggestElement
      @Search.ranking: #HIGH
  key stob.strucobjn_raw                                                                                                                     as EntityName,

      @EndUserText.label: 'Entity Label'
      @Search.defaultSearchElement: true
      @ObjectModel.sort.enabled: true
      @UI.identification: [{position: 1}]
      @EnterpriseSearch.defaultValueSuggestElement
      @Search.ranking: #HIGH
      _label_text[1: ddlanguage = $parameters.P_Language].ddtext                                                                             as EntityLabel,

      @EndUserText.label: 'Release Contract'
      @ObjectModel.sort.enabled: true
      @EnterpriseSearch.filteringFacet.default: true
      api_state.compatibility_contract                                                                                                       as ReleaseContract,
      @EndUserText.label: 'Release State'
      @ObjectModel.sort.enabled: true
      api_state.release_state                                                                                                                as ReleaseState,
      @UI.identification: [{position: 2}]
      coalesce( api_state_c2.compatibility_contract, coalesce ( api_state_c1.compatibility_contract, api_state_c0.compatibility_contract ) ) as ReleaseContractMax,
      @UI.identification: [{position: 3}]
      coalesce( api_state_c2.release_state, coalesce ( api_state_c1.release_state, api_state_c0.release_state ) )                            as ReleaseStateMax,
      @UI.hidden: true
      api_state_c0.release_state                                                                                                             as ReleaseStateC0,
      @UI.hidden: true
      api_state_c0.compatibility_contract                                                                                                    as ReleaseContractC0,
      @UI.hidden: true
      api_state_c1.release_state                                                                                                             as ReleaseStateC1,
      @UI.hidden: true
      api_state_c1.compatibility_contract                                                                                                    as ReleaseContractC1,
      @UI.hidden: true
      api_state_c2.release_state                                                                                                             as ReleaseStateC2,
      @UI.hidden: true
      api_state_c2.compatibility_contract                                                                                                    as ReleaseContractC2,

      @EndUserText.label: 'Modeling Pattern'
      @Search.defaultSearchElement: true
      @ObjectModel.sort.enabled: true
      @UI.identification: [{position: 4}]
      @EnterpriseSearch.filteringFacet.default: true
      @ObjectModel.text.element: ['MODELINGPATTERNDESCRIPTION']
      @Search.ranking: #HIGH
      annoMPMap.AnnotationEnumKey                                                                                                            as ModelingPattern,

      @UI.hidden: true
      @Search.defaultSearchElement: true
      @EndUserText.label: 'Modeling Pattern Description'
      @Search.ranking: #HIGH
      _annoMPText[1: Language = $parameters.P_Language].Description                                                                          as ModelingPatternDescription,

      @EndUserText.label: 'Data Extraction Enabled'
      // @Search.defaultSearchElement: true

      @ObjectModel.sort.enabled: true
      @UI.identification: [{position: 13}]
      // @EnterpriseSearch.filteringFacet.default: true

      annoExtr.value                                                                                                                         as AnalyticsDataExtractable,

      @EndUserText.label: 'Header Annotation Name'
      @Search.defaultSearchElement: true
      @EnterpriseSearch.filteringAttribute.default: true
      @Search.ranking: #MEDIUM
      header_annos.name                                                                                                                      as HeaderAnnotationName,
      @EnterpriseSearch.filteringAttribute.default: true
      @EndUserText.label: 'Header Annotation Value'
      header_annos.value                                                                                                                     as HeaderAnnotationValue,

      @UI.identification: [{position: 5}]
      @EnterpriseSearch.filteringFacet.default: true
      @EndUserText.label: 'Application Component'
      appl_comps.ps_posid                                                                                                                    as ApplicationComponent,

      @UI.identification: [{position: 7}]
      @EndUserText.label: 'Application Component Description'
      _ac_text[1: langu = $parameters.P_Language].name                                                                                       as ApplicationComponentText,
      @EndUserText.label: 'Field'
      @Search.defaultSearchElement: true
      @Search.ranking: #MEDIUM
      elements.fieldname                                                                                                                     as Field,
      @UI.identification: [{position: 6}]
      @EnterpriseSearch.filteringFacet.default: true
      @EndUserText.label: 'Software Component'
      tdevc.dlvunit                                                                                                                          as SoftwareComponent,

      @EndUserText.label: 'Software Component Description'
      @UI.identification: [{position: 10}]
      _tdevct[1: spras = $parameters.P_Language].ctext                                                                                       as ComponentText

}
where
       stob.as4local              =  'A'
  and(
       src.source_type            =  'V' // DDIC-based view

    or src.source_type            =  'W' // View entity

    or src.source_type            =  'P' // Projection view

    or src.source_type            =  'A' // Abstract entity

    or src.source_type            =  'Q' // Custom entity

    or src.source_type            =  'H' // Hierarchy

  )
  and(
       api_state_c0.release_state <> 'RELEASED_WITH_FEATURE_TOGGLE'
    or api_state_c0.release_state is null
  )
  and(
       api_state_c1.release_state <> 'RELEASED_WITH_FEATURE_TOGGLE'
    or api_state_c1.release_state is null
  )
  and(
       api_state_c2.release_state <> 'RELEASED_WITH_FEATURE_TOGGLE'
    or api_state_c2.release_state is null
  )
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"CSN_EXPOSURE_CDS_ARS_APIS_NFT",
"DDCDS_USED_SESSION_VARIABLE",
"SADL_GW_DDLA_ANNOTATIONENUM",
"SADL_GW_DDLA_ANNOTATIONENUMT",
"DD02B",
"DD02BND",
"DD03ND",
"DDDDLSRC",
"DDDDLSRC02BT",
"DDHEADANNO",
"DDLDEPENDENCY",
"DF14L",
"DF14T",
"TADIR",
"TDEVC",
"TDEVCT"
],
"ASSOCIATED":
[
"SADL_GW_DDLA_ANNOTATIONENUMT",
"DDDDLSRC02BT",
"DF14T",
"TDEVCT"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/