C_InvtryTurnoverAnlysDets
Inventory Turnover Analysis Details
C_InvtryTurnoverAnlysDets is a Consumption CDS View that provides data about "Inventory Turnover Analysis Details" in SAP S/4HANA. It reads from 1 data source (I_MaterialPlant) and exposes 15 fields with key field Plant. It has 4 associations to related views.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| I_MaterialPlant | _MaterialPlant | from |
Parameters (1)
| Name | Type | Default |
|---|---|---|
| P_StartDate | bedat |
Associations (4)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | I_ProductPlant | _ProductPlant | $projection.Plant = _ProductPlant.Plant and $projection.Material = _ProductPlant.Product |
| [0..1] | C_InvtryTurnoverPrfrdSupplier | _InvtryTurnoverPrfrdSupplier | $projection.Plant = _InvtryTurnoverPrfrdSupplier.Plant and $projection.Material = _InvtryTurnoverPrfrdSupplier.Material |
| [0..*] | C_InvtryTurnoverSupplier | _InvtryTurnoverSupplier | $projection.Plant = _InvtryTurnoverSupplier.Plant and $projection.Material = _InvtryTurnoverSupplier.Material |
| [0..1] | I_UnitOfMeasure | _BaseUnit | $projection.MaterialBaseUnit = _BaseUnit.UnitOfMeasure |
Annotations (20)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.preserveKey | true | view | |
| AbapCatalog.sqlViewName | CINVTOANLYSDETS | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| AccessControl.personalData.blocking | #NOT_REQUIRED | view | |
| ObjectModel.usageType.sizeCategory | #XXL | view | |
| ObjectModel.usageType.serviceQuality | #D | view | |
| ObjectModel.usageType.dataClass | #TRANSACTIONAL | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| UI.headerInfo.typeName | Inventory Turnover Analysis | view | |
| UI.headerInfo.typeNamePlural | Inventory Turnover Analysis | view | |
| UI.headerInfo.title.label | Inventory Turnover Analysis | view | |
| UI.headerInfo.title.value | Material | view | |
| UI.headerInfo.description.label | Plant | view | |
| UI.headerInfo.description.value | Plant | view | |
| Consumption.semanticObject | Material | view | |
| EndUserText.label | Inventory Turnover Analysis Details | view | |
| VDM.private | false | view | |
| VDM.viewType | #CONSUMPTION | view | |
| Metadata.ignorePropagatedAnnotations | true | view |
Fields (15)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| resultElementDateFunctionStartDate | ||||
| Material | ||||
| KEY | Plant | I_MaterialPlant | Plant | |
| MaterialName | ||||
| PlantName | I_Plant | PlantName | ||
| MaterialBaseUnit | ||||
| Currency | I_CompanyCode | Currency | ||
| CompanyCode | I_CompanyCode | CompanyCode | ||
| MaterialSafetyStockQty | I_MaterialPlant | MaterialSafetyStockQty | ||
| MinimumLotSizeQuantity | _ProductPlant | MinimumLotSizeQuantity | ||
| MaximumLotSizeQuantity | _ProductPlant | MaximumLotSizeQuantity | ||
| FixedLotSizeQuantity | _ProductPlant | FixedLotSizeQuantity | ||
| _InvtryTurnoverPrfrdSupplier | _InvtryTurnoverPrfrdSupplier | |||
| _InvtryTurnoverSupplier | _InvtryTurnoverSupplier | |||
| _BaseUnit | _BaseUnit |
@AbapCatalog.preserveKey: true
@AbapCatalog.sqlViewName: 'CINVTOANLYSDETS'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #NOT_REQUIRED
@ObjectModel.usageType.sizeCategory: #XXL
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.dataClass:#TRANSACTIONAL
@ClientHandling.algorithm: #SESSION_VARIABLE
@UI.headerInfo:{
typeName: 'Inventory Turnover Analysis',
typeNamePlural: 'Inventory Turnover Analysis',
title: { label: 'Inventory Turnover Analysis',
value: 'Material' },
description: { label: 'Plant',
value: 'Plant' }
}
@Consumption.semanticObject: 'Material'
@EndUserText.label: 'Inventory Turnover Analysis Details'
@VDM.private: false
@VDM.viewType: #CONSUMPTION
@Metadata.ignorePropagatedAnnotations: true
define view C_InvtryTurnoverAnlysDets
with parameters
@Consumption.derivation: { lookupEntity: 'C_SglGregorianCalDateFunction',
resultElement: 'DateFunctionStartDate', binding: [ {
targetParameter: 'P_DateFunction', type: #CONSTANT, value : 'PREVIOUS365DAYS' },
{ targetParameter : 'P_Language' , type : #SYSTEM_FIELD, value : '#SYSTEM_LANGUAGE' } ]
}
@Consumption.hidden: true
P_StartDate: bedat
as select from I_MaterialPlant as _MaterialPlant
join I_Plant on _MaterialPlant.Plant = I_Plant.Plant //t001w
join I_Purreqvaluationarea on I_Plant.ValuationArea = I_Purreqvaluationarea.ValuationArea //t001k
join I_CompanyCode on I_CompanyCode.CompanyCode = I_Purreqvaluationarea.CompanyCode //t001
association [0..1] to I_ProductPlant as _ProductPlant on $projection.Plant = _ProductPlant.Plant
and $projection.Material = _ProductPlant.Product
association [0..1] to C_InvtryTurnoverPrfrdSupplier as _InvtryTurnoverPrfrdSupplier on $projection.Plant = _InvtryTurnoverPrfrdSupplier.Plant
and $projection.Material = _InvtryTurnoverPrfrdSupplier.Material
association [0..*] to C_InvtryTurnoverSupplier as _InvtryTurnoverSupplier on $projection.Plant = _InvtryTurnoverSupplier.Plant
and $projection.Material = _InvtryTurnoverSupplier.Material
association [0..1] to I_UnitOfMeasure as _BaseUnit on $projection.MaterialBaseUnit = _BaseUnit.UnitOfMeasure
{
@Consumption.filter.hidden: true
key _MaterialPlant.Material,
@Consumption.filter.hidden: true
key _MaterialPlant.Plant,
@Consumption.groupWithElement: 'Material'
@Consumption.filter.hidden: true
@Semantics.text: true
_MaterialPlant._Material._Text[1: Language=$session.system_language].MaterialName,
@Consumption.groupWithElement: 'Plant'
@Consumption.filter.hidden: true
@Semantics.text: true
I_Plant.PlantName,
//Material Data
@Semantics.unitOfMeasure: true
@Consumption.filter.hidden: true
@ObjectModel.foreignKey.association: '_BaseUnit'
_MaterialPlant._Material.MaterialBaseUnit as MaterialBaseUnit,
@Consumption.filter.hidden: true
@Semantics.currencyCode: true
I_CompanyCode.Currency,
@Consumption.filter.hidden: true
I_CompanyCode.CompanyCode,
@Semantics.quantity.unitOfMeasure: 'MaterialBaseUnit'
@Consumption.filter.hidden: true
_MaterialPlant.MaterialSafetyStockQty,
@Semantics.quantity.unitOfMeasure: 'MaterialBaseUnit'
@Consumption.filter.hidden: true
_ProductPlant.MinimumLotSizeQuantity,
@Semantics.quantity.unitOfMeasure: 'MaterialBaseUnit'
@Consumption.filter.hidden: true
_ProductPlant.MaximumLotSizeQuantity,
@Consumption.filter.hidden: true
@Semantics.quantity.unitOfMeasure: 'MaterialBaseUnit'
_ProductPlant.FixedLotSizeQuantity,
// Preferred Supplier
_InvtryTurnoverPrfrdSupplier,
// All Suppliers
_InvtryTurnoverSupplier,
_BaseUnit
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_COMPANYCODE",
"I_MATERIAL",
"I_MATERIALPLANT",
"I_MATERIALTEXT",
"I_PLANT",
"I_PRODUCTPLANT",
"I_PURREQVALUATIONAREA"
],
"ASSOCIATED":
[
"C_INVTRYTURNOVERPRFRDSUPPLIER",
"C_INVTRYTURNOVERSUPPLIER",
"I_PRODUCTPLANT",
"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