I_PRODUCTVALUATIONBASIC

CDS View

Product Valuation

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

CDS Views using this table (7)

ViewTypeJoinVDMDescription
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_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
R_ProductValuationTP view_entity from TRANSACTIONAL Product Valuation - TP

Fields (22)

KeyField CDS FieldsUsed in Views
KEY Product Product 3
KEY ValuationArea ValuationArea,ValuationAreaForEdit 3
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
ProdCostEstNumber ProdCostEstNumber 1
ProductOriginType ProductOriginType 1
ProductUsageType ProductUsageType 1
ProjectStockValuationClass ProjectStockValuationClass 1
StandardPrice StandardPrice 1
ValuationCategory InventoryValuationCategory,ValuationCategory 2
ValuationClass ValuationClass 1
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']

          }
       ]
    }
  }
}

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":""
}
}*/