C_ProductObjPgDistrChain
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)
| Source | Alias | Join Type |
|---|---|---|
| I_ProductSalesDelivery | I_ProductSalesDelivery | from |
Associations (3)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [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)
| Name | Value | Level | Field |
|---|---|---|---|
| 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)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| 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
}
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA