P_PurFutureSpend
Purchasing Future Spend
P_PurFutureSpend is a Consumption CDS View that provides data about "Purchasing Future Spend" in SAP S/4HANA. It reads from 3 data sources (I_PurchaseOrder, I_PurchaseOrderItem, I_PurchaseOrderScheduleLine) and exposes 40 fields with key fields PurchaseOrder, PurchaseOrderItem, ScheduleLine.
Data Sources (3)
| Source | Alias | Join Type |
|---|---|---|
| I_PurchaseOrder | PurchaseOrder | inner |
| I_PurchaseOrderItem | PurchaseOrderItem | from |
| I_PurchaseOrderScheduleLine | ScheduleLine | inner |
Parameters (1)
| Name | Type | Default |
|---|---|---|
| P_Date | sydatum |
Annotations (9)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | PMMPOFUTRSPND | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| EndUserText.label | Purchasing Future Spend | view | |
| VDM.private | true | view | |
| VDM.viewType | #CONSUMPTION | view | |
| AbapCatalog.preserveKey | true | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| AccessControl.personalData.blocking | #NOT_REQUIRED | view |
Fields (40)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | PurchaseOrder | I_PurchaseOrderItem | PurchaseOrder | |
| KEY | PurchaseOrderItem | I_PurchaseOrderItem | PurchaseOrderItem | |
| KEY | ScheduleLine | I_PurchaseOrderScheduleLine | ScheduleLine | |
| PurchaseOrderCategory | I_PurchaseOrderItem | PurchaseOrderCategory | ||
| PurchaseOrderItemCategory | I_PurchaseOrderItem | PurchaseOrderItemCategory | ||
| PurchaseRequisition | I_PurchaseOrderItem | PurchaseRequisition | ||
| PurchaseRequisitionItem | I_PurchaseOrderItem | PurchaseRequisitionItem | ||
| PurchaseOrderType | PurchaseOrderType | |||
| PurchaseOrderDate | I_PurchaseOrder | PurchaseOrderDate | ||
| Supplier | I_PurchaseOrder | Supplier | ||
| PurchasingGroup | I_PurchaseOrder | PurchasingGroup | ||
| PurchasingOrganization | I_PurchaseOrder | PurchasingOrganization | ||
| CompanyCode | I_PurchaseOrder | CompanyCode | ||
| ReceivingCompanyCode | I_PurchaseOrderItem | CompanyCode | ||
| MaterialGroup | I_PurchaseOrderItem | MaterialGroup | ||
| Material | I_PurchaseOrderItem | Material | ||
| Plant | I_PurchaseOrderItem | Plant | ||
| ProductType | I_PurchaseOrderItem | ProductType | ||
| ServicePerformer | I_PurchaseOrderItem | ServicePerformer | ||
| ScheduleLineDeliveryDate | ScheduleLineDeliveryDate | |||
| SchedLineStscDeliveryDate | SchedLineStscDeliveryDate | |||
| PerformancePeriodStartDate | PerformancePeriodStartDate | |||
| PerformancePeriodEndDate | PerformancePeriodEndDate | |||
| ScheduleLineDeliveryTime | ScheduleLineDeliveryTime | |||
| ScheduleLineOrderQuantity | ScheduleLineOrderQuantity | |||
| RoughGoodsReceiptQty | RoughGoodsReceiptQty | |||
| CreatedByUser | I_PurchaseOrder | CreatedByUser | ||
| PurchaseContract | I_PurchaseOrderItem | PurchaseContract | ||
| PurchaseContractItem | I_PurchaseOrderItem | PurchaseContractItem | ||
| MultipleAcctAssgmtDistribution | I_PurchaseOrderItem | MultipleAcctAssgmtDistribution | ||
| AccountAssignmentCategory | I_PurchaseOrderItem | AccountAssignmentCategory | ||
| PurchaseOrderQuantityUnit | I_PurchaseOrderItem | PurchaseOrderQuantityUnit | ||
| Currency | I_PurchaseOrderItem | DocumentCurrency | ||
| curr215endasNetPriceAmount | ||||
| OrderItemQtyToBaseQtyNmrtr | OrderItemQtyToBaseQtyNmrtr | |||
| OrderItemQtyToBaseQtyDnmntr | OrderItemQtyToBaseQtyDnmntr | |||
| OrderPriceUnitToOrderUnitNmrtr | OrderPriceUnitToOrderUnitNmrtr | |||
| OrdPriceUnitToOrderUnitDnmntr | OrdPriceUnitToOrderUnitDnmntr | |||
| _PurchaseRequisition | I_PurchaseOrderItem | _PurchaseRequisition | ||
| _PurchaseRequisitionItem | I_PurchaseOrderItem | _PurchaseRequisitionItem |
@AbapCatalog.sqlViewName: 'PMMPOFUTRSPND'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Purchasing Future Spend'
@VDM.private: true
@VDM.viewType: #CONSUMPTION
@AbapCatalog.preserveKey:true
@ClientHandling.algorithm: #SESSION_VARIABLE
@AccessControl.personalData.blocking: #NOT_REQUIRED
define view P_PurFutureSpend
with parameters
P_Date : sydatum
as select from I_PurchaseOrderItem as PurchaseOrderItem
inner join I_PurchaseOrder as PurchaseOrder on PurchaseOrderItem.PurchaseOrder = PurchaseOrder.PurchaseOrder
inner join I_PurchaseOrderScheduleLine as ScheduleLine on PurchaseOrderItem.PurchaseOrder = ScheduleLine.PurchaseOrder
and PurchaseOrderItem.PurchaseOrderItem = ScheduleLine.PurchaseOrderItem
// left outer join I_CalendarDate as CalendarDate on ScheduleLine.SchedLineStscDeliveryDate = CalendarDate.CalendarDate
{
key PurchaseOrderItem.PurchaseOrder,
key PurchaseOrderItem.PurchaseOrderItem,
key ScheduleLine.ScheduleLine,
PurchaseOrderItem.PurchaseOrderCategory,
PurchaseOrderItem.PurchaseOrderItemCategory,
@ObjectModel.foreignKey.association: '_PurchaseRequisition'
PurchaseOrderItem.PurchaseRequisition,
@ObjectModel.foreignKey.association: '_PurchaseRequisitionItem'
PurchaseOrderItem.PurchaseRequisitionItem,
PurchaseOrderType,
PurchaseOrder.PurchaseOrderDate,
// CalendarDate.CalendarMonth,
// CalendarDate.CalendarQuarter,
// CalendarDate.CalendarWeek,
// CalendarDate.CalendarYear,
// CalendarDate.YearQuarter,
PurchaseOrder.Supplier,
PurchaseOrder.PurchasingGroup,
PurchaseOrder.PurchasingOrganization,
PurchaseOrder.CompanyCode,
PurchaseOrderItem.CompanyCode as ReceivingCompanyCode,
PurchaseOrderItem.MaterialGroup,
PurchaseOrderItem.Material,
PurchaseOrderItem.Plant,
PurchaseOrderItem.ProductType,
PurchaseOrderItem.ServicePerformer,
ScheduleLineDeliveryDate,
SchedLineStscDeliveryDate,
PerformancePeriodStartDate,
PerformancePeriodEndDate,
ScheduleLineDeliveryTime,
@Semantics.quantity.unitOfMeasure: 'PurchaseOrderQuantityUnit'
@DefaultAggregation: #SUM
ScheduleLineOrderQuantity,
@Semantics.quantity.unitOfMeasure: 'PurchaseOrderQuantityUnit'
@DefaultAggregation: #SUM
RoughGoodsReceiptQty,
PurchaseOrder.CreatedByUser,
PurchaseOrderItem.PurchaseContract,
PurchaseOrderItem.PurchaseContractItem,
PurchaseOrderItem.MultipleAcctAssgmtDistribution,
PurchaseOrderItem.AccountAssignmentCategory,
@Semantics.unitOfMeasure: true
PurchaseOrderItem.PurchaseOrderQuantityUnit as PurchaseOrderQuantityUnit,
@Semantics.currencyCode: true
PurchaseOrderItem.DocumentCurrency as Currency,
case when NetPriceQuantity !=0 then
cast ( div(PurchaseOrderItem.NetPriceAmount, PurchaseOrderItem.NetPriceQuantity) as abap.curr( 21, 5 )) //3200874
else
cast(0 as abap.curr(21,5))
end as NetPriceAmount,
OrderItemQtyToBaseQtyNmrtr,
OrderItemQtyToBaseQtyDnmntr,
OrderPriceUnitToOrderUnitNmrtr,
OrdPriceUnitToOrderUnitDnmntr,
PurchaseOrderItem._PurchaseRequisition,
PurchaseOrderItem._PurchaseRequisitionItem
}where PurchaseOrder.PurchasingDocumentDeletionCode = ''
and PurchaseOrder.PurchasingCompletenessStatus = ''
and PurchaseOrder.ReleaseIsNotCompleted = ''
and PurchaseOrderItem.PurchasingDocumentDeletionCode <> 'L' //3393611
and SchedLineStscDeliveryDate <= dats_add_days( :P_Date, 180, 'FAIL' )
and SchedLineStscDeliveryDate > $parameters.P_Date
and SupplyingPlant = '' //^3373213
and not(
ProductType = '2'
or(
PurchaseOrderItemCategory = '9'
or PurchaseOrderItemCategory = '1'
or PurchaseOrderItemCategory = 'A' //v3373213
)
)
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_PURCHASEORDER",
"I_PURCHASEORDERITEM",
"I_PURCHASEORDERSCHEDULELINE"
],
"ASSOCIATED":
[
"I_PURCHASEREQUISITION",
"I_PURCHASEREQUISITIONITEM"
],
"BASE":
[
"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