I_ProductValuationBasic
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)
| Source | Alias | Join Type |
|---|---|---|
| marv | marv | inner |
| t001 | t001 | inner |
| t001k | t001k | inner |
| P_ProductValuationBasic | Valuation | from |
Associations (11)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [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)
| Name | Value | Level | Field |
|---|---|---|---|
| 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)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| 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":""
}
}*/
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA