I_ProdUnivHierarchyBasic

DDL: I_PRODUNIVHIERARCHYBASIC Type: view BASIC Package: VDM_MD_PRODUCT_HIERARCHY

Product Hierarchy Directory

I_ProdUnivHierarchyBasic is a Basic CDS View (Dimension) that provides data about "Product Hierarchy Directory" in SAP S/4HANA. It reads from 1 data source (hrrp_directory) and exposes 7 fields with key fields ProdUnivHierarchy, ProdHierarchyValidityEndDate. It has 1 association to related views. Part of development package VDM_MD_PRODUCT_HIERARCHY.

Data Sources (1)

SourceAliasJoin Type
hrrp_directory hrrp_directory from

Associations (1)

CardinalityTargetAliasCondition
[0..*] I_ProdUniversalHierarchyText_2 _Text $projection.ProdUnivHierarchy = _Text.ProdUnivHierarchy

Annotations (17)

NameValueLevelField
AbapCatalog.sqlViewName IPRDUNIVHRYB view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
VDM.viewType #BASIC view
AccessControl.authorizationCheck #CHECK view
Analytics.dataCategory #DIMENSION view
Analytics.internalName #LOCAL view
Analytics.dataExtraction.enabled true view
EndUserText.label Product Hierarchy Directory view
Metadata.ignorePropagatedAnnotations true view
Metadata.allowExtensions true view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.representativeKey ProdUnivHierarchy view
ObjectModel.usageType.dataClass #MASTER view
ObjectModel.usageType.serviceQuality #A view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.sapObjectNodeType.name ProductUniversalHierarchy view

Fields (7)

KeyFieldSource TableSource FieldDescription
KEY ProdUnivHierarchy
KEY ProdHierarchyValidityEndDate
ProdHierarchyValidityStartDate
LastChangedByUser upduser
ProdUnivHierLastChangeDateTime updtime
HierarchyType hrytyp
_Text _Text
@AbapCatalog: {
  sqlViewName: 'IPRDUNIVHRYB',
  compiler.compareFilter: true,
  preserveKey: true
 }
@VDM.viewType: #BASIC
@AccessControl.authorizationCheck: #CHECK
@Analytics:{
  dataCategory: #DIMENSION,
  internalName: #LOCAL,
  dataExtraction: {
        enabled: true
    } 
}
@EndUserText.label: 'Product Hierarchy Directory'
@Metadata: {
  ignorePropagatedAnnotations: true,
  allowExtensions: true
}
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel:{
  representativeKey: 'ProdUnivHierarchy',
  usageType: {
    dataClass: #MASTER,
    serviceQuality: #A,
    sizeCategory: #XL
  }
}
@ObjectModel.supportedCapabilities: [ #SQL_DATA_SOURCE,
                                      #CDS_MODELING_DATA_SOURCE,
                                      #CDS_MODELING_ASSOCIATION_TARGET,
                                      #ANALYTICAL_DIMENSION,
                                      #EXTRACTION_DATA_SOURCE
]   
@ObjectModel.sapObjectNodeType.name:'ProductUniversalHierarchy'
/*+[hideWarning] { "IDS" : [ "KEY_CHECK" ] } */
define view I_ProdUnivHierarchyBasic
  as select from hrrp_directory
  //temporal associations

  association [0..*] to I_ProdUniversalHierarchyText_2 as _Text on $projection.ProdUnivHierarchy = _Text.ProdUnivHierarchy
  //                                                              and $projection.ProdHierarchyValidityEndDate = _Text.ProdHierarchyValidityEndDate


{
      @ObjectModel.text.association: '_Text'
      // length of substring if set more than 20, can get _DRAFT shown for simulation

  key cast(substring( hryid, 6, 26 )  as prod_hier_id )                   as ProdUnivHierarchy,
      //" hryver not required, Timeframe will not overlap => different version not required.

      //  key hryver     as ProductHierarchyVersion,

      @Semantics.businessDate.to: true
  key cast(hryvalto as prodhierarchyvalidityenddate preserving type )     as ProdHierarchyValidityEndDate,
      @Semantics.businessDate.from: true
      cast(hryvalfrom as prodhierarchyvaliditystartdate preserving type ) as ProdHierarchyValidityStartDate,
      @Semantics.user.lastChangedBy: true
      upduser                                                             as LastChangedByUser,
      //the following Last changed timestamp is used for caching 

      //and thus Performance improvement of Hierarchy access like in SAC BCP: 2180060182

      @Semantics.systemDateTime.lastChangedAt: true
      updtime                                                             as ProdUnivHierLastChangeDateTime,
      hrytyp                                                              as HierarchyType,
      _Text
}
where
     hrytyp = 'MD01'
  or hrytyp = 'MD02'