I_MaterialStock_2
Material Stock Calculation
I_MaterialStock_2 (Composite)
Package: Explore, extend and adapt the SAP S/4HANA Cloud Public Edition with built-in and side-by-side extension capabilities.
Supply Chain
I_MaterialStock_2 is a Composite CDS View (Cube) that provides data about "Material Stock Calculation" in SAP S/4HANA. It reads from 1 data source (I_MaterialStock_Aggr) and exposes 37 fields with key fields Material, Plant, StorageLocation, Batch, Supplier. It has 14 associations to related views. Part of development package MM_IM_VDM_STOCK.
SAP Help Documentation
| Category | CDS Views for Stock and Material Documents |
|---|---|
| Data Category | Interface Cube |
This CDS view provides you with the possibility to build your own consumption views on top. This CDS view provides the data to answer the following business questions: What is the quantity of material of a set of stock within a certain location? To help you decide which CDS view to use for your purposes, SAP has introduced the annotation ObjectModel.supportedCapabilities that indicates the most appropriate use cases for each CDS view. To find out what use cases are best supported by this CDS view, access the entry of the CDS view in the View Browser app and find the values for this annotation under the Annotation tab. For more information, see Supported Capabilities for CDS Views .
Prerequisites
Authorizations Users who want to use this CDS view must have one of the following business catalogs assigned: SAP_A4C_BC_DEV_TST_MM_IM0_PC Users who want to use this CDS view must have a role with the following restriction types set to read access: You need to have authorizations to access certain plants. These restriction types are edited in the Maintain Business Roles app.
Structure
Parameters The parameters of the CDS view are as follows: The view does not have any input parameters.
SAP API Hub
| Category | Composite |
|---|---|
| State | C1 |
| Line of Business | Supply Chain |
| Application Component | MM-IM-VDM-SGM-2CL |
| Capabilities | Data Source in SQL Select,Data Provider for Analytical Queries,Data Source for Defining CDS Entities |
| Extensible (Key User) | No |
| Extensible (Developer) | No |
| Release State (Key User) | Released |
| Release State (Developer) | Released |
| Package | Supply Chain for SAP S/4HANA Cloud Public Edition |
| Description | <p>This CDS view provides you with the possibility to build your own consumption views on top.</p> <p>This CDS view provides the data to answer the following business questions:</p> <ul> <li> <p>What is the quantity of material of a set of stock within a certain location?</p> </li> </ul> <p>To help you decide which CDS view to use for your purposes, SAP has introduced the annotation ObjectModel.supportedCapabilities that indicates the most appropriate use cases for each CDS view. To find out what use cases are best supported by this CDS view, access the entry of the CDS view in the View Browser app and find the values for this annotation under the Annotation tab. For more information, see Supported Capabilities for CDS Views.</p> |
Documentation
- Analytics with CDS Views — Build Analytics for S/4HANA Cloud Public Edition ABAP CDS views replicated to SAP Cloud Platform
- CDS Views on SAP Business Accelerator Hub — Explore SAP S/4HANA Cloud Public Edition CDS Views on SAP Business Accelerator Hub
- Create CDS View as API — Create CDS views in SAP S/4HANA Cloud Public Edition and consume them as APIs
- Custom CDS Views — Access data using a Custom Core Data Service view (Custom CDS view)
- Custom Communication Scenarios — Create custom communication scenarios to configure custom communication arrangement
- Key User Extensibility Tools — The Key User Extensibility Tools of S/4HANA
- SAP Extensibility Explorer for SAP S/4HANA Cloud Public Edition — Explore SAP S/4HANA Cloud Public Edition Extensibility options by leveraging the sample scenarios from SAP
- SAP S/4HANA Extensibility — SAP S/4HANA Extensibility Tutorial
- VDM View Types — The Virtual Data Model in SAP S/4HANA Cloud Public Edition
- View Browser — Search, browse and tag CDS Views
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| I_MaterialStock_Aggr | I_MaterialStock_Aggr | from |
Associations (14)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1..1] | I_Product | _Material | $projection.Material = _Material.Product |
| [1..1] | I_CompanyCode | _CompanyCode | $projection.CompanyCode = _CompanyCode.CompanyCode |
| [1..1] | I_Plant | _Plant | $projection.Plant = _Plant.Plant |
| [0..1] | I_StorageLocation | _StorageLocation | $projection.Plant = _StorageLocation.Plant and $projection.StorageLocation = _StorageLocation.StorageLocation |
| [0..1] | I_Supplier | _Supplier | $projection.Supplier = _Supplier.Supplier |
| [0..1] | I_Customer | _Customer | $projection.Customer = _Customer.Customer |
| [0..1] | I_Supplier | _SpecialStockIdfgStockOwner | $projection.SpecialStockIdfgStockOwner = _SpecialStockIdfgStockOwner.Supplier |
| [1..1] | I_InventoryStockType | _InventoryStockType | $projection.InventoryStockType = _InventoryStockType.InventoryStockType |
| [1..1] | I_InventorySpecialStockType | _InventorySpecialStockType | $projection.InventorySpecialStockType = _InventorySpecialStockType.InventorySpecialStockType |
| [1..1] | I_UnitOfMeasure | _UnitOfMeasure | $projection.MaterialBaseUnit = _UnitOfMeasure.UnitOfMeasure -- View I_InvtryPrcBasicByKeyDate deliveres the same data as I_InventoryPriceByKeyDate but is performance optimized for stock value calculation from quantities -- View I_InventoryPriceByKeyDate has to stay for compatibility reasons (I_MaterialStock is C1 released) |
| [0..1] | I_InvtryPrcBasicByKeyDate | _InvtryPrcBasicByPeriodEndDate | $projection.CostEstimate = _InvtryPrcBasicByPeriodEndDate.CostEstimate |
| [0..1] | I_InvtryPrcByKeyDateUsdInLogs | _InventoryPriceByPeriodEndDate | $projection.CostEstimate = _InventoryPriceByPeriodEndDate.CostEstimate |
| [0..1] | I_CurrentMatlPriceByCostEst | _CurrentInvtryPrice | $projection.CostEstimate = _CurrentInvtryPrice.CostEstimate |
| [0..*] | I_ResourceBasic | _ResourceBasic | $projection.ResourceID = _ResourceBasic.ResourceID |
Annotations (13)
| Name | Value | Level | Field |
|---|---|---|---|
| EndUserText.label | Material Stock Calculation | view | |
| AccessControl.authorizationCheck | #MANDATORY | view | |
| AccessControl.personalData.blocking | #NOT_REQUIRED | view | |
| ObjectModel.usageType.sizeCategory | #XXL | view | |
| ObjectModel.usageType.serviceQuality | #D | view | |
| ObjectModel.usageType.dataClass | #TRANSACTIONAL | view | |
| ObjectModel.modelingPattern | #ANALYTICAL_CUBE | view | |
| VDM.viewType | #COMPOSITE | view | |
| VDM.lifecycle.contract.type | #PUBLIC_LOCAL_API | view | |
| Analytics.dataCategory | #CUBE | view | |
| Analytics.internalName | #LOCAL | view | |
| Metadata.allowExtensions | true | view | |
| Metadata.ignorePropagatedAnnotations | true | view |
Fields (37)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | Material | Material | Material for Stock Mamangement | |
| KEY | Plant | Plant | Valuation Area | |
| KEY | StorageLocation | StorageLocation | Storage Location | |
| KEY | Batch | Batch | Batch Number (Stock Identifier) | |
| KEY | Supplier | Supplier | Supplier for Special Stock | |
| KEY | SDDocument | SDDocument | Sales Order Number of Valuated Sales Order Stock | |
| KEY | SDDocumentItem | SDDocumentItem | Sales Order Item of Valuated Sales Order Stock | |
| KEY | WBSElementInternalID | WBS Internal ID | ||
| KEY | Customer | Customer | Customer for Special Stock | |
| KEY | SpecialStockIdfgStockOwner | SpecialStockIdfgStockOwner | Add. Supplier for Special Stock | |
| KEY | InventoryStockType | InventoryStockType | Stock Type of Goods Movement (Stock Identifier) | |
| KEY | InventorySpecialStockType | InventorySpecialStockType | Special Stock Type | |
| KEY | FiscalYearVariant | FiscalYearVariant | Fiscal Year Variant | |
| KEY | MatlDocLatestPostgDate | MatlDocLatestPostgDate | Posting Date in the Document | |
| KEY | MaterialBaseUnit | MaterialBaseUnit | Base Unit of Measure | |
| KEY | CostEstimate | CostEstimate | Cost Estimate Number - Product Costing | |
| KEY | ResourceID | ResourceID | Resource Name (Stock Identifier) | |
| CompanyCode | CompanyCode | Receiver Company Code | ||
| MatlWrhsStkQtyInMatlBaseUnit | MatlWrhsStkQtyInMatlBaseUnit | Stock Quantity | ||
| MatlCnsmpnQtyInMatlBaseUnit | MatlCnsmpnQtyInMatlBaseUnit | Consumption Quantity | ||
| MatlStkIncrQtyInMatlBaseUnit | MatlStkIncrQtyInMatlBaseUnit | Stock Increase Quantity | ||
| MatlStkDecrQtyInMatlBaseUnit | MatlStkDecrQtyInMatlBaseUnit | Stock Decrease Quantity | ||
| _UnitOfMeasure | _UnitOfMeasure | |||
| _Material | _Material | |||
| _CompanyCode | _CompanyCode | |||
| _Plant | _Plant | |||
| _StorageLocation | _StorageLocation | |||
| _Supplier | _Supplier | |||
| _Customer | _Customer | |||
| _SpecialStockIdfgStockOwner | _SpecialStockIdfgStockOwner | |||
| _InventoryStockType | _InventoryStockType | |||
| _InventorySpecialStockType | _InventorySpecialStockType | |||
| _InvtryPrcBasicByPeriodEndDate | _InvtryPrcBasicByPeriodEndDate | |||
| _InventoryPriceByPeriodEndDate | _InventoryPriceByPeriodEndDate | |||
| _CurrentInvtryPrice | _CurrentInvtryPrice | |||
| _ResourceBasic | _ResourceBasic | |||
| _SpclStkIdfgWBSElmntBasicData | _SpclStkIdfgWBSElmntBasicData |
Derived SQL interpretation, reconstructed from the parsed view metadata (data sources, associations, and field mappings). SAP annotations are omitted and the structure is reformulated as SQL — this is a functional approximation, not the verbatim SAP source.
-- Derived SQL interpretation of CDS view I_MaterialStock_2.
-- Reconstructed from parsed metadata (data sources, associations, fields).
-- SAP annotations are omitted and the structure is reformulated as SQL;
-- this is a functional approximation, not the verbatim SAP source. Some join
-- conditions may be unavailable and a few CDS constructs are kept as-is.
CREATE VIEW I_MaterialStock_2 AS
SELECT
Material,
Plant,
StorageLocation,
Batch,
Supplier,
SDDocument,
SDDocumentItem,
cast ( WBSElementInternalID as ps_s4_pspnr preserving type ) AS WBSElementInternalID,
Customer,
SpecialStockIdfgStockOwner,
InventoryStockType,
InventorySpecialStockType,
FiscalYearVariant,
MatlDocLatestPostgDate,
MaterialBaseUnit,
CostEstimate,
ResourceID,
CompanyCode,
MatlWrhsStkQtyInMatlBaseUnit,
MatlCnsmpnQtyInMatlBaseUnit,
MatlStkIncrQtyInMatlBaseUnit,
MatlStkDecrQtyInMatlBaseUnit
FROM I_MaterialStock_Aggr
LEFT OUTER JOIN I_Product AS _Material ON Material = _Material.Product -- association [1..1]
LEFT OUTER JOIN I_CompanyCode AS _CompanyCode ON CompanyCode = _CompanyCode.CompanyCode -- association [1..1]
LEFT OUTER JOIN I_Plant AS _Plant ON Plant = _Plant.Plant -- association [1..1]
LEFT OUTER JOIN I_StorageLocation AS _StorageLocation ON Plant = _StorageLocation.Plant AND StorageLocation = _StorageLocation.StorageLocation -- association [0..1]
LEFT OUTER JOIN I_Supplier AS _Supplier ON Supplier = _Supplier.Supplier -- association [0..1]
LEFT OUTER JOIN I_Customer AS _Customer ON Customer = _Customer.Customer -- association [0..1]
LEFT OUTER JOIN I_Supplier AS _SpecialStockIdfgStockOwner ON SpecialStockIdfgStockOwner = _SpecialStockIdfgStockOwner.Supplier -- association [0..1]
LEFT OUTER JOIN I_InventoryStockType AS _InventoryStockType ON InventoryStockType = _InventoryStockType.InventoryStockType -- association [1..1]
LEFT OUTER JOIN I_InventorySpecialStockType AS _InventorySpecialStockType ON InventorySpecialStockType = _InventorySpecialStockType.InventorySpecialStockType -- association [1..1]
LEFT OUTER JOIN I_UnitOfMeasure AS _UnitOfMeasure ON MaterialBaseUnit = _UnitOfMeasure.UnitOfMeasure -- association [1..1]
LEFT OUTER JOIN I_InvtryPrcBasicByKeyDate AS _InvtryPrcBasicByPeriodEndDate ON CostEstimate = _InvtryPrcBasicByPeriodEndDate.CostEstimate -- association [0..1]
LEFT OUTER JOIN I_InvtryPrcByKeyDateUsdInLogs AS _InventoryPriceByPeriodEndDate ON CostEstimate = _InventoryPriceByPeriodEndDate.CostEstimate -- association [0..1]
LEFT OUTER JOIN I_CurrentMatlPriceByCostEst AS _CurrentInvtryPrice ON CostEstimate = _CurrentInvtryPrice.CostEstimate -- association [0..1]
LEFT OUTER JOIN I_ResourceBasic AS _ResourceBasic ON ResourceID = _ResourceBasic.ResourceID -- association [0..*]
;
Learn More
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- CDS View Annotations — A Complete Guide
- What Is a CDS View in SAP S/4HANA?
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- 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
- BSEG to ACDOCA: The Universal Journal Migration
- Business Partner Migration: KNA1/LFA1 to BUT000
- Material Document Migration: MSEG/MKPF to MATDOC
- How to Find the Right CDS View for an SAP Table
- BW Extractor to CDS View Migration Guide
- S/4HANA CDS View Deprecation: What You Need to Know
- ABAP CDS View Tutorial — From Basics to Real-World Examples
- RAP and CDS Views — Building Transactional Apps in SAP S/4HANA
- Sales Document Status Migration: VBUP/VBUK Removal in S/4HANA
- CO Tables in S/4HANA: COEP, COBK, COSS, COSP to ACDOCA