P_SlowMoMatPrMoMatDocUnion
P_SlowMoMatPrMoMatDocUnion is a Composite CDS View in SAP S/4HANA. It reads from 4 data sources (P_MatlStkPerdsBackFrmKeyDte, P_MatlStkPerdsBackFrmKeyDte, P_SlowMoMatPrMoMatDocRec, I_MaterialDocumentRecord) and exposes 15 fields with key fields YearPeriod, Material, Plant, MaterialBaseUnit, Material.
Data Sources (4)
| Source | Alias | Join Type |
|---|---|---|
| P_MatlStkPerdsBackFrmKeyDte | P_MatlStkPerdsBackFrmKeyDte | from |
| P_MatlStkPerdsBackFrmKeyDte | P_MatlStkPerdsBackFrmKeyDte | union_all |
| P_SlowMoMatPrMoMatDocRec | P_SlowMoMatPrMoMatDocRec | left_outer |
| I_MaterialDocumentRecord | rec | left_outer |
Parameters (2)
| Name | Type | Default |
|---|---|---|
| P_KeyDate | nsdm_reference_date | |
| P_InventoryConsumptionGroup | inventory_consumption_group |
Annotations (10)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | PSLOWMOMATDCSUNI | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AbapCatalog.preserveKey | true | view | |
| ObjectModel.usageType.sizeCategory | #XXL | view | |
| ObjectModel.usageType.serviceQuality | #D | view | |
| ObjectModel.usageType.dataClass | #TRANSACTIONAL | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| VDM.private | true | view | |
| VDM.viewType | #COMPOSITE | view | |
| AccessControl.authorizationCheck | #NOT_REQUIRED | view |
Fields (15)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | YearPeriod | dat | YearPeriod | |
| KEY | Material | I_MaterialDocumentRecord | Material | |
| KEY | Plant | I_MaterialDocumentRecord | Plant | |
| KEY | MaterialBaseUnit | I_MaterialDocumentRecord | MaterialBaseUnit | |
| StartDate | dat | StartDate | ||
| EndDate | dat | EndDate | ||
| MatlWrhsStkQtyInMatlBaseUnit | ||||
| YearPeriod | ||||
| KEY | Material | I_MaterialDocumentRecord | StockIdentifyingMaterial | |
| KEY | Plant | I_MaterialDocumentRecord | Plant | |
| KEY | MaterialBaseUnit | I_MaterialDocumentRecord | MaterialBaseUnit | |
| StartDate | dat | StartDate | ||
| EndDate | dat | EndDate | ||
| MatlWrhsStkQtyInMatlBaseUnit | ||||
| MatlCnsmpnQtyInMatlBaseUnit | 0 |
@AbapCatalog.sqlViewName: 'PSLOWMOMATDCSUNI'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@ObjectModel.usageType.sizeCategory: #XXL
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.dataClass:#TRANSACTIONAL
@ClientHandling.algorithm: #SESSION_VARIABLE
@VDM.private: true
@VDM.viewType: #COMPOSITE
@AccessControl.authorizationCheck:#NOT_REQUIRED
//@EndUserText.label: 'Material Document Union'
define view P_SlowMoMatPrMoMatDocUnion with parameters
P_KeyDate : nsdm_reference_date,
P_InventoryConsumptionGroup : inventory_consumption_group
as select from P_MatlStkPerdsBackFrmKeyDte(P_KeyDate: $parameters.P_KeyDate) as dat
left outer join P_SlowMoMatPrMoMatDocRec(P_InventoryConsumptionGroup: $parameters.P_InventoryConsumptionGroup) as rec
on dat.mandt = rec.mandt
and rec.PostingDate >= dat.StartDateOfReferencePeriod
and rec.PostingDate <= dat.EndDate
{
key dat.YearPeriod,
key rec.Material,
key rec.Plant,
key rec.MaterialBaseUnit,
dat.StartDate,
dat.EndDate,
@Semantics.quantity.unitOfMeasure: 'MaterialBaseUnit'
sum(rec.MatlStkChangeQtyInBaseUnit) as MatlWrhsStkQtyInMatlBaseUnit,
@Semantics.quantity.unitOfMeasure: 'MaterialBaseUnit'
sum( case when rec.PostingDate < dat.StartDate
then 0
else MatlCnsmpnQtyInMatlBaseUnit end ) as MatlCnsmpnQtyInMatlBaseUnit
}
group by
dat.YearPeriod,
rec.Material,
rec.Plant,
rec.MaterialBaseUnit,
dat.StartDate,
dat.EndDate
union all
// Total Stock before KeyDate Parameter
select from P_MatlStkPerdsBackFrmKeyDte(P_KeyDate: $parameters.P_KeyDate) as dat
left outer join I_MaterialDocumentRecord as rec on dat.mandt = rec.mandt
and rec.PostingDate < dat.StartDateOfReferencePeriod
{
key dat.YearPeriod,
key rec.StockIdentifyingMaterial as Material,
key rec.Plant,
key rec.MaterialBaseUnit,
dat.StartDate,
dat.EndDate,
@Semantics.quantity.unitOfMeasure: 'MaterialBaseUnit'
sum(rec.MatlStkChangeQtyInBaseUnit) as MatlWrhsStkQtyInMatlBaseUnit,
@Semantics.quantity.unitOfMeasure: 'MaterialBaseUnit'
0 as MatlCnsmpnQtyInMatlBaseUnit
}
group by
dat.YearPeriod,
rec.StockIdentifyingMaterial,
rec.Plant,
rec.MaterialBaseUnit,
dat.StartDate,
dat.EndDate
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_MATERIALDOCUMENTRECORD",
"P_MATLSTKPERDSBACKFRMKEYDTE",
"P_SLOWMOMATPRMOMATDOCREC"
],
"ASSOCIATED":
[],
"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