I_ProductValuation

DDL: I_PRODUCTVALUATION SQL: IPRDVALUATION Type: view COMPOSITE Package: VDM_MD_PRODUCT_DDIC

Product Valuation

I_ProductValuation is a Composite CDS View that provides data about "Product Valuation" in SAP S/4HANA. It reads from 4 data sources (marv, t001, t001k, mbew) and exposes 53 fields with key fields Product, ValuationArea, ValuationType. It has 17 associations to related views. Part of development package VDM_MD_PRODUCT_DDIC.

Data Sources (4)

SourceAliasJoin Type
marv marv inner
t001 t001 inner
t001k t001k inner
mbew Valuation from

Associations (17)

CardinalityTargetAliasCondition
[1..1] I_Product _Product $projection.Product = _Product.Product
[0..1] I_Prodvaluationclass _ValuationClass $projection.ValuationClass = _ValuationClass.ValuationClass
[0..*] I_Prodvaluationclasstxt _ValuationClassText $projection.ValuationClass = _ValuationClassText.ValuationClass
[0..1] I_Prodvaluationclass _ValnClassSalesOrderStock $projection.ValuationClassSalesOrderStock = _ValnClassSalesOrderStock.ValuationClass
[0..*] I_Prodvaluationclasstxt _ValnClassSalesOrderStockText $projection.ValuationClassSalesOrderStock = _ValnClassSalesOrderStockText.ValuationClass
[0..1] I_Prodvaluationclass _ValnClassProjectStock $projection.ProjectStockValuationClass = _ValnClassProjectStock.ValuationClass
[0..*] I_Prodvaluationclasstxt _ValnClassProjectStockText $projection.ProjectStockValuationClass = _ValnClassProjectStockText.ValuationClass
[0..1] I_ProdValnPriceControl _InventoryValnProcedure $projection.InventoryValuationProcedure = _InventoryValnProcedure.InventoryValuationProcedure
[0..*] I_ProdValnPriceControlText _InventoryValnProcedureText $projection.InventoryValuationProcedure = _InventoryValnProcedureText.InventoryValuationProcedure
[0..1] I_PriceDeterminationControl _PriceDeterminationControl $projection.PriceDeterminationControl = _PriceDeterminationControl.PriceDeterminationControl
[0..*] I_PriceDeterminationControlTxt _PriceDeterminationControlText $projection.PriceDeterminationControl = _PriceDeterminationControlText.PriceDeterminationControl
[0..1] I_BR_MaterialUsage _BR_MaterialUsage $projection.ProductUsageType = _BR_MaterialUsage.BR_MaterialUsage
[0..*] I_BR_MaterialUsageText _BR_MaterialUsageText $projection.ProductUsageType = _BR_MaterialUsageText.BR_MaterialUsage
[0..1] I_BR_MaterialOrigin _BR_MaterialOrigin $projection.ProductOriginType = _BR_MaterialOrigin.BR_MaterialOrigin
[0..*] I_BR_MaterialOriginText _BR_MaterialOriginText $projection.ProductOriginType = _BR_MaterialOriginText.BR_MaterialOrigin
[0..1] E_Productvaluation _ProdValuationExt $projection.Product = _ProdValuationExt.Product and $projection.ValuationArea = _ProdValuationExt.ValuationArea and $projection.ValuationType = _ProdValuationExt.ValuationType
[0..1] I_InventoryValuationType _InventoryValuationType $projection.ValuationType = _InventoryValuationType.InventoryValuationType

Annotations (11)

NameValueLevelField
AbapCatalog.sqlViewName IPRDVALUATION view
AccessControl.authorizationCheck #CHECK view
EndUserText.label Product Valuation view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.sizeCategory #XL view
ClientHandling.algorithm #SESSION_VARIABLE view
Metadata.ignorePropagatedAnnotations true view
VDM.viewType #COMPOSITE view
VDM.lifecycle.status #DEPRECATED view
VDM.lifecycle.successor I_ProductValuationBasic view

Fields (53)

KeyFieldSource TableSource FieldDescription
KEY Product mbew matnr
KEY ValuationArea mbew bwkey
KEY ValuationType mbew bwtar
ValuationClass mbew bklas
PriceDeterminationControl mbew mlast
FiscalMonthCurrentPeriod marv lfmon
FiscalYearCurrentPeriod marv lfgja
StandardPrice mbew stprs
PriceUnitQty mbew peinh
InventoryValuationProcedure
FutureEvaluatedAmountValue mbew zkprs
FuturePriceValidityStartDate mbew zkdat
PrevInvtryPriceInCoCodeCrcy mbew stprv
MovingAveragePrice mbew verpr
ValuationCategory mbew bwtty
ProductUsageType
ProductOriginType
IsProducedInhouse mbew ownpr
ProdCostEstNumber mbew kaln1
IsMarkedForDeletion mbew lvorm
ValuationMargin mbew bwspa
IsActiveEntity
CompanyCode t001k bukrs
ValuationClassSalesOrderStock mbew eklas
ProjectStockValuationClass mbew qklas
PlannedPrice1InCoCodeCrcy mbew zplp1
PlannedPrice2InCoCodeCrcy mbew zplp2
PlannedPrice3InCoCodeCrcy mbew zplp3
FuturePlndPrice1ValdtyDate mbew zpld1
FuturePlndPrice2ValdtyDate mbew zpld2
FuturePlndPrice3ValdtyDate mbew zpld3
TaxBasedPricesPriceUnitQty mbew bwpei
PriceLastChangeDate mbew laepr
PlannedPrice mbew zplpr
Currency t001 waers
MLIsActiveAtProductLevel mbew mlmaa
BaseUnit _Product BaseUnit
_Product _Product
_ValuationClass _ValuationClass
_ValuationClassText _ValuationClassText
_ValnClassSalesOrderStock _ValnClassSalesOrderStock
_ValnClassSalesOrderStockText _ValnClassSalesOrderStockText
_ValnClassProjectStock _ValnClassProjectStock
_ValnClassProjectStockText _ValnClassProjectStockText
_InventoryValnProcedure _InventoryValnProcedure
_InventoryValnProcedureText _InventoryValnProcedureText
_PriceDeterminationControl _PriceDeterminationControl
_PriceDeterminationControlText _PriceDeterminationControlText
_BR_MaterialUsage _BR_MaterialUsage
_BR_MaterialUsageText _BR_MaterialUsageText
_BR_MaterialOrigin _BR_MaterialOrigin
_BR_MaterialOriginText _BR_MaterialOriginText
_InventoryValuationType _InventoryValuationType
// Product Valuation

@AbapCatalog.sqlViewName: 'IPRDVALUATION'
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Product Valuation'
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.dataClass: #MIXED
@ObjectModel.usageType.sizeCategory: #XL
@ClientHandling.algorithm: #SESSION_VARIABLE
@Metadata.ignorePropagatedAnnotations:true
@ObjectModel.supportedCapabilities: [ #SQL_DATA_SOURCE,
                                      #CDS_MODELING_DATA_SOURCE,
                                      #CDS_MODELING_ASSOCIATION_TARGET ]

@VDM:{
  viewType: #COMPOSITE,
   lifecycle: {
   status: #DEPRECATED,
   successor: 'I_ProductValuationBasic'
 }
}


define view I_ProductValuation
  as select from mbew as Valuation
    inner join   t001k on Valuation.bwkey = t001k.bwkey
    inner join   marv  on marv.bukrs = t001k.bukrs
    inner join   t001  on t001.bukrs = t001k.bukrs


  association [1..1] to I_Product                      as _Product                       on  $projection.Product = _Product.Product

  association [0..1] to I_Prodvaluationclass           as _ValuationClass                on  $projection.ValuationClass = _ValuationClass.ValuationClass
  association [0..*] to I_Prodvaluationclasstxt        as _ValuationClassText            on  $projection.ValuationClass = _ValuationClassText.ValuationClass
  association [0..1] to I_Prodvaluationclass           as _ValnClassSalesOrderStock      on  $projection.ValuationClassSalesOrderStock = _ValnClassSalesOrderStock.ValuationClass
  association [0..*] to I_Prodvaluationclasstxt        as _ValnClassSalesOrderStockText  on  $projection.ValuationClassSalesOrderStock = _ValnClassSalesOrderStockText.ValuationClass
  association [0..1] to I_Prodvaluationclass           as _ValnClassProjectStock         on  $projection.ProjectStockValuationClass = _ValnClassProjectStock.ValuationClass
  association [0..*] to I_Prodvaluationclasstxt        as _ValnClassProjectStockText     on  $projection.ProjectStockValuationClass = _ValnClassProjectStockText.ValuationClass
  association [0..1] to I_ProdValnPriceControl         as _InventoryValnProcedure        on  $projection.InventoryValuationProcedure = _InventoryValnProcedure.InventoryValuationProcedure
  association [0..*] to I_ProdValnPriceControlText     as _InventoryValnProcedureText    on  $projection.InventoryValuationProcedure = _InventoryValnProcedureText.InventoryValuationProcedure
  association [0..1] to I_PriceDeterminationControl    as _PriceDeterminationControl     on  $projection.PriceDeterminationControl = _PriceDeterminationControl.PriceDeterminationControl
  association [0..*] to I_PriceDeterminationControlTxt as _PriceDeterminationControlText on  $projection.PriceDeterminationControl = _PriceDeterminationControlText.PriceDeterminationControl
  association [0..1] to I_BR_MaterialUsage             as _BR_MaterialUsage              on  $projection.ProductUsageType = _BR_MaterialUsage.BR_MaterialUsage
  association [0..*] to I_BR_MaterialUsageText         as _BR_MaterialUsageText          on  $projection.ProductUsageType = _BR_MaterialUsageText.BR_MaterialUsage
  association [0..1] to I_BR_MaterialOrigin            as _BR_MaterialOrigin             on  $projection.ProductOriginType = _BR_MaterialOrigin.BR_MaterialOrigin
  association [0..*] to I_BR_MaterialOriginText        as _BR_MaterialOriginText         on  $projection.ProductOriginType = _BR_MaterialOriginText.BR_MaterialOrigin

  association [0..1] to E_Productvaluation             as _ProdValuationExt              on  $projection.Product       = _ProdValuationExt.Product
                                                                                         and $projection.ValuationArea = _ProdValuationExt.ValuationArea
                                                                                         and $projection.ValuationType = _ProdValuationExt.ValuationType

  association [0..1] to I_InventoryValuationType       as _InventoryValuationType        on  $projection.ValuationType = _InventoryValuationType.InventoryValuationType

{
  key Valuation.matnr                                                       as Product,
  key Valuation.bwkey                                                       as ValuationArea,
      @ObjectModel.foreignKey.association: '_InventoryValuationType'
  key Valuation.bwtar                                                       as ValuationType,
      @ObjectModel : {
                foreignKey.association: '_ValuationClass',
                text.association: '_ValuationClassText'
             }
      Valuation.bklas                                                       as ValuationClass,
      @ObjectModel.foreignKey.association: '_PriceDeterminationControl'
      @ObjectModel.text.association:'_PriceDeterminationControlText'
      Valuation.mlast                                                       as PriceDeterminationControl,
      //      Valuation.mlmaa                                        as TaxClassificationCategory,   //PSTAT Move : Moved to I_ProductValuationAcct

      //      Valuation.vjbkl                                        as ValuationClassInPrevYear, //pstat changes

      //      Valuation.vmbkl                                        as ValuationClassInPrevPeriod, //pstat changes

      marv.lfmon                                                            as FiscalMonthCurrentPeriod, // pstat

      marv.lfgja                                                            as FiscalYearCurrentPeriod,  //pstat

      @Semantics.amount.currencyCode: 'Currency'
      Valuation.stprs                                                       as StandardPrice,
      Valuation.peinh                                                       as PriceUnitQty,
      @ObjectModel.foreignKey.association: '_InventoryValnProcedure'
      @ObjectModel.text.association:'_InventoryValnProcedureText'
      cast(Valuation.vprsv as inventoryvaluationprocedure preserving type ) as InventoryValuationProcedure,
      Valuation.zkprs                                                       as FutureEvaluatedAmountValue, //PSTAT Move : Moved to I_ProductValuationAcct

      Valuation.zkdat                                                       as FuturePriceValidityStartDate, //PSTAT Move : Moved to I_ProductValuationAcct


      //NEW FIELDS

      @Semantics.amount.currencyCode: 'Currency'
      Valuation.stprv                                                       as PrevInvtryPriceInCoCodeCrcy,

      //      cast (Valuation.lbkum as totalvalstockquantity )       as TotalValStockQuantity,

      @Semantics.amount.currencyCode: 'Currency'
      Valuation.verpr                                                       as MovingAveragePrice,
      //      cast (Valuation.vmkum as totalvalstockprevperiod )     as TotalValStockPrevPeriod,    //pstat

      //      cast (Valuation.vmsal as totalvalstockprevperiodvalue) as TotalValStockPrevPeriodValue, //pstat

      //      cast (Valuation.vjkum as totalvalstockprevyear )       as TotalValStockPrevYear,  //PSTAT Delete

      //      cast (Valuation.vjsal as totalvalstockprevyearvalue )  as TotalValStockPrevYearValue,  //PSTAT Delete

      Valuation.bwtty                                                       as ValuationCategory,
      //      cast (Valuation.salk3 as totalvalstockvalue   )        as TotalValStockValue,   //pstat

      @ObjectModel.foreignKey.association: '_BR_MaterialUsage'
      @ObjectModel.text.association:'_BR_MaterialUsageText'
      cast (Valuation.mtuse    as productusagetype preserving type )        as ProductUsageType,
      @ObjectModel.foreignKey.association: '_BR_MaterialOrigin'
      @ObjectModel.text.association:'_BR_MaterialOriginText'
      cast (Valuation.mtorg    as productorigintype preserving type )       as ProductOriginType,
      Valuation.ownpr                                                       as IsProducedInhouse,
      //      Valuation.oklas                                        as ValnClsForSpclStkAtVndr,    //pstat

      Valuation.kaln1                                                       as ProdCostEstNumber,
      //      Valuation.kalnr                                        as CostEstimateNumber,

      Valuation.lvorm                                                       as IsMarkedForDeletion,
      //Retail field


      Valuation.bwspa                                                       as ValuationMargin,
      cast( 'X' as sdraft_is_active preserving type )                       as IsActiveEntity, // to enbale extensibility in Draft 2.0


      //ML fields

      t001k.bukrs                                                           as CompanyCode,
      @ObjectModel : {
         foreignKey.association: '_ValnClassSalesOrderStock',
         text.association: '_ValnClassSalesOrderStockText'
      }

      Valuation.eklas                                                       as ValuationClassSalesOrderStock,
      @ObjectModel : {
                      foreignKey.association: '_ValnClassProjectStock',
                      text.association: '_ValnClassProjectStockText'
                   }
      Valuation.qklas                                                       as ProjectStockValuationClass,
      @Semantics.amount.currencyCode: 'Currency'
      @VDM.lifecycle.status: #DEPRECATED
      Valuation.zplp1                                                       as PlannedPrice1InCoCodeCrcy,
      @Semantics.amount.currencyCode: 'Currency'
      @VDM.lifecycle.status: #DEPRECATED
      Valuation.zplp2                                                       as PlannedPrice2InCoCodeCrcy,
      @Semantics.amount.currencyCode: 'Currency'
      @VDM.lifecycle.status: #DEPRECATED
      Valuation.zplp3                                                       as PlannedPrice3InCoCodeCrcy,
      @VDM.lifecycle.status: #DEPRECATED
      Valuation.zpld1                                                       as FuturePlndPrice1ValdtyDate,
      @VDM.lifecycle.status: #DEPRECATED
      Valuation.zpld2                                                       as FuturePlndPrice2ValdtyDate,
      @VDM.lifecycle.status: #DEPRECATED
      Valuation.zpld3                                                       as FuturePlndPrice3ValdtyDate,
      //      Valuation.bwprs                                        as TaxPricel1InCoCodeCrcy,  //PSTAT Move : Moved to I_ProductValuationAcct

      //      Valuation.bwps1                                        as TaxPrice2InCoCodeCrcy,  //PSTAT Move : Moved to I_ProductValuationAcct

      //      Valuation.vjbws                                        as TaxPrice3InCoCodeCrcy,  //PSTAT Move : Moved to I_ProductValuationAcct

      //      Valuation.bwprh                                        as CommercialPrice1InCoCodeCrcy,  //PSTAT Move : Moved to I_ProductValuationAcct

      //      Valuation.bwph1                                        as CommercialPrice2InCoCodeCrcy,  //PSTAT Move : Moved to I_ProductValuationAcct

      //      Valuation.vjbwh                                        as CommercialPrice3InCoCodeCrcy,  //PSTAT Move : Moved to I_ProductValuationAcct

      //      Valuation.abwkz                                        as DevaluationYearCount,    //PSTAT Move : Moved to I_ProductValuationAcct

      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      Valuation.bwpei                                                       as TaxBasedPricesPriceUnitQty,
      //      Valuation.mypol                                        as LIFOValuationPoolNumber,    //PSTAT Move : Moved to I_ProductValuationAcct

      //      Valuation.xlifo                                        as IsLIFOAndFIFORelevant,    //PSTAT Move : Moved to I_ProductValuationAcct

      Valuation.laepr                                                       as PriceLastChangeDate,
      @Semantics.amount.currencyCode: 'Currency'
      @VDM.lifecycle.status: #DEPRECATED
      Valuation.zplpr                                                       as PlannedPrice,
      //      Valuation.bwva1                                                        as FutrCostEstValuationVariant, //PSTAT Delete : Read only

      //      Valuation.fbwst                                                        as FutrPlanProjSlsOrdValnStrategy, //PSTAT Delete : Read only

      //      Valuation.fplpx                                                        as FixedPortionOfPlannedPrice,  //PSTAT Delete : Read only

      //      Valuation.vers1                                                        as FutureCostEstCostingVersion, //PSTAT Delete : Read only

      t001.waers                                                            as Currency,
      Valuation.mlmaa                                                       as MLIsActiveAtProductLevel,
      @Semantics.unitOfMeasure: true
      _Product.BaseUnit,
      //      Valuation.pprdz                                                        as FutureCostEstimateFiscalPeriod,

      //      Valuation.pdatz                                                        as FutureCostEstFiscalYear,

      _Product,
      _ValuationClass,
      _ValuationClassText,
      _ValnClassSalesOrderStock,
      _ValnClassSalesOrderStockText,
      _ValnClassProjectStock,
      _ValnClassProjectStockText,
      _InventoryValnProcedure,
      _InventoryValnProcedureText,
      _PriceDeterminationControl,
      _PriceDeterminationControlText,
      _BR_MaterialUsage,
      _BR_MaterialUsageText,
      _BR_MaterialOrigin,
      _BR_MaterialOriginText,
      _InventoryValuationType





}