I_PRODUNIVHIERARCHYBASIC

CDS View

Product Hierarchy Directory

I_PRODUNIVHIERARCHYBASIC is a CDS View in S/4HANA. Product Hierarchy Directory. It contains 4 fields. 3 CDS views read from this table.

CDS Views using this table (3)

ViewTypeJoinVDMDescription
I_ProdUniversalHierarchy view from COMPOSITE Product Hierarchy Directory
I_ProdUnivHierNodesByHierID view inner COMPOSITE Product Hierarchy Node by Hier ID
R_ProdUniversalHierarchyTP view_entity from TRANSACTIONAL Product Universal Hierarchy Version - TP

Fields (4)

KeyField CDS FieldsUsed in Views
KEY ProdHierarchyValidityEndDate ProdHierarchyValidityEndDate 1
KEY ProdUnivHierarchy ProductHierarchy 1
ProdHierarchyValidityStartDate ProdHierarchyValidityStartDate 1
ProdUnivHierLastChangeDateTime ProdUnivHierLastChangeDateTime 1
@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
]   

/*+[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,
      _Text
}
where
     hrytyp = 'MD01'
  or hrytyp = 'MD02'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"HRRP_DIRECTORY"
],
"ASSOCIATED":
[
"I_PRODUNIVERSALHIERARCHYTEXT_2"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/