C_PurchaseOrderValue
Purchase Order Value
C_PurchaseOrderValue (Consumption)
Package: Explore, extend and adapt the SAP S/4HANA Cloud Private Edition with built-in and side-by-side extension capabilities.
Sourcing & Procurement
C_PurchaseOrderValue is a Consumption CDS View (Cube) that provides data about "Purchase Order Value" in SAP S/4HANA. It reads from 3 data sources (P_UNSGNDMATGRPTXT, P_PURCHASEORDERVALUE, I_PurchasingCategoryMatlGroup) and exposes 61 fields with key fields PurchaseOrderItem, AccountAssignmentNumber, PurgDocMigrtnIsCmpltdForAnlyts. It has 11 associations to related views. It is used in 5 Fiori applications: Non-Managed Spend, Contract Expiry, Contract Leakage, ....
SAP API Hub
| State | C1 |
|---|---|
| Line of Business | Sourcing & Procurement |
| Application Component | MM-PUR-ANA |
| Capabilities | Data Provider for Analytical Queries |
| Package | Sourcing & Procurement for SAP S/4HANA Cloud Private Edition |
Documentation
- Analytics with CDS Views — Build Analytics for S/4HANA Cloud Private Edition ABAP CDS views replicated to SAP Cloud Platform
- CDS Views on SAP Business Accelerator Hub — Explore SAP S/4HANA Cloud Private Edition Private Edition CDS Views on SAP Business Accelerator Hub
- Create CDS View as API — Create CDS views in SAP S/4HANA Cloud Private Edition and consume them as APIs
- Custom CDS Views — Access data using a Custom Core Data Service view (Custom CDS view)
- Key User Extensibility Tools — The Key User Extensibility Tools of S/4HANA
- SAP Extensibility Explorer for SAP S/4HANA Cloud Private Edition — Explore SAP S/4HANA Cloud Private Edition Extensibility options by leveraging the sample scenarios from SAP
- SAP S/4HANA Extensibility — SAP S/4HANA Extensibility Tutorial
- VDM View Types — The Virtual Data Model in SAP S/4HANA Cloud Private Edition
- View Browser — Search, browse and tag CDS Views
Data Sources (3)
| Source | Alias | Join Type |
|---|---|---|
| P_UNSGNDMATGRPTXT | _Doc | left_outer |
| P_PURCHASEORDERVALUE | P_PURCHASEORDERVALUE | from |
| I_PurchasingCategoryMatlGroup | PurchasingCategoryMatlGroup | left_outer |
Parameters (5)
| Name | Type | Default |
|---|---|---|
| P_DisplayCurrency | displaycurrency | |
| P_DateFunction | datefunctionid | |
| P_StartDate | bedat | |
| P_EndDate | bedat | |
| P_Language | sylangu |
Associations (11)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1..1] | P_Purordmaintaincustproj | _WBSElement | $projection.WBSElementInternalID = _WBSElement.WBSElementInternalID |
| [1..1] | I_Product | _MaterialText | $projection.Material = _MaterialText.Product |
| [1..1] | I_ProductGroup | _MaterialGroupText | $projection.MaterialGroup = _MaterialGroupText.MaterialGroup |
| [1..1] | I_CalendarDate | _CalendarDate | $projection.PurchaseOrderDate = _CalendarDate.CalendarDate |
| [0..1] | I_WBSElementByInternalKey | _WBSElementByInternal | $projection.WBSElementInternalID = _WBSElementByInternal.WBSElementInternalID |
| [1..1] | I_PurchasingGroup | _PurchasingGroup | $projection.PurchasingGroup = _PurchasingGroup.PurchasingGroup |
| [1..1] | I_PurchasingOrganization | _PurchasingOrganization | $projection.PurchasingOrganization = _PurchasingOrganization.PurchasingOrganization |
| [1..1] | I_CalendarMonth | _CalendarMonth | _CalendarDate.CalendarMonth = _CalendarMonth.CalendarMonth |
| [1..1] | I_CalendarMonth | _CalendarMonthWithText | $projection.PostingMonth = _CalendarMonthWithText.CalendarMonth |
| [0..1] | I_CountryGeoPoint | _CountryGeoPoint | $projection.Country = _CountryGeoPoint.Country |
| [0..1] | I_Region | _SupplierRegion | $projection.region = _SupplierRegion.Region and $projection.SupplierCountry = _SupplierRegion.Country |
Annotations (14)
| Name | Value | Level | Field |
|---|---|---|---|
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| ObjectModel.usageType.dataClass | #MIXED | view | |
| ObjectModel.usageType.serviceQuality | #D | view | |
| ObjectModel.usageType.sizeCategory | #L | view | |
| EndUserText.label | Purchase Order Value | view | |
| VDM.viewType | #CONSUMPTION | view | |
| Analytics.dataCategory | #CUBE | view | |
| AbapCatalog.sqlViewName | CMMPURORDVALUE | view | |
| OData.publish | true | view | |
| Metadata.allowExtensions | true | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| AccessControl.personalData.blocking | #NOT_REQUIRED | view | |
| Metadata.ignorePropagatedAnnotations | true | view | |
| ObjectModel.modelingPattern | #ANALYTICAL_CUBE | view |
Fiori Apps (5)
| App ID | App Name | Type | Description |
|---|---|---|---|
| F0571 | Non-Managed Spend | Analytical | You use this app to determine the sum (without taxes) paid to suppliers without a purchase order reference in relation to the total spend for suppliers. The calculation is based on accounting documents. |
| F0574 | Contract Expiry | Analytical | You can use this app to identify purchase contracts that expires within a specific time frame. You can also use the app to find the number of expiring contracts, target amount, and the released amount of the expiring contracts. From 1809 release onward this app has been enhanced to include central purchase contracts also |
| F0681 | Contract Leakage | Analytical | With the Contract Leakage app, you can identity the spend of purchase orders that do not have a contract reference, although an existing contract could have been used. As a purchaser, you want to find the related net value. You can use Contract Leakage app to determine the amount of purchases made without considering existing contracts. |
| F1378 | Purchase Order Value and Scheduling Agreement Value | Analytical | You can use this app to retrieve the order value for all the purchase orders over time. The app also helps to determine the KPI value of the purchase orders for a given set of filter criteria such as the materials, supplier, and plant. The business value of the app is that you can determine all the current value of all purchase orders in the system. |
| F1380 | Purchase Order Average Delivery Time | Analytical | You can use this app to check the average delivery time of orders to the suppliers. |
Non-Managed Spend
Business Role: Strategic Buyer
With the Non-Managed Spend app, you can determine the amount (without taxes) paid to the suppliers without a purchase order reference in relation to the total spend for suppliers. The calculation is based on the accounting documents. You can analyze the non-managed spend in the following available views: •By Supplier•By General Ledger Account•Trend•Document The role Strategic Buyer (SAP_BR_BUYER) is required to access the app.
Contract Expiry
Business Role: Strategic Buyer
You can use this app to identify purchase contracts that expires within a specific time frame. You can also use the app to find the number of expiring contracts, target amount, and the released amount of the expiring contracts. The role Strategic Buyer (SAP_BR_BUYER) is required to access the app. This KPI is displayed in the following views: •By Supplier•By Purchasing Group•By Purchasing Organization•Document
Contract Leakage
Business Role: Strategic Buyer
With the Contract Leakage app, you can identity the spend of purchase orders that do not have a contract reference, although an existing contract could have been used. As a purchaser, you want to find the related net value. You can use Contract Leakage app to determine the amount of purchases made without considering existing contracts. The role Strategic Buyer (SAP_BR_BUYER) is required to access the app. The KPI is displayed in the following views: •By Supplier•By Purchasing Group•By Purchasing Organization•By Purchasing Category•By Material Group•Document•Trend
Purchase Order Value and Scheduling Agreement Value
Business Role: Strategic Buyer
You can use this app to retrieve the order value for all the purchase orders within a stipulated time. The app also helps to determine the KPI value of the purchase orders for a given set of filter criteria such as the materials, supplier, and plant. The business value of the app is that you can determine all the current value of all purchase orders in the system. The role Strategic Buyer (SAP_BR_BUYER) is required to access the app. This KPI is displayed in the following views: •By Supplier•By Purchasing Category•By Material Group•By Purchasing Group•By Plant•By WBS Element•Document•Trend
Purchase Order Average Delivery Time
Business Role: Strategic Buyer
Using the Purchase Order Average Delivery Time Weighted app, you can check the average delivery time of orders to the suppliers. The role Strategic Buyer (SAP_BR_BUYER) is required to access the app. The app is displayed in the following views: •By Supplier•By Material Group•By Plant•By Purchasing Category•Document
Fields (61)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| resultElementDateFunctionStartDate | ||||
| resultElementDateFunctionEndDate | ||||
| P_DisplayCurrency | ||||
| P_StartDate | ||||
| KEY | PurchaseOrderItem | Item Number of Purchase Order | ||
| KEY | AccountAssignmentNumber | AccountAssignmentNumber | Sequential Number of Account Assignment | |
| KEY | PurgDocMigrtnIsCmpltdForAnlyts | PurgDocMigrtnIsCmpltdForAnlyts | Indicator for Data Migration of Schedule Line | |
| PurgCatUUID | PurgCatUUID | Purchasing Category UUID | ||
| Supplier | Supplier | Account Number of Supplier | ||
| SupplierName | _Supplier | SupplierName | Name of Supplier | |
| SupplierCountry | SupplierCountry | Supplier Country/Region | ||
| CountryName | Country/Region Name | |||
| Country | SupplierCountry | Supplier Country/Region | ||
| Region | _Supplier | Region | Region (State, Province, County) | |
| PurchaseOrderDate | PurchaseOrderDate | Purchasing Document Date | ||
| IsCompletelyDelivered | IsCompletelyDelivered | "Delivery Completed" Indicator | ||
| CalendarYear | _CalendarDate | CalendarYear | Calendar Year | |
| CalendarQuarter | _CalendarDate | CalendarQuarter | Calendar Quarter | |
| CalendarMonth | _CalendarDate | CalendarMonth | Calendar Month | |
| PostingMonth | _CalendarDate | CalendarMonth | Calendar Month | |
| CalendarWeek | _CalendarDate | CalendarWeek | Calendar Week | |
| YearQuarter | _CalendarDate | YearQuarter | Year Quarter | |
| PurchasingOrganization | PurchasingOrganization | Purchasing Organization | ||
| PurchasingOrganizationName | _PurchasingOrganization | PurchasingOrganizationName | Purchasing Organization Name | |
| CompanyCode | CompanyCode | Receiver Company Code | ||
| PurchasingGroup | PurchasingGroup | Purchasing Group | ||
| PurchasingGroupName | _PurchasingGroup | PurchasingGroupName | Purchasing Group Name | |
| Material | Material | Material Number | ||
| MaterialName | Product Description | |||
| MaterialGroup | P_PurOrdItmAcctAssgmt | MaterialGroup | Material Group | |
| MaterialGroupName | Product Group Description | |||
| Plant | Plant | Valuation Area | ||
| PlantName | _Plant | PlantName | Plant Name | |
| ProductTypeCode | ProductType | Product Type Group | ||
| ProductType | Product Type Group | |||
| ServicePerformer | ServicePerformer | Service Performer | ||
| PurchasingCategory | Purchasing Category(Deprecated) | |||
| PurgCatRelatedToMaterialGroup | Purchasing Category | |||
| PurgCatNameendasPurgCatName | ||||
| WBSElementInternalID | WBSElementInternalID | Work Breakdown Structure Element (WBS Element) | ||
| CustomerProjectName | _WBSElement | CustomerProjectName | Customer Project Name | |
| CustProjWorkPackageName | _WBSElement | CustProjWorkPackageName | Plan Item Description | |
| WBSElement | _WBSElementByInternal | WBSElement | Work Breakdown Structure Element (WBS Element) | |
| WBSDescription | _WBSElementByInternal | WBSDescription | Work Breakdown Structure Element Name | |
| CostCenter | CostCenter | Cost Center | ||
| DisplayCurrency | Display Currency | |||
| PurOrdNetAmountInDisplayCrcy | PurOrdNetAmountInDisplayCrcy | Purchase Order Net Amount | ||
| NumberOfPurchaseOrders | ||||
| NmbrOfCmpltlyDlvrdPurOrdItms | ||||
| NumberOfPurchaseOrderItems | ||||
| _MaterialGroupText | _MaterialGroupText | |||
| _Plant | _Plant | |||
| _PurchasingGroup | _PurchasingGroup | |||
| _PurchasingOrganization | _PurchasingOrganization | |||
| _Supplier | _Supplier | |||
| _SupplierCountry | _SupplierCountry | |||
| _MaterialText | _MaterialText | |||
| _CalendarMonthWithText | _CalendarMonthWithText | |||
| _CalendarMonth | _CalendarMonth | |||
| _CountryGeoPoint | _CountryGeoPoint | |||
| _SupplierRegion | _SupplierRegion |
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 C_PurchaseOrderValue.
-- 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: CMMPURORDVALUE
-- Parameters: P_DisplayCurrency : displaycurrency, P_DateFunction : datefunctionid, P_StartDate : bedat, P_EndDate : bedat, P_Language : sylangu
CREATE VIEW C_PurchaseOrderValue AS
SELECT
resultElement: 'DateFunctionStartDate' AS resultElementDateFunctionStartDate,
resultElement: 'DateFunctionEndDate' AS resultElementDateFunctionEndDate,
binding: [ { targetParameter: 'P_DateFunction', type: #PARAMETER, value : 'P_DateFunction' AS P_DisplayCurrency,
P_StartDate : $parameters.P_StartDate AS P_StartDate,
cast(PurchaseOrderItem as vdm_purchaseorderitem) AS PurchaseOrderItem,
AccountAssignmentNumber,
PurgDocMigrtnIsCmpltdForAnlyts,
PurgCatUUID,
Supplier,
_Supplier.SupplierName AS SupplierName,
SupplierCountry,
_SupplierCountry._Text[1: Language = $parameters.P_Language].CountryName AS CountryName,
SupplierCountry AS Country,
_Supplier.Region AS Region,
PurchaseOrderDate,
IsCompletelyDelivered,
_CalendarDate.CalendarYear AS CalendarYear,
_CalendarDate.CalendarQuarter AS CalendarQuarter,
_CalendarDate.CalendarMonth AS CalendarMonth,
_CalendarDate.CalendarMonth AS PostingMonth,
_CalendarDate.CalendarWeek AS CalendarWeek,
_CalendarDate.YearQuarter AS YearQuarter,
PurchasingOrganization,
_PurchasingOrganization.PurchasingOrganizationName AS PurchasingOrganizationName,
CompanyCode,
PurchasingGroup,
_PurchasingGroup.PurchasingGroupName AS PurchasingGroupName,
Material,
_MaterialText._Text[1: Language = $session.system_language].ProductName AS MaterialName,
P_PurOrdItmAcctAssgmt.MaterialGroup AS MaterialGroup,
_MaterialGroupText._Text[1: Language = $session.system_language].MaterialGroupName AS MaterialGroupName,
Plant,
_Plant.PlantName AS PlantName,
ProductType AS ProductTypeCode,
cast ( ProductType as producttype) AS ProductType,
ServicePerformer,
PurchasingCategoryMatlGroup._PurchasingCategory.PurchasingCategory AS PurchasingCategory,
coalesce(PurchasingCategoryMatlGroup._PurchasingCategory.PurchasingCategory,'') AS PurgCatRelatedToMaterialGroup,
case when PurchasingCategoryMatlGroup._PurchasingCategory.PurgCatName is null then cast( _Doc.DomainText as /srmsmc/puc_name preserving type) else PurchasingCategoryMatlGroup._PurchasingCategory.PurgCatName end as PurgCatName AS PurgCatNameendasPurgCatName,
WBSElementInternalID,
_WBSElement.CustomerProjectName AS CustomerProjectName,
_WBSElement.CustProjWorkPackageName AS CustProjWorkPackageName,
_WBSElementByInternal.WBSElement AS WBSElement,
_WBSElementByInternal.WBSDescription AS WBSDescription,
CostCenter,
cast( :P_DisplayCurrency as displaycurrency ) AS DisplayCurrency,
PurOrdNetAmountInDisplayCrcy,
cast( 1 as abap.int4 ) AS NumberOfPurchaseOrders,
cast( 1 as abap.int4 ) AS NmbrOfCmpltlyDlvrdPurOrdItms,
cast( 1 as abap.int4 ) AS NumberOfPurchaseOrderItems
FROM P_PURCHASEORDERVALUE
LEFT OUTER JOIN I_PurchasingCategoryMatlGroup AS PurchasingCategoryMatlGroup ON /* join condition not captured in parsed metadata */
LEFT OUTER JOIN P_UNSGNDMATGRPTXT AS _Doc ON /* join condition not captured in parsed metadata */
LEFT OUTER JOIN P_Purordmaintaincustproj AS _WBSElement ON WBSElementInternalID = _WBSElement.WBSElementInternalID -- association [1..1]
LEFT OUTER JOIN I_Product AS _MaterialText ON Material = _MaterialText.Product -- association [1..1]
LEFT OUTER JOIN I_ProductGroup AS _MaterialGroupText ON MaterialGroup = _MaterialGroupText.MaterialGroup -- association [1..1]
LEFT OUTER JOIN I_CalendarDate AS _CalendarDate ON PurchaseOrderDate = _CalendarDate.CalendarDate -- association [1..1]
LEFT OUTER JOIN I_WBSElementByInternalKey AS _WBSElementByInternal ON WBSElementInternalID = _WBSElementByInternal.WBSElementInternalID -- association [0..1]
LEFT OUTER JOIN I_PurchasingGroup AS _PurchasingGroup ON PurchasingGroup = _PurchasingGroup.PurchasingGroup -- association [1..1]
LEFT OUTER JOIN I_PurchasingOrganization AS _PurchasingOrganization ON PurchasingOrganization = _PurchasingOrganization.PurchasingOrganization -- association [1..1]
LEFT OUTER JOIN I_CalendarMonth AS _CalendarMonth ON _CalendarDate.CalendarMonth = _CalendarMonth.CalendarMonth -- association [1..1]
LEFT OUTER JOIN I_CalendarMonth AS _CalendarMonthWithText ON PostingMonth = _CalendarMonthWithText.CalendarMonth -- association [1..1]
LEFT OUTER JOIN I_CountryGeoPoint AS _CountryGeoPoint ON Country = _CountryGeoPoint.Country -- association [0..1]
LEFT OUTER JOIN I_Region AS _SupplierRegion ON region = _SupplierRegion.Region AND SupplierCountry = _SupplierRegion.Country -- association [0..1]
;
Learn More
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Fiori Apps Architecture — How Fiori Apps Connect to Data
- 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