I_PRODUNIVHIERARCHYBASIC
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)
| View | Type | Join | VDM | Description |
|---|---|---|---|---|
| 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)
| Key | Field | CDS Fields | Used 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":""
}
}*/