C_ProductObjPgDistrChain

DDL: C_PRODUCTOBJPGDISTRCHAIN SQL: CPRODOBJPGDSTCH Type: view CONSUMPTION

Product Object Page - Distribution Chain

C_ProductObjPgDistrChain is a Consumption CDS View that provides data about "Product Object Page - Distribution Chain" in SAP S/4HANA. It reads from 1 data source (I_ProductSalesDelivery) and exposes 14 fields with key fields Product, ProductSalesOrg, ProductDistributionChnl. It has 3 associations to related views.

Data Sources (1)

SourceAliasJoin Type
I_ProductSalesDelivery I_ProductSalesDelivery from

Associations (3)

CardinalityTargetAliasCondition
[1..1] C_ProductObjPg _ProductObjPg $projection.Product = _ProductObjPg.Product
[0..1] I_UnitOfMeasure _SalesUnitOfMeasure $projection.SalesUnit = _SalesUnitOfMeasure.UnitOfMeasure
[1..1] I_Product _Product $projection.Product = _Product.Product

Annotations (10)

NameValueLevelField
AbapCatalog.sqlViewName CPRODOBJPGDSTCH view
EndUserText.label Product Object Page - Distribution Chain view
VDM.viewType #CONSUMPTION view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #NOT_REQUIRED view
AbapCatalog.compiler.compareFilter true view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.dataClass #MASTER view

Fields (14)

KeyFieldSource TableSource FieldDescription
KEY Product Product
KEY ProductSalesOrg ProductSalesOrg
KEY ProductDistributionChnl ProductDistributionChnl
SalesPrice
PromotionSalesPrice
SalesPriceCurrency
PromotionSalesPriceCurrency
SupplyingSite SupplyingPlant
ProductCategory _ProductObjPg ProductCategory
_ProductObjPg _ProductObjPg
_SalesOrganization _SalesOrganization
_DistributionChannel _DistributionChannel
_SalesUnitOfMeasure _SalesUnitOfMeasure
_Product _Product
@AbapCatalog.sqlViewName: 'CPRODOBJPGDSTCH'
@EndUserText.label: 'Product Object Page - Distribution Chain'

@VDM.viewType: #CONSUMPTION
@AccessControl: {
  authorizationCheck: #CHECK,
  personalData.blocking: #NOT_REQUIRED
}
@AbapCatalog.compiler.compareFilter: true
@ClientHandling.algorithm: #SESSION_VARIABLE

@ObjectModel: {
    semanticKey: ['Product', 'ProductSalesOrg', 'ProductDistributionChnl'],
    usageType: {
        serviceQuality: #C,
        sizeCategory: #L,
        dataClass: #MASTER
   }
}

@UI.presentationVariant: [
{requestAtLeast: ['ProductCategory'] ,
sortOrder: [{
    by: 'ProductSalesOrg',
    direction: #ASC
},
{
    by: 'ProductDistributionChnl',
    direction: #ASC
}]
}]

define view C_ProductObjPgDistrChain
  as select from I_ProductSalesDelivery
  association [1..1] to C_ProductObjPg  as _ProductObjPg       on $projection.Product = _ProductObjPg.Product
  association [0..1] to I_UnitOfMeasure as _SalesUnitOfMeasure on $projection.SalesUnit = _SalesUnitOfMeasure.UnitOfMeasure
  association [1..1] to I_Product       as _Product            on $projection.Product = _Product.Product
{
      @UI.hidden: true
  key Product,
      @UI.lineItem: [{position: 10, importance: #HIGH}]
  key ProductSalesOrg,
      @UI.lineItem: [{position: 20, importance: #HIGH}]
  key ProductDistributionChnl,

      @ObjectModel.foreignKey.association: '_SalesUnitOfMeasure'
      @UI.lineItem: [{position: 30, importance: #MEDIUM}]
      cast(case when SalesMeasureUnit = ''
                then _Product.BaseUnit
                else SalesMeasureUnit
           end as vrkme preserving type)       as SalesUnit,

      @EndUserText: {
          label: 'Sales Price',
          quickInfo: 'Sales Price'
      }
      @UI.lineItem: [{position: 40, importance: #MEDIUM}]
      @Semantics.amount.currencyCode: 'SalesPriceCurrency'
      cast(0 as kbetr)                         as SalesPrice,
      @EndUserText: {
          label: 'Promotion Price',
          quickInfo: 'Promotion Price'
      }
      @UI.lineItem: [{position: 50, importance: #MEDIUM}]
      @Semantics.amount.currencyCode: 'PromotionSalesPriceCurrency'
      cast(0 as kbetr)                         as PromotionSalesPrice,
      @Semantics.currencyCode: true
      @UI.hidden: true
      _SalesOrganization._CompanyCode.Currency as SalesPriceCurrency,
      @UI.hidden: true
      @Semantics.currencyCode: true
      _SalesOrganization._CompanyCode.Currency as PromotionSalesPriceCurrency,

      @EndUserText: {
          label: 'Supplying Site',
          quickInfo: 'Supplying Site'
      }
      @UI.lineItem: [{position: 60, importance: #MEDIUM}]
      SupplyingPlant                           as SupplyingSite,

      //  Product Category is Used to decide the mode for Sales Price Calculation.

      @UI.hidden: true
      _ProductObjPg.ProductCategory,

      @ObjectModel.association.type: [#TO_COMPOSITION_PARENT, #TO_COMPOSITION_ROOT]
      _ProductObjPg,
      _SalesOrganization,
      _DistributionChannel,
      _SalesUnitOfMeasure,
      _Product
}