I_ProductGroup_2

DDL: I_PRODUCTGROUP_2 Type: view BASIC Package: VDM_MD_PRODUCT_DDIC

Product Group

I_ProductGroup_2 is a Basic CDS View (Dimension) that provides data about "Product Group" in SAP S/4HANA. It reads from 1 data source (t023) and exposes 8 fields with key field ProductGroup. It has 4 associations to related views. It is exposed through 11 OData services (C_SALESORDERMANAGE_SD, UI_BILLINGDOCUMENT_MANAGE, UI_CREDITMEMOREQUESTMANAGE, ...). It is used in 1 Fiori application: Product List. Part of development package VDM_MD_PRODUCT_DDIC.

Data Sources (1)

SourceAliasJoin Type
t023 t023 from

Associations (4)

CardinalityTargetAliasCondition
[0..*] I_ProductGroupText_2 _ProductGroupText $projection.ProductGroup = _ProductGroupText.ProductGroup
[0..1] I_Prodvaluationclass _ProductValuationClass $projection.ValuationClass = _ProductValuationClass.ValuationClass
[0..1] I_PurgAcknowledgmentProfile _PurgAcknowledgmentProfile $projection.PurchasingAcknProfile = _PurgAcknowledgmentProfile.PurchasingAcknProfile
[0..*] I_ProductGroupHierarchyNode _ProductGroupHierarchyNode $projection.ProductGroup = _ProductGroupHierarchyNode.ProductGroup

Annotations (24)

NameValueLevelField
AbapCatalog.sqlViewName IPRODGRP2 view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AbapCatalog.buffering.status #ACTIVE view
AbapCatalog.buffering.type #GENERIC view
AbapCatalog.buffering.numberOfKeyFields 1 view
Analytics.dataCategory #DIMENSION view
Analytics.dataExtraction.enabled true view
Analytics.dataExtraction.delta.changeDataCapture.automatic true view
EndUserText.label Product Group view
AccessControl.authorizationCheck #NOT_REQUIRED view
VDM.viewType #BASIC view
VDM.lifecycle.contract.type #PUBLIC_LOCAL_API view
ObjectModel.dataCategory #VALUE_HELP view
ObjectModel.representativeKey ProductGroup view
ObjectModel.usageType.serviceQuality #A view
ObjectModel.usageType.sizeCategory #M view
ObjectModel.usageType.dataClass #CUSTOMIZING view
ClientHandling.algorithm #SESSION_VARIABLE view
Search.searchable true view
Metadata.ignorePropagatedAnnotations true view
ObjectModel.sapObjectNodeType.name ProductGroup view
Consumption.ranked true view
ObjectModel.modelingPattern #ANALYTICAL_DIMENSION view

OData Services (11)

ServiceBindingVersionContractRelease
C_SALESORDERMANAGE_SD C_SALESORDERMANAGE_SRV V4 C1 NOT_RELEASED
UI_BILLINGDOCUMENT_MANAGE UI_BILLINGDOCUMENT_MANAGE V4 C1 NOT_RELEASED
UI_CREDITMEMOREQUESTMANAGE UI_CREDITMEMOREQUESTMANAGE V4 C1 NOT_RELEASED
UI_CUSTOMERRETURNMANAGE UI_CUSTOMERRETURNMANAGE V4 C1 NOT_RELEASED
UI_DEBITMEMOREQUESTMANAGE UI_DEBITMEMOREQUESTMANAGE V4 C1 NOT_RELEASED
UI_PRODUCTLIST UI_PRODUCTLIST V2 C1 NOT_RELEASED
UI_RFM_SLSORD_PRGS_MONITOR UI_RFM_SLSORD_PRGS_MONITOR V2 C1 NOT_RELEASED
UI_SALESCONTRACTMANAGE UI_SALESCONTRACTMANAGE V4 C1 NOT_RELEASED
UI_SALESDOCUMENTMANAGE UI_SALESDOCUMENTMANAGE V4 C1 NOT_RELEASED
UI_SALESQUOTATIONMANAGE UI_SALESQUOTATIONMANAGE V4 C1 NOT_RELEASED
UI_SLSORDERWITHOUTCHARGEMANAGE UI_SLSORDERWITHOUTCHARGEMANAGE V4 C1 NOT_RELEASED

Fiori Apps (1)

App IDApp NameTypeDescription
F6518 Product List Analytical The app displays and performs the analysis for different attributes of products that are part of various master data tables on one screen.

Product List

Business Role: Others

Key Features: You can use the Product List app to: Search for products in your system. Display the details of a product, such as base unit of measure, valuation class, price control, inventory price, and so on. Navigate to the Manage Product Master Data app from the product details pag.e Export the product list to a spreadsheet file. View and analyze inventory price summary in different currencies by clicking the Inventory Price Total tab.Note that, SAP highly recommends to use filter(s) to view the required inventory price summary that prevents you from going through data overload.

Fields (8)

KeyFieldSource TableSource FieldDescription
KEY ProductGroup
AuthorizationGroup t023 begru
ValuationClass t023 bklas
PurchasingAcknProfile t023 ekwsl
_ProductGroupText _ProductGroupText
_ProductValuationClass _ProductValuationClass
_PurgAcknowledgmentProfile _PurgAcknowledgmentProfile
_ProductGroupHierarchyNode _ProductGroupHierarchyNode
@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
}