@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
}
/*+[internal] {
"BASEINFO":
{
"FROM ":
[
"C_PRODUCTOBJPG",
"I_COMPANYCODE",
"I_PRODUCT",
"I_PRODUCTSALESDELIVERY",
"I_SALESORGANIZATION"
],
"ASSOCIATED":
[
"C_PRODUCTOBJPG",
"I_DISTRIBUTIONCHANNEL",
"I_PRODUCT",
"I_SALESORGANIZATION",
"I_UNITOFMEASURE"
],
"BASE":
[
"I_PRODUCTSALESDELIVERY"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/
Depth:
1
2
3
4
5
All
Reload
C_ProductObjPgDistrChain view