I_PRODUCTVALUATION

CDS View

Product Valuation

I_PRODUCTVALUATION is a CDS View in S/4HANA. Product Valuation. It contains 17 fields. 6 CDS views read from this table.

CDS Views using this table (6)

ViewTypeJoinVDMDescription
A_ProductValuation view from COMPOSITE Valuation Area Data
C_PH_InventoryQuery view inner CONSUMPTION Ph Inventory Query Philippines
P_BR_ReportingItem view inner CONSUMPTION EFD - Product with Valuation and Plant
P_DDHistlBufProdStkInvtryPr4 view_entity from COMPOSITE Inventory price calculation for product
P_ProductValuationWD view from COMPOSITE
P_Salesview_Fs view from COMPOSITE

Fields (17)

KeyField CDS FieldsUsed in Views
KEY CompanyCode CompanyCode 1
KEY Product ActiveProduct,Product 2
KEY ValuationArea ActiveValuationArea,Plant,ValuationArea 3
KEY ValuationType ActiveInventoryValuationType,ValuationType 2
Currency Currency 1
InventoryValuationProcedure InventoryValuationProcedure 2
IsProducedInhouse IsProducedInhouse 1
MovingAveragePrice MovingAveragePrice 2
PriceDeterminationControl PriceDeterminationControl 1
PriceUnitQty PriceUnitQty 2
ProdCostEstNumber ProdCostEstNumber 1
ProductOriginType ProductOriginType 1
ProductUsageType ProductUsageType 1
StandardPrice StandardPrice 2
ValuationCategory ValuationCategory 1
ValuationClass ValuationClass 1
ValuationMargin ValuationMargin 1
// 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





}