I_PRODUCTGROUP_2
Product Group
I_PRODUCTGROUP_2 is a CDS View in S/4HANA. Product Group. 5 CDS views read from this table.
CDS Views using this table (5)
| View | Type | Join | VDM | Description |
|---|---|---|---|---|
| A_ProductGroup | view | from | BASIC | Product Group |
| A_ProductGroup_2 | view | from | BASIC | Product Group |
| I_CnsldtnMasterData | view | union_all | COMPOSITE | Consolidation - Combined Master Data |
| I_ProductGroupVH | view | from | COMPOSITE | Product group Value help |
| P_CnsldtnProductGroup | view | from | COMPOSITE | Consolidation Combined Product Group |
@AbapCatalog:{
sqlViewName: 'IPRODGRP2',
compiler.compareFilter: true,
preserveKey: true,
buffering:{
status: #ACTIVE,
type: #GENERIC,
numberOfKeyFields: 1
}
}
@Analytics: { dataCategory: #DIMENSION ,
dataExtraction: {
enabled: true,
delta.changeDataCapture.automatic: true
}
}
@EndUserText.label: 'Product Group'
@AccessControl.authorizationCheck: #NOT_REQUIRED
@VDM:{
viewType: #BASIC,
lifecycle.contract.type: #PUBLIC_LOCAL_API
}
@ObjectModel: {
//As the underlying table is of type T, Customizing,
//maintenance only by customer, no SAP imports, this CDS view does not require DCL
//There is no need to have two separate views(as value help and basic view),
//and this view can serve as a basic view and as a value help view.
dataCategory: #VALUE_HELP,
representativeKey: 'ProductGroup',
supportedCapabilities: [ #SQL_DATA_SOURCE,
#CDS_MODELING_DATA_SOURCE,
#CDS_MODELING_ASSOCIATION_TARGET,
#VALUE_HELP_PROVIDER,
#EXTRACTION_DATA_SOURCE,
#SEARCHABLE_ENTITY,
#ANALYTICAL_DIMENSION
],
usageType: {
serviceQuality: #A,
sizeCategory : #M,
dataClass: #CUSTOMIZING
}
}
@ClientHandling.algorithm: #SESSION_VARIABLE
@Search.searchable: true
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.sapObjectNodeType.name:'ProductGroup'
@Consumption.ranked: true
@ObjectModel.modelingPattern: #ANALYTICAL_DIMENSION
define view I_ProductGroup_2
as select from t023
association [0..*] to I_ProductGroupText_2 as _ProductGroupText on $projection.ProductGroup = _ProductGroupText.ProductGroup
association [0..1] to I_Prodvaluationclass as _ProductValuationClass on $projection.ValuationClass = _ProductValuationClass.ValuationClass
association [0..1] to I_PurgAcknowledgmentProfile as _PurgAcknowledgmentProfile on $projection.PurchasingAcknProfile = _PurgAcknowledgmentProfile.PurchasingAcknProfile
association [0..*] to I_ProductGroupHierarchyNode as _ProductGroupHierarchyNode on $projection.ProductGroup = _ProductGroupHierarchyNode.ProductGroup
{
@ObjectModel.text.association: '_ProductGroupText'
@Search: {
defaultSearchElement: true,
fuzzinessThreshold: 0.8,
ranking: #HIGH
}
@ObjectModel.hierarchy.association: '_ProductGroupHierarchyNode'
key cast(t023.matkl as productgroup preserving type ) as ProductGroup,
//The Authorization Group field is required for checks on Products.
//(example: hide all Products that belong to a Product Group that is assigned to a specific Authgroup). See DCL of I_Product.
//The group existence as such doesn’t have to be protected.
@Consumption.hidden: true
t023.begru as AuthorizationGroup,
@ObjectModel.foreignKey.association: '_ProductValuationClass'
@UI.hidden: true
t023.bklas as ValuationClass,
@ObjectModel.foreignKey.association: '_PurgAcknowledgmentProfile'
@UI.hidden: true
t023.ekwsl as PurchasingAcknProfile,
_ProductGroupText,
_ProductValuationClass,
_PurgAcknowledgmentProfile,
_ProductGroupHierarchyNode
}