P_PurContractPriceVariance2
P_PurContractPriceVariance2 is a Consumption CDS View in SAP S/4HANA. It reads from 4 data sources (I_CalendarDate, P_PurchaseContractTargetAmount, P_PurContractPriceVariance1, I_PurchaseContractHistory) and exposes 22 fields with key fields PurchaseContract, PurchaseContractItem, ChangeDocument.
Data Sources (4)
| Source | Alias | Join Type |
|---|---|---|
| I_CalendarDate | CalendarDate | left_outer |
| P_PurchaseContractTargetAmount | P_PurchaseContractTargetAmount | left_outer |
| P_PurContractPriceVariance1 | P_PurContractPriceVariance1 | from |
| I_PurchaseContractHistory | ReleaseHistory | left_outer |
Parameters (4)
| Name | Type | Default |
|---|---|---|
| P_DisplayCurrency | displaycurrency | |
| P_Material | matnr | |
| P_StartDate | vdm_validitystart | |
| P_EndDate | vdm_validityend |
Annotations (6)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | PMMPCPRCVAR2 | 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 (22)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | PurchaseContract | PriceChange | PurchaseContract | |
| KEY | PurchaseContractItem | PriceChange | PurchaseContractItem | |
| KEY | ChangeDocument | ChangeDocument | ||
| PurchasingOrganization | PriceChange | PurchasingOrganization | ||
| PurchasingGroup | PriceChange | PurchasingGroup | ||
| Supplier | PriceChange | Supplier | ||
| CompanyCode | PriceChange | CompanyCode | ||
| Material | Material | |||
| MaterialGroup | MaterialGroup | |||
| Plant | PriceChange | Plant | ||
| PurchasingCategory | PurchasingCategory | |||
| PurchaseContractTargetAmount | PurchaseContractTargetAmount | |||
| CreationDate | PriceChange | CreationDate | ||
| NumberOfChanges | NumberOfChanges | |||
| NumberOfPriceChanges | NumberOfPriceChanges | |||
| TotalNumberOfChanges | TotalNumberOfChanges | |||
| OrderQuantityUnit | OrderQuantityUnit | |||
| TargetQuantity | TargetQuantity | |||
| DocumentChangeDate | DocumentChangeDate | |||
| QuantityInBaseUnit | QuantityInBaseUnit | |||
| NetPriceQuantity | NetPriceQuantity | |||
| OrderPriceUnit | OrderPriceUnit |
@AbapCatalog.sqlViewName: 'PMMPCPRCVAR2'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@VDM.viewType : #CONSUMPTION
@VDM.private: true
@AccessControl.personalData.blocking: #NOT_REQUIRED
@AbapCatalog.viewEnhancementCategory: [#PROJECTION_LIST,#GROUP_BY] // Added for extensibility
define view P_PurContractPriceVariance2
with parameters
P_DisplayCurrency : displaycurrency,
P_Material : matnr,
P_StartDate : vdm_validitystart,
P_EndDate : vdm_validityend
as select from P_PurContractPriceVariance1( P_Material : $parameters.P_Material, P_StartDate: $parameters.P_StartDate,
P_EndDate: $parameters.P_EndDate ) as PriceChange
left outer join P_PurchaseContractTargetAmount ( P_DisplayCurrency : $parameters.P_DisplayCurrency,
P_Material : $parameters.P_Material , P_StartDate: $parameters.P_StartDate,
P_EndDate: $parameters.P_EndDate ) as PurchaseContract on PriceChange.PurchaseContract = PurchaseContract.PurchaseContract
left outer join I_PurchaseContractHistory as ReleaseHistory on PriceChange.PurchaseContract = ReleaseHistory.PurchaseContract
and PriceChange.PurchaseContractItem = ReleaseHistory.PurchaseContractItem
left outer join I_CalendarDate as CalendarDate on PriceChange.DocumentChangeDate = CalendarDate.CalendarDate
{
key PriceChange.PurchaseContract,
key PriceChange.PurchaseContractItem,
key ChangeDocument,
PriceChange.PurchasingOrganization,
PriceChange.PurchasingGroup,
PriceChange.Supplier,
PriceChange.CompanyCode,
Material,
MaterialGroup,
PriceChange.Plant,
PurchasingCategory,
//cast(cast(PurchaseContractTargetAmount as abap.curr( 15, 2 )) as mm_a_target_amount) as PurchaseContractTargetAmount,
PurchaseContractTargetAmount,
case when IsDocumentChanged = 'X'and NumberOfChanges = 0
then PriceChange.DocumentCurrency
else Currency end as Currency,
PriceChange.CreationDate,
NumberOfChanges,
NumberOfPriceChanges,
TotalNumberOfChanges,
OrderQuantityUnit,
TargetQuantity,
DocumentChangeDate,
avg( case when DocumentCurrency is not null then
currency_conversion(
amount => ContractNetPriceAmount,
source_currency => DocumentCurrency,
target_currency => $parameters.P_DisplayCurrency,
exchange_rate_date => DocumentChangeDate )
else 0
end ) as ContractNetPriceAmount,
sum( case when ReleaseOrderCurrency is not null then
currency_conversion( amount => ReleaseOrderItemNetAmount,
source_currency => ReleaseOrderCurrency,
target_currency => $parameters.P_DisplayCurrency,
exchange_rate_date => ReleaseOrderDate )
else 0
end ) as ReleaseOrderItemNetAmount,
QuantityInBaseUnit,
NetPriceQuantity,
OrderPriceUnit
}
group by
PriceChange.PurchaseContract,
PriceChange.PurchaseContractItem,
ChangeDocument,
PriceChange.PurchasingOrganization,
PriceChange.PurchasingGroup,
PriceChange.Supplier,
PriceChange.CompanyCode,
Material,
MaterialGroup,
PriceChange.Plant,
PurchasingCategory,
PurchaseContractTargetAmount,
IsDocumentChanged,
PriceChange.CreationDate,
NumberOfChanges,
NumberOfPriceChanges,
TotalNumberOfChanges,
PriceChange.DocumentCurrency,
Currency,
OrderQuantityUnit,
TargetQuantity,
DocumentChangeDate,
QuantityInBaseUnit,
NetPriceQuantity,
OrderPriceUnit
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_CALENDARDATE",
"I_PURCHASECONTRACTHISTORY",
"P_PURCHASECONTRACTTARGETAMOUNT",
"P_PURCONTRACTPRICEVARIANCE1"
],
"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