P_PurchaseOrderPriceVariance
P_PurchaseOrderPriceVariance is a Consumption CDS View in SAP S/4HANA. It reads from 3 data sources (I_CalendarDate, I_PurchaseOrder, I_PurchaseOrderItem) and exposes 37 fields with key fields PurchaseOrder, PurchaseOrderItem. It has 1 association to related views.
Data Sources (3)
| Source | Alias | Join Type |
|---|---|---|
| I_CalendarDate | CalendarDate | left_outer |
| I_PurchaseOrder | PurchaseOrder | inner |
| I_PurchaseOrderItem | PurchaseOrderItem | from |
Parameters (4)
| Name | Type | Default |
|---|---|---|
| P_DisplayCurrency | displaycurrency | |
| P_Material | matnr | |
| P_StartDate | vdm_validitystart | |
| P_EndDate | vdm_validityend |
Associations (1)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | I_BR_Domain | _DocText | $projection.DocNumber = _DocText.DomainValue and _DocText.Name = 'MM_A_DOCTYPE' and _DocText.Language = $session.system_language |
Annotations (6)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | PMMPOPRICEVAR | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| VDM.viewType | #CONSUMPTION | view | |
| VDM.private | true | view | |
| AccessControl.personalData.blocking | #NOT_REQUIRED | view |
Fields (37)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | PurchaseOrder | I_PurchaseOrder | PurchaseOrder | Purchasing Document |
| KEY | PurchaseOrderItem | |||
| PurchaseOrderType | I_PurchaseOrder | PurchaseOrderType | PO Type | |
| Supplier | I_PurchaseOrder | Supplier | Supplier | |
| PurchasingOrganization | I_PurchaseOrder | PurchasingOrganization | Purchasing Organization | |
| PurchasingGroup | I_PurchaseOrder | PurchasingGroup | Purchasing Group | |
| CompanyCode | I_PurchaseOrder | CompanyCode | Receiver Company Code | |
| PurchaseOrderDate | I_PurchaseOrder | PurchaseOrderDate | PO Date | |
| MaterialGroup | I_PurchaseOrderItem | MaterialGroup | Product Group | |
| Material | I_PurchaseOrderItem | Material | Vehicle Model | |
| Plant | I_PurchaseOrderItem | Plant | Valuation Area | |
| PurchaseContract | I_PurchaseOrderItem | PurchaseContract | Purchasing Doc. | |
| PurchasingInfoRecord | I_PurchaseOrderItem | PurchasingInfoRecord | Info Record | |
| DocNumber | ||||
| PurchaseOrderQuantityUnit | I_PurchaseOrderItem | PurchaseOrderQuantityUnit | Order Unit | |
| OrderQuantity | I_PurchaseOrderItem | OrderQuantity | Quantity | |
| DocumentCurrency | I_PurchaseOrderItem | DocumentCurrency | Document Currency | |
| DisplayCurrency | ||||
| NetAmount | NetAmount | Stated Amount | ||
| OrderQuantityendasQuantityInBaseUnit | ||||
| NetPriceQuantity | I_PurchaseOrderItem | NetPriceQuantity | Price Unit | |
| OrderPriceUnit | OrderPriceUnit | Order Price Un. | ||
| _Plant | _Plant | |||
| _PurchasingGroup | _PurchasingGroup | |||
| _PurchasingOrganization | _PurchasingOrganization | |||
| _Supplier | _Supplier | |||
| _CompanyCode | I_PurchaseOrder | _CompanyCode | ||
| _Material | _Material | |||
| _MaterialGroup | _MaterialGroup | |||
| CalendarYear | CalendarYear | Year | ||
| CalendarQuarter | CalendarQuarter | Calendar Quarter | ||
| CalendarMonth | CalendarMonth | Calendar Month | ||
| CalendarWeek | CalendarWeek | Calendar Week | ||
| YearQuarter | YearQuarter | Year Quarter | ||
| YearMonth | YearMonth | Year Month | ||
| YearWeek | YearWeek | Year and Calendar Week | ||
| _DocText | _DocText |
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 P_PurchaseOrderPriceVariance.
-- 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.
-- SQL view name: PMMPOPRICEVAR
-- Parameters: P_DisplayCurrency : displaycurrency, P_Material : matnr, P_StartDate : vdm_validitystart, P_EndDate : vdm_validityend
CREATE VIEW P_PurchaseOrderPriceVariance AS
SELECT
PurchaseOrder.PurchaseOrder AS PurchaseOrder,
cast( PurchaseOrderItem.PurchaseOrderItem as vdm_purchaseorderitem ) AS PurchaseOrderItem,
PurchaseOrder.PurchaseOrderType AS PurchaseOrderType,
PurchaseOrder.Supplier AS Supplier,
PurchaseOrder.PurchasingOrganization AS PurchasingOrganization,
PurchaseOrder.PurchasingGroup AS PurchasingGroup,
PurchaseOrder.CompanyCode AS CompanyCode,
PurchaseOrder.PurchaseOrderDate AS PurchaseOrderDate,
PurchaseOrderItem.MaterialGroup AS MaterialGroup,
PurchaseOrderItem.Material AS Material,
PurchaseOrderItem.Plant AS Plant,
PurchaseOrderItem.PurchaseContract AS PurchaseContract,
PurchaseOrderItem.PurchasingInfoRecord AS PurchasingInfoRecord,
cast('3' as mm_a_doctype ) AS DocNumber,
PurchaseOrderItem.PurchaseOrderQuantityUnit AS PurchaseOrderQuantityUnit,
PurchaseOrderItem.OrderQuantity AS OrderQuantity,
PurchaseOrderItem.DocumentCurrency AS DocumentCurrency,
cast( :P_DisplayCurrency as displaycurrency ) AS DisplayCurrency,
NetAmount,
case when OrdPriceUnitToOrderUnitDnmntr = 0 then 0 else DIVISION(OrderPriceUnitToOrderUnitNmrtr, OrdPriceUnitToOrderUnitDnmntr, 1 ) * PurchaseOrderItem.OrderQuantity end as QuantityInBaseUnit AS OrderQuantityendasQuantityInBaseUnit,
PurchaseOrderItem.NetPriceQuantity AS NetPriceQuantity,
OrderPriceUnit,
PurchaseOrder._CompanyCode AS _CompanyCode,
CalendarYear,
CalendarQuarter,
CalendarMonth,
CalendarWeek,
YearQuarter,
YearMonth,
YearWeek
FROM I_PurchaseOrderItem AS PurchaseOrderItem
INNER JOIN I_PurchaseOrder AS PurchaseOrder ON /* join condition not captured in parsed metadata */
LEFT OUTER JOIN I_CalendarDate AS CalendarDate ON /* join condition not captured in parsed metadata */
LEFT OUTER JOIN I_BR_Domain AS _DocText ON DocNumber = _DocText.DomainValue AND _DocText.Name = 'MM_A_DOCTYPE' AND _DocText.Language = $session.system_language -- association [0..1]
;
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