P_PurOrdQuantityVariance
Purchase Order Quantity Variance
P_PurOrdQuantityVariance is a Consumption CDS View that provides data about "Purchase Order Quantity Variance" in SAP S/4HANA. It reads from 2 data sources (P_PurOrdDeliveredQty, I_PurchasingCategoryMatlGroup) and exposes 23 fields with key fields PurchaseOrder, PurchaseOrderItem. Part of development package ODATA_MM_ANALYTICS.
Data Sources (2)
| Source | Alias | Join Type |
|---|---|---|
| P_PurOrdDeliveredQty | P_PurOrdDeliveredQty | from |
| I_PurchasingCategoryMatlGroup | PurchasingCategoryMatlGroup | left_outer |
Parameters (3)
| Name | Type | Default |
|---|---|---|
| P_DisplayCurrency | displaycurrency | |
| P_StartDate | bedat | |
| P_EndDate | bedat |
Annotations (8)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | PMMPOQUANTVAR | view | |
| ClientDependent | true | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| VDM.viewType | #CONSUMPTION | view | |
| VDM.private | true | view | |
| EndUserText.label | Purchase Order Quantity Variance | view | |
| AccessControl.personalData.blocking | #NOT_REQUIRED | view |
Fields (23)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | PurchaseOrder | Items | PurchaseOrder | |
| KEY | PurchaseOrderItem | Items | PurchaseOrderItem | |
| PurchasingOrganization | Items | PurchasingOrganization | ||
| PurchasingGroup | Items | PurchasingGroup | ||
| CompanyCode | CompanyCode | |||
| Supplier | Items | Supplier | ||
| NetAmount | Items | NetAmount | ||
| PurchaseOrderDate | Items | PurchaseOrderDate | ||
| FinalPostingDate | ||||
| FirstPostingDate | ||||
| Material | Items | Material | ||
| MaterialGroup | Items | MaterialGroup | ||
| Plant | Items | Plant | ||
| PurchasingCategory | ||||
| PurgCatName | ||||
| PurchaseOrderQuantityUnit | Items | PurchaseOrderQuantityUnit | ||
| Currency | Currency | |||
| OrderedQuantity | OrderQuantity | |||
| DeliveredQuantity | DeliveredQuantity | |||
| NetPriceAmount | NetPriceAmount | |||
| QuantityVarianceInOrdUnit | ||||
| QuantityVarianceInPct | ||||
| SuplrEvalCritraDelivCompleted | SuplrEvalCritraDelivCompleted |
@AbapCatalog.sqlViewName: 'PMMPOQUANTVAR'
@ClientDependent: true
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@VDM.viewType : #CONSUMPTION
@VDM.private : true
@EndUserText.label: 'Purchase Order Quantity Variance'
@AccessControl.personalData.blocking: #NOT_REQUIRED
define view P_PurOrdQuantityVariance
with parameters
P_DisplayCurrency : displaycurrency,
P_StartDate : bedat,
P_EndDate : bedat
as select from P_PurOrdDeliveredQty( P_StartDate : $parameters.P_StartDate ,
P_EndDate:$parameters.P_EndDate ) as Items
left outer join I_PurchasingCategoryMatlGroup as PurchasingCategoryMatlGroup on Items.MaterialGroup = PurchasingCategoryMatlGroup.MaterialGroup
{
/*Key Fields */
key Items.PurchaseOrder,
key Items.PurchaseOrderItem,
/* Org Data*/
Items.PurchasingOrganization,
Items.PurchasingGroup,
CompanyCode,
/* Supplier*/
Items.Supplier,
Items.NetAmount,
Items.PurchaseOrderDate,
cast(FinalPostingDate as mmpur_a_poi_finalgrpostgdate) as FinalPostingDate,
cast(FirstPostingDate as mmpur_a_poi_firstgrpostgdate ) as FirstPostingDate,
Items.Material,
Items.MaterialGroup,
Items.Plant,
@ObjectModel.text.element: ['PurgCatName']
@Consumption.labelElement: 'PurgCatName'
PurchasingCategoryMatlGroup._PurchasingCategory.PurchasingCategory as PurchasingCategory,
@Semantics.text: true
PurchasingCategoryMatlGroup._PurchasingCategory.PurgCatName as PurgCatName,
//Items.BaseUnit,
Items.PurchaseOrderQuantityUnit,
Currency,
OrderQuantity as OrderedQuantity,
DeliveredQuantity,
NetPriceAmount,
/* Variance in Order Price Unit */
cast(currency_conversion( amount => NetPriceAmount,
source_currency => Currency,
target_currency => $parameters.P_DisplayCurrency,
exchange_rate_date => Items.PurchaseOrderDate,
exchange_rate_type => 'M',
error_handling => 'SET_TO_NULL'
) as abap.curr(17,5)) * ( DeliveredQuantity - OrderQuantity) as QuantityVarianceInDspCrcy, //3009063
/* Variance in Order Price Unit */
( DeliveredQuantity - OrderQuantity) as QuantityVarianceInOrdUnit, //3009063
/* Variance in Percentage with sign */
DIVISION( DeliveredQuantity,OrderQuantity, 3 ) * 100 as QuantityVarianceInPct , // Absolute Pct
SuplrEvalCritraDelivCompleted
} where DeliveredQuantity != 0
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