P_InvoicePriceVariance1
P_InvoicePriceVariance1 is a Consumption CDS View in SAP S/4HANA. It reads from 1 data source (I_PurchaseOrderHistory) and exposes 38 fields with key fields PurchaseOrder, PurchaseOrderItem, AccountAssignmentNumber, PurchaseOrderTransactionType, MaterialDocumentYear.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| I_PurchaseOrderHistory | I_PurchaseOrderHistory | from |
Parameters (3)
| Name | Type | Default |
|---|---|---|
| P_Material | matnr | |
| P_StartDate | vdm_validitystart | |
| P_EndDate | vdm_validityend |
Annotations (6)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | PMMINVPRCVARC1 | 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 (38)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | PurchaseOrder | PurchaseOrder | ||
| KEY | PurchaseOrderItem | PurchaseOrderItem | ||
| KEY | AccountAssignmentNumber | AccountAssignmentNumber | ||
| KEY | PurchaseOrderTransactionType | PurchaseOrderTransactionType | ||
| KEY | MaterialDocumentYear | MaterialDocumentYear | ||
| KEY | MaterialDocument | MaterialDocument | ||
| KEY | MaterialDocumentItem | MaterialDocumentItem | ||
| PostingDate | PostingDate | |||
| DebitCreditCode | DebitCreditCode | |||
| CompanyCode | _PurchaseOrderItem | CompanyCode | ||
| Currency | Currency | |||
| IsReturnsItem | _PurchaseOrderItem | IsReturnsItem | ||
| PurchasingOrganization | ||||
| PurchasingGroup | ||||
| Supplier | ||||
| PurchaseOrderType | ||||
| Material | _PurchaseOrderItem | Material | ||
| MaterialGroup | _PurchaseOrderItem | MaterialGroup | ||
| Plant | _PurchaseOrderItem | Plant | ||
| Quantity | Quantity | |||
| QtyInPurchaseOrderPriceUnit | QtyInPurchaseOrderPriceUnit | |||
| OrderPriceUnit | _PurchaseOrderItem | OrderPriceUnit | ||
| QuantityInBaseUnit | QuantityInBaseUnit | |||
| BaseUnit | _PurchaseOrderItem | BaseUnit | ||
| OrderItemQtyToBaseQtyDnmntr | _PurchaseOrderItem | OrderItemQtyToBaseQtyDnmntr | ||
| OrderItemQtyToBaseQtyNmrtr | _PurchaseOrderItem | OrderItemQtyToBaseQtyNmrtr | ||
| OrderPriceUnitToOrderUnitNmrtr | _PurchaseOrderItem | OrderPriceUnitToOrderUnitNmrtr | ||
| OrdPriceUnitToOrderUnitDnmntr | _PurchaseOrderItem | OrdPriceUnitToOrderUnitDnmntr | ||
| NetPriceAmount | _PurchaseOrderItem | NetPriceAmount | ||
| NetPriceQuantity | _PurchaseOrderItem | NetPriceQuantity | ||
| PurchaseOrderQuantityUnit | PurchaseOrderQuantityUnit | |||
| _Material | _PurchaseOrderItem | _Material | ||
| _MaterialGroup | _PurchaseOrderItem | _MaterialGroup | ||
| _Plant | _PurchaseOrderItem | _Plant | ||
| _Supplier | ||||
| _PurchasingOrganization | ||||
| _PurchasingGroup | ||||
| _CompanyCode | _PurchaseOrderItem | _CompanyCode |
@AbapCatalog.sqlViewName: 'PMMINVPRCVARC1'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@VDM.viewType : #CONSUMPTION
@VDM.private: true
@AccessControl.personalData.blocking: #NOT_REQUIRED
define view P_InvoicePriceVariance1
with parameters
P_Material : matnr,
P_StartDate : vdm_validitystart,
P_EndDate : vdm_validityend
as select from I_PurchaseOrderHistory
{
key PurchaseOrder,
key PurchaseOrderItem,
key AccountAssignmentNumber,
key PurchaseOrderTransactionType,
key MaterialDocumentYear,
key MaterialDocument,
key MaterialDocumentItem,
PostingDate,
DebitCreditCode,
_PurchaseOrderItem.CompanyCode,
Currency,
_PurchaseOrderItem.IsReturnsItem,
_PurchaseOrderItem._PurchaseOrder.PurchasingOrganization,
_PurchaseOrderItem._PurchaseOrder.PurchasingGroup,
_PurchaseOrderItem._PurchaseOrder.Supplier,
_PurchaseOrderItem._PurchaseOrder.PurchaseOrderType,
_PurchaseOrderItem.Material,
_PurchaseOrderItem.MaterialGroup,
_PurchaseOrderItem.Plant,
Quantity,
QtyInPurchaseOrderPriceUnit,
_PurchaseOrderItem.OrderPriceUnit,
QuantityInBaseUnit,
_PurchaseOrderItem.BaseUnit,
_PurchaseOrderItem.OrderItemQtyToBaseQtyDnmntr,
_PurchaseOrderItem.OrderItemQtyToBaseQtyNmrtr,
_PurchaseOrderItem.OrderPriceUnitToOrderUnitNmrtr,
_PurchaseOrderItem.OrdPriceUnitToOrderUnitDnmntr,
_PurchaseOrderItem.NetPriceAmount,
_PurchaseOrderItem.NetPriceQuantity,
// PurchaseOrderAmount amount in EKBE is wrbtr, is actual invoice amount
case _PurchaseOrderItem.IsReturnsItem
when 'X' then case DebitCreditCode
when 'S' then -1 * PurchaseOrderAmount
when 'H' then PurchaseOrderAmount
else 0
end
else case DebitCreditCode
when 'S' then PurchaseOrderAmount
when 'H' then -1 * PurchaseOrderAmount
else 0
end
end as InvoiceAmountInDocCurrency,
case _PurchaseOrderItem.IsReturnsItem
when 'X' then case DebitCreditCode
when 'S' then -1 * QtyInPurchaseOrderPriceUnit
when 'H' then QtyInPurchaseOrderPriceUnit
else 0
end
else case DebitCreditCode
when 'S' then QtyInPurchaseOrderPriceUnit
when 'H' then -1 * QtyInPurchaseOrderPriceUnit
else 0
end
end as QtyInPurchaseOrderPricUnit,
@Semantics.unitOfMeasure: true
PurchaseOrderQuantityUnit,
/*Associations*/
_PurchaseOrderItem._Material,
_PurchaseOrderItem._MaterialGroup,
_PurchaseOrderItem._Plant,
_PurchaseOrderItem._PurchaseOrder._Supplier,
_PurchaseOrderItem._PurchaseOrder._PurchasingOrganization,
_PurchaseOrderItem._PurchaseOrder._PurchasingGroup,
_PurchaseOrderItem._CompanyCode
}where
_PurchaseOrderItem.PurchasingDocumentDeletionCode = ''
and PurchaseOrderTransactionType = '2'
and _PurchaseOrderItem._PurchaseOrder.PurchasingCompletenessStatus != 'X'
and _PurchaseOrderItem._PurchaseOrder.ReleaseIsNotCompleted != 'X'
and Material = $parameters.P_Material and PostingDate between $parameters.P_StartDate and $parameters.P_EndDate
and not ( _PurchaseOrderItem.IsStatisticalItem = 'X' and _PurchaseOrderItem.Material= '' )
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_PURCHASEORDER",
"I_PURCHASEORDERHISTORY",
"I_PURCHASEORDERITEM"
],
"ASSOCIATED":
[
"I_COMPANYCODE",
"I_MATERIAL",
"I_MATERIALGROUP",
"I_PLANT",
"I_PURCHASINGGROUP",
"I_PURCHASINGORGANIZATION",
"I_SUPPLIER"
],
"BASE":
[
"I_PURCHASEORDER",
"I_PURCHASEORDERITEM"
],
"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