I_PRODUCTVALUATIONBASIC
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)
| View | Type | Join | VDM | Description |
|---|---|---|---|---|
| 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)
| Key | Field | CDS Fields | Used 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":""
}
}*/