I_ProductValuationBasic

DDL: I_PRODUCTVALUATIONBASIC SQL: IPRDVALBASIC Type: view BASIC Package: VDM_MD_PRODUCT_DDIC

Product Valuation

I_ProductValuationBasic is a Basic CDS View that provides data about "Product Valuation" in SAP S/4HANA. It reads from 4 data sources (marv, t001, t001k, P_ProductValuationBasic) and exposes 47 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
P_ProductValuationBasic Valuation from

Associations (17)

CardinalityTargetAliasCondition
[1..1] I_Product _Product $projection.Product = _Product.Product
[0..1] I_Prodvaluationclass _ValuationClass $projection.ValuationClass = _ValuationClass.ValuationClass
[0..1] I_Prodvaluationclass _ValnClassSalesOrderStock $projection.ValuationClassSalesOrderStock = _ValnClassSalesOrderStock.ValuationClass
[0..1] I_Prodvaluationclass _ValnClassProjectStock $projection.ProjectStockValuationClass = _ValnClassProjectStock.ValuationClass
[0..1] I_ProdValnPriceControl _InventoryValnProcedure $projection.InventoryValuationProcedure = _InventoryValnProcedure.InventoryValuationProcedure
[0..1] I_PriceDeterminationControl _PriceDeterminationControl $projection.PriceDeterminationControl = _PriceDeterminationControl.PriceDeterminationControl
[0..1] I_BR_MaterialUsage _BR_MaterialUsage $projection.ProductUsageType = _BR_MaterialUsage.BR_MaterialUsage
[0..1] I_BR_MaterialOrigin _BR_MaterialOrigin $projection.ProductOriginType = _BR_MaterialOrigin.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
[1..1] I_UnitOfMeasure _BaseUnitOfMeasure $projection.baseunit = _BaseUnitOfMeasure.UnitOfMeasure
[0..*] I_UnitOfMeasureText _BaseUnitOfMeasureText $projection.baseunit = _BaseUnitOfMeasureText.UnitOfMeasure
[0..*] I_ProductDescription_2 _ProductDescription_2 $projection.Product = _ProductDescription_2.Product
[0..1] I_Currency _Currency $projection.Currency = _Currency.Currency
[0..*] I_CurrencyText _CurrencyText $projection.Currency = _CurrencyText.Currency
[0..*] I_PriceDeterminationControlTxt _PriceDeterminationControlText $projection.PriceDeterminationControl = _PriceDeterminationControlText.PriceDeterminationControl
[0..*] I_ProdValnPriceControlText _InventoryValnProcedureText $projection.InventoryValuationProcedure = _InventoryValnProcedureText.InventoryValuationProcedure

Annotations (13)

NameValueLevelField
AbapCatalog.sqlViewName IPRDVALBASIC view
VDM.viewType #BASIC view
AccessControl.authorizationCheck #CHECK view
EndUserText.label Product Valuation view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.dataClass #MASTER view
ObjectModel.usageType.sizeCategory #XL view
ClientHandling.algorithm #SESSION_VARIABLE view
Metadata.ignorePropagatedAnnotations true view
AbapCatalog.preserveKey true view
AbapCatalog.compiler.compareFilter true view
Analytics.dataExtraction.enabled true view
ObjectModel.sapObjectNodeType.name ProductValuation view

Fields (47)

KeyFieldSource TableSource FieldDescription
KEY Product P_ProductValuationBasic Product
KEY ValuationArea P_ProductValuationBasic ValuationArea
KEY ValuationType P_ProductValuationBasic ValuationType
ValuationClass P_ProductValuationBasic ValuationClass
PriceDeterminationControl P_ProductValuationBasic PriceDeterminationControl
FiscalMonthCurrentPeriod marv lfmon
FiscalYearCurrentPeriod marv lfgja
StandardPrice P_ProductValuationBasic StandardPrice
PriceUnitQty P_ProductValuationBasic PriceUnitQty
InventoryValuationProcedure P_ProductValuationBasic InventoryValuationProcedure
FuturePriceValidityStartDate P_ProductValuationBasic FuturePriceValidityStartDate
PrevInvtryPriceInCoCodeCrcy P_ProductValuationBasic PrevInvtryPriceInCoCodeCrcy
MovingAveragePrice P_ProductValuationBasic MovingAveragePrice
ValuationCategory P_ProductValuationBasic ValuationCategory
ProductUsageType P_ProductValuationBasic ProductUsageType
ProductOriginType P_ProductValuationBasic ProductOriginType
IsProducedInhouse P_ProductValuationBasic IsProducedInhouse
ProdCostEstNumber P_ProductValuationBasic ProdCostEstNumber
IsMarkedForDeletion P_ProductValuationBasic IsMarkedForDeletion
ValuationMargin P_ProductValuationBasic ValuationMargin
IsActiveEntity
CompanyCode t001k bukrs
ValuationClassSalesOrderStock P_ProductValuationBasic ValuationClassSalesOrderStock
ProjectStockValuationClass P_ProductValuationBasic ProjectStockValuationClass
TaxBasedPricesPriceUnitQty P_ProductValuationBasic TaxBasedPricesPriceUnitQty
PriceLastChangeDate P_ProductValuationBasic PriceLastChangeDate
FuturePrice P_ProductValuationBasic FuturePrice
MaintenanceStatus P_ProductValuationBasic MaintenanceStatus
Currency t001 waers
BaseUnit _Product BaseUnit
MLIsActiveAtProductLevel P_ProductValuationBasic MLIsActiveAtProductLevel
_Product _Product
_ValuationClass _ValuationClass
_ValnClassSalesOrderStock _ValnClassSalesOrderStock
_ValnClassProjectStock _ValnClassProjectStock
_InventoryValnProcedure _InventoryValnProcedure
_PriceDeterminationControl _PriceDeterminationControl
_BR_MaterialUsage _BR_MaterialUsage
_BR_MaterialOrigin _BR_MaterialOrigin
_InventoryValuationType _InventoryValuationType
_BaseUnitOfMeasure _BaseUnitOfMeasure
_ProductDescription_2 _ProductDescription_2
_BaseUnitOfMeasureText _BaseUnitOfMeasureText
_Currency _Currency
_CurrencyText _CurrencyText
_PriceDeterminationControlText _PriceDeterminationControlText
_InventoryValnProcedureText _InventoryValnProcedureText
// Product Valuation  Basic

@AbapCatalog.sqlViewName: 'IPRDVALBASIC'
@VDM.viewType: #BASIC
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Product Valuation'
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.dataClass: #MASTER
@ObjectModel.usageType.sizeCategory: #XL
@ClientHandling.algorithm: #SESSION_VARIABLE
@Metadata.ignorePropagatedAnnotations:true
@AbapCatalog.preserveKey: true
@AbapCatalog.compiler.compareFilter: true
@ObjectModel.supportedCapabilities: [ #SQL_DATA_SOURCE,
                                      #CDS_MODELING_DATA_SOURCE,
                                      #CDS_MODELING_ASSOCIATION_TARGET,
                                      #EXTRACTION_DATA_SOURCE ]


@Analytics:{
    dataExtraction: {
        enabled: true,
        delta.changeDataCapture: {
        mapping:
        [ { table: 'MBEW',
            role: #MAIN,
            viewElement: ['Product','ValuationArea','ValuationType'],
            tableElement: ['MATNR','BWKEY','BWTAR'] },

          { table: 'T001K',
            role: #LEFT_OUTER_TO_ONE_JOIN,
            viewElement: ['ValuationArea'],
            tableElement: ['BWKEY']
          },

          { table: 'MARV',
            role: #LEFT_OUTER_TO_ONE_JOIN,
            viewElement: ['CompanyCode'],
            tableElement: ['BUKRS']
          },

          { table: 'T001',
            role: #LEFT_OUTER_TO_ONE_JOIN,
            viewElement: ['CompanyCode'],
            tableElement: ['BUKRS']
          },
          { table: 'MARA',
            role: #LEFT_OUTER_TO_ONE_JOIN,
            viewElement: ['Product'],
            tableElement: ['MATNR']

          }
       ]
    }
  }
}

@ObjectModel.sapObjectNodeType.name:'ProductValuation'

define view I_ProductValuationBasic
  as select from P_ProductValuationBasic as Valuation
    inner join   t001k on Valuation.ValuationArea = 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..1] to I_Prodvaluationclass        as _ValnClassSalesOrderStock   on  $projection.ValuationClassSalesOrderStock = _ValnClassSalesOrderStock.ValuationClass
  association [0..1] to I_Prodvaluationclass        as _ValnClassProjectStock      on  $projection.ProjectStockValuationClass = _ValnClassProjectStock.ValuationClass
  association [0..1] to I_ProdValnPriceControl      as _InventoryValnProcedure     on  $projection.InventoryValuationProcedure = _InventoryValnProcedure.InventoryValuationProcedure
  association [0..1] to I_PriceDeterminationControl as _PriceDeterminationControl  on  $projection.PriceDeterminationControl = _PriceDeterminationControl.PriceDeterminationControl
  association [0..1] to I_BR_MaterialUsage          as _BR_MaterialUsage           on  $projection.ProductUsageType = _BR_MaterialUsage.BR_MaterialUsage
  association [0..1] to I_BR_MaterialOrigin         as _BR_MaterialOrigin          on  $projection.ProductOriginType = _BR_MaterialOrigin.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
  association [1..1] to I_UnitOfMeasure             as _BaseUnitOfMeasure          on  $projection.baseunit = _BaseUnitOfMeasure.UnitOfMeasure
  association [0..*] to I_UnitOfMeasureText         as _BaseUnitOfMeasureText      on  $projection.baseunit = _BaseUnitOfMeasureText.UnitOfMeasure
  association [0..*] to I_ProductDescription_2      as _ProductDescription_2       on  $projection.Product = _ProductDescription_2.Product
  association [0..1] to I_Currency                  as _Currency                   on  $projection.Currency = _Currency.Currency
  association [0..*] to I_CurrencyText              as _CurrencyText               on  $projection.Currency = _CurrencyText.Currency
  association [0..*] to I_PriceDeterminationControlTxt as _PriceDeterminationControlText  on  $projection.PriceDeterminationControl = _PriceDeterminationControlText.PriceDeterminationControl
  association [0..*] to I_ProdValnPriceControlText  as _InventoryValnProcedureText   on $projection.InventoryValuationProcedure = _InventoryValnProcedureText.InventoryValuationProcedure
{
      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_ProductStdVH',
                     element: 'Product' },
          useAsTemplate: true
        }]
      @ObjectModel.text.association: '_ProductDescription_2'
  key Valuation.Product,
  key Valuation.ValuationArea,
      @ObjectModel.foreignKey.association: '_InventoryValuationType'
  key Valuation.ValuationType,
      @ObjectModel.foreignKey.association: '_ValuationClass'
      @ObjectModel.sapObjectNodeTypeReference:'ProductValuationClass'
      @Consumption.valueHelpDefinition: [  { entity: { name: 'I_Prodvaluationclass', element: 'ValuationClass' }, useAsTemplate: true  }]
      Valuation.ValuationClass,
      @ObjectModel.text.association: '_PriceDeterminationControlText'
//      @Consumption.valueHelpDefinition: [  { entity: { name: 'I_PriceDeterminationControl', element: 'PriceDeterminationControl' }, useAsTemplate: true  }]

      Valuation.PriceDeterminationControl,
      marv.lfmon                                      as FiscalMonthCurrentPeriod,
      marv.lfgja                                      as FiscalYearCurrentPeriod,
      @Semantics.amount.currencyCode: 'Currency'
      Valuation.StandardPrice,
      Valuation.PriceUnitQty,
      @ObjectModel.foreignKey.association: '_InventoryValnProcedure'
      @ObjectModel.sapObjectNodeTypeReference:'ProductPriceControl'
      @Consumption.valueHelpDefinition:[{ entity : { name: 'I_ProdValnPriceControl', element : 'InventoryValuationProcedure'}, useAsTemplate: true }]
      @ObjectModel.text.association: '_InventoryValnProcedureText'
      Valuation.InventoryValuationProcedure,
      Valuation.FuturePriceValidityStartDate,
      @Semantics.amount.currencyCode: 'Currency'
      Valuation.PrevInvtryPriceInCoCodeCrcy,
      @Semantics.amount.currencyCode: 'Currency'
      Valuation.MovingAveragePrice,
      @ObjectModel.sapObjectNodeTypeReference:'ProductValuationCategory'
      Valuation.ValuationCategory,
      @ObjectModel.foreignKey.association: '_BR_MaterialUsage'
      Valuation.ProductUsageType,
      @ObjectModel.foreignKey.association: '_BR_MaterialOrigin'
      Valuation.ProductOriginType,
      Valuation.IsProducedInhouse,
      Valuation.ProdCostEstNumber,
      Valuation.IsMarkedForDeletion,
      //Retail field

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


      //ML fields

      @Consumption.valueHelpDefinition: [  { entity: { name: 'I_CompanyCodeStdVH', element: 'CompanyCode' }, useAsTemplate: true  }]
      t001k.bukrs                                     as CompanyCode,
      @ObjectModel.foreignKey.association: '_ValnClassSalesOrderStock'
      @ObjectModel.sapObjectNodeTypeReference:'ProductValuationClass'
      @Consumption.valueHelpDefinition: [  { entity: { name: 'I_Prodvaluationclass', element: 'ValuationClass' }, useAsTemplate: true  }]
      Valuation.ValuationClassSalesOrderStock,
      @ObjectModel.foreignKey.association: '_ValnClassProjectStock'
      @ObjectModel.sapObjectNodeTypeReference:'ProductValuationClass'
      @Consumption.valueHelpDefinition: [  { entity: { name: 'I_Prodvaluationclass', element: 'ValuationClass' }, useAsTemplate: true  }]
      Valuation.ProjectStockValuationClass,
      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      Valuation.TaxBasedPricesPriceUnitQty,
      Valuation.PriceLastChangeDate,
      @Semantics.amount.currencyCode: 'Currency'
      Valuation.FuturePrice,
      Valuation.MaintenanceStatus,
      @Semantics.currencyCode: true
      @ObjectModel.text.association: '_CurrencyText'
      @Consumption.valueHelpDefinition:[{ entity : { name: 'I_CurrencyStdVH', element : 'Currency'} , useAsTemplate: true }]
      t001.waers                                      as Currency,
      @Semantics.unitOfMeasure: true
      @ObjectModel.foreignKey.association: '_BaseUnitOfMeasure'
      @ObjectModel.text.association: '_BaseUnitOfMeasureText'
      @Consumption.valueHelpDefinition:[{ entity : { name: 'I_UnitOfMeasureStdVH', element : 'UnitOfMeasure'}, useAsTemplate: true }]  
      _Product.BaseUnit,
      Valuation.MLIsActiveAtProductLevel,
      _Product,
      _ValuationClass,
      _ValnClassSalesOrderStock,
      _ValnClassProjectStock,
      _InventoryValnProcedure,
      _PriceDeterminationControl,
      _BR_MaterialUsage,
      _BR_MaterialOrigin,
      _InventoryValuationType,
      _BaseUnitOfMeasure,
      _ProductDescription_2,
      _BaseUnitOfMeasureText,
      _Currency,
      _CurrencyText,
      _PriceDeterminationControlText,
      _InventoryValnProcedureText

}