I_ProductValuationBasic

DDL: I_PRODUCTVALUATIONBASIC SQL: IPRDVALBASIC Type: view BASIC

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 41 fields with key fields Product, ValuationArea, ValuationType. It has 11 associations to related views.

Data Sources (4)

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

Associations (11)

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

Annotations (12)

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

Fields (41)

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
// 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']

          }
       ]
    }
  }
}

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

{
  key Valuation.Product,
  key Valuation.ValuationArea,
      @ObjectModel.foreignKey.association: '_InventoryValuationType'
  key Valuation.ValuationType,
      @ObjectModel.foreignKey.association: '_ValuationClass'
      @ObjectModel.sapObjectNodeTypeReference:'ProductValuationClass'
      Valuation.ValuationClass,
      @ObjectModel.foreignKey.association: '_PriceDeterminationControl'
      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'
      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

      t001k.bukrs                                     as CompanyCode,
      @ObjectModel.foreignKey.association: '_ValnClassSalesOrderStock'
      @ObjectModel.sapObjectNodeTypeReference:'ProductValuationClass'
      Valuation.ValuationClassSalesOrderStock,
      @ObjectModel.foreignKey.association: '_ValnClassProjectStock'
      @ObjectModel.sapObjectNodeTypeReference:'ProductValuationClass'
      Valuation.ProjectStockValuationClass,
      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      Valuation.TaxBasedPricesPriceUnitQty,
      Valuation.PriceLastChangeDate,
      @Semantics.amount.currencyCode: 'Currency'
      Valuation.FuturePrice,
      Valuation.MaintenanceStatus,
      @Semantics.currencyCode: true
      t001.waers                                      as Currency,
      @Semantics.unitOfMeasure: true
      @ObjectModel.foreignKey.association: '_BaseUnitOfMeasure'                 
      _Product.BaseUnit,
      Valuation.MLIsActiveAtProductLevel,
      _Product,
      _ValuationClass,
      _ValnClassSalesOrderStock,
      _ValnClassProjectStock,
      _InventoryValnProcedure,
      _PriceDeterminationControl,
      _BR_MaterialUsage,
      _BR_MaterialOrigin,
      _InventoryValuationType,
      _BaseUnitOfMeasure





}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_PRODUCT",
"P_PRODUCTVALUATIONBASIC",
"MARV",
"T001",
"T001K"
],
"ASSOCIATED":
[
"E_PRODUCTVALUATION",
"I_BR_MATERIALORIGIN",
"I_BR_MATERIALUSAGE",
"I_INVENTORYVALUATIONTYPE",
"I_PRICEDETERMINATIONCONTROL",
"I_PRODUCT",
"I_PRODVALNPRICECONTROL",
"I_PRODVALUATIONCLASS",
"I_UNITOFMEASURE"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/