I_PRODUCTVALUATIONBASIC

CDS View

Product Valuation

I_PRODUCTVALUATIONBASIC is a CDS View in S/4HANA. Product Valuation. It contains 22 fields. 12 CDS views read from this table.

CDS Views using this table (12)

ViewTypeJoinVDMDescription
C_MatlDocumentValuationTypeVH view_entity from CONSUMPTION Material Valuation Types for Reservation
C_ResvnMaterialValuationTypeVH view_entity from CONSUMPTION Material Valuation Types for Reservation
I_CN_MaterialStockValuation view from COMPOSITE Material stock valuation for china turnover report
I_CO_MaterialBalance view_entity inner COMPOSITE Colombia Material Balance
I_FldLogsValuationType view from COMPOSITE Field Logistics Valuation type
I_ProductByValuationVH view from COMPOSITE Product by Valuation
I_Productvaluationprices_Union view union COMPOSITE Product Valuation Prices Union
I_ProductValuationWD view from TRANSACTIONAL Product BO - Valuation Node (draft)
P_MaterialValuationTypesVH view_entity from COMPOSITE Valuation category by material plant
P_Matval_Manage_Bal_Split view_entity from COMPOSITE Base View for Mat.Val., Balances
R_ProductValuationTP view_entity from TRANSACTIONAL Product Valuation - TP
R_ProductValuationTP_2 view_entity from TRANSACTIONAL Product Valuation - TP

Fields (22)

KeyField CDS FieldsUsed in Views
KEY ProdCostEstNumber CostEstimate,ProdCostEstNumber 2
KEY Product Product 3
KEY ValuationArea ValuationArea,ValuationAreaForEdit 3
KEY ValuationClass ValuationClass 2
KEY ValuationType InventoryValuationType,ValuationType,ValuationTypeForEdit 3
_Product _Product 1
BaseUnit BaseUnit 1
Currency Currency 1
InventoryValuationProcedure InventoryValuationProcedure 1
IsMarkedForDeletion IsMarkedForDeletion 1
IsProducedInhouse IsProducedInhouse 1
MovingAveragePrice MovingAveragePrice 1
PriceDeterminationControl PriceDeterminationControl 1
PriceLastChangeDate PriceLastChangeDate 1
PriceUnitQty PriceUnitQty 1
ProductOriginType ProductOriginType 1
ProductUsageType ProductUsageType 1
ProjectStockValuationClass ProjectStockValuationClass 1
StandardPrice StandardPrice 1
ValuationCategory InventoryValuationCategory,ValuationCategory 2
ValuationClassSalesOrderStock ValuationClassSalesOrderStock 1
ValuationMargin ValuationMargin 1
// 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

}