P_PurchaseOrderItemMntr
Purchase Order Items
P_PurchaseOrderItemMntr is a Consumption CDS View that provides data about "Purchase Order Items" in SAP S/4HANA. It reads from 4 data sources (I_PurgAnalyticsConfiguration, I_PurgAnalyticsConfiguration, P_POItem, P_POItemEnhanced) and exposes 132 fields with key fields PurchaseOrder, PurchaseOrderItem, PurchaseOrderItem. It has 3 associations to related views. Part of development package ODATA_MM_PUR_POITEMS_MONI.
Data Sources (4)
| Source | Alias | Join Type |
|---|---|---|
| I_PurgAnalyticsConfiguration | AnalyticalConfiguration | inner |
| I_PurgAnalyticsConfiguration | AnalyticalConfiguration | inner |
| P_POItem | P_POItem | union_all |
| P_POItemEnhanced | P_POItemEnhanced | from |
Parameters (1)
| Name | Type | Default |
|---|---|---|
| P_DisplayCurrency | abap.cuky(5) |
Associations (3)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | I_PurchaseOrderStatus | _PurchaseOrderStatus | $projection.PurchaseOrder = _PurchaseOrderStatus.PurchaseOrder |
| [0..1] | I_SuplrDeliveryPredictionCache | _PredictedDelivery | $projection.PurchaseOrder = _PredictedDelivery.PurchaseOrder and $projection.PurchaseOrderItem = _PredictedDelivery.PurchaseOrderItem and $projection.ScheduleLine = _PredictedDelivery.ScheduleLine |
| [0..1] | P_PurchaseOrderItemStatus | _PurchaseOrderItemStatus | $projection.PurchaseOrder = _PurchaseOrderItemStatus.PurchaseOrder and $projection.PurchaseOrderItem = _PurchaseOrderItemStatus.Purchaseorderitem |
Annotations (12)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | PPURORDITEMMNTR | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| VDM.private | true | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.sizeCategory | #L | view | |
| ObjectModel.usageType.dataClass | #TRANSACTIONAL | view | |
| AbapCatalog.preserveKey | true | view | |
| Search.searchable | true | view | |
| VDM.viewType | #CONSUMPTION | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| AccessControl.authorizationCheck | #PRIVILEGED_ONLY | view | |
| EndUserText.label | Purchase Order Items | view |
Fields (132)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | PurchaseOrder | PurchaseOrder | Purchasing Document | |
| KEY | PurchaseOrderItem | PurchaseOrderItem | Purchasing Document Item | |
| PurgDocMigrtnIsCmpltdForAnlyts | ||||
| PurchaseOrderType | PurchaseOrderType | PO Type | ||
| Supplier | Supplier | Supplier | ||
| SupplyingPlant | SupplyingPlant | Supplying Plant | ||
| PurchasingOrganization | PurchasingOrganization | Purchasing Organization | ||
| PurchasingGroup | PurchasingGroup | Purchasing Group | ||
| CompanyCode | CompanyCode | Receiver Company Code | ||
| DocumentCurrency | DocumentCurrency | Document Currency | ||
| PurchaseOrderDate | PurchaseOrderDate | PO Date | ||
| CreationDate | CreationDate | Time Stamp | ||
| CreatedByUser | CreatedByUser | User Name | ||
| PurchaseOrderStatus | _PurchaseOrderStatus | PurchasingDocumentStatus | Short Description | |
| PurchaseOrderItemStatus | _PurchaseOrderItemStatus | PurchasingDocumentStatus | Short Description | |
| PurchaseOrderItemText | PurchaseOrderItemText | Short Text | ||
| Material | Material | Vehicle Model | ||
| MaterialGroup | MaterialGroup | Product Group | ||
| Plant | Plant | Valuation Area | ||
| ProductType | ProductType | Product Type Group | ||
| PurchaseOrderItemCategory | PurchaseOrderItemCategory | Item Category | ||
| AccountAssignmentCategory | AccountAssignmentCategory | Acct Assgmt Cat | ||
| ServicePerformer | ServicePerformer | Service Performer | ||
| IsReturnsItem | IsReturnsItem | Returns Item | ||
| GoodsReceiptIsExpected | GoodsReceiptIsExpected | Goods Receipt | ||
| GoodsReceiptIsNonValuated | GoodsReceiptIsNonValuated | GR Non-Valuated | ||
| IsCompletelyDelivered | IsCompletelyDelivered | Is completely delivered | ||
| InvoiceIsExpected | InvoiceIsExpected | Invoice Receipt | ||
| InvoiceIsGoodsReceiptBased | InvoiceIsGoodsReceiptBased | GR-Based IV | ||
| IsFinallyInvoiced | IsFinallyInvoiced | Final Invoice | ||
| IsCompleted | IsCompleted | |||
| StorageLocation | StorageLocation | StorageLocation | ||
| PurchasingInfoRecord | PurchasingInfoRecord | Info Record | ||
| IsInfoRecordUpdated | IsInfoRecordUpdated | InfoUpdate | ||
| PurchaseContract | PurchaseContract | Purchasing Doc. | ||
| PurchaseContractItem | PurchaseContractItem | Item | ||
| PurchaseRequisition | PurchaseRequisition | Requisition | ||
| PurchaseRequisitionItem | PurchaseRequisitionItem | Requisn. item | ||
| RequestForQuotation | RequestForQuotation | RFQ | ||
| RequestForQuotationItem | RequestForQuotationItem | RFQ Item | ||
| RequirementTracking | RequirementTracking | Tracking Number | ||
| RequisitionerName | RequisitionerName | Requisitioner | ||
| NextDeliveryDate | NextDeliveryDate | |||
| NextDeliveryQuantity | NextDeliveryQuantity | |||
| NextDeliveryStatus | NextDeliveryStatus | |||
| curr215endasExpectedOverallLimitAmount | ||||
| curr215endasOverallLimitAmount | ||||
| OrderQuantity | OrderQuantity | Quantity | ||
| curr215endasNetPriceAmount | ||||
| NetPriceQuantity | NetPriceQuantity | Price Unit | ||
| curr215endasNetAmount | ||||
| GoodsReceiptQuantity | GoodsReceiptQuantity | Delivered | ||
| curr215asGoodReceiptAmount | ||||
| StillToBeDeliveredQuantity | StillToBeDeliveredQuantity | |||
| curr215asStillToBeDeliveredValue | ||||
| InvoiceReceiptQty | InvoiceReceiptQty | |||
| curr215asInvoiceReceiptAmount | ||||
| StillToInvoiceQuantity | StillToInvoiceQuantity | |||
| curr215asStillToInvoiceValue | ||||
| PurchaseOrderQuantityUnit | PurchaseOrderQuantityUnit | Order Unit | ||
| OrderPriceUnit | OrderPriceUnit | Order Price Un. | ||
| SupplierQuotation | SupplierQuotation | RFQ | ||
| SupplierQuotationItem | SupplierQuotationItem | Supplier Quotation Item | ||
| ScheduleLine | ScheduleLine | Schedule Line | ||
| PredictedDaysOfDelivDeviation | _PredictedDelivery | PredictedDaysOfDelivDeviation | ||
| SuplrNextDeliveryPredictionDte | _PredictedDelivery | SuplrNextDeliveryPredictionDte | ||
| PurchaseorderitemkeyPurchaseOrder | ||||
| KEY | PurchaseOrderItem | PurchaseOrderItem | Purchasing Document Item | |
| PurgDocMigrtnIsCmpltdForAnlyts | ||||
| PurchaseOrderType | PurchaseOrderType | PO Type | ||
| Supplier | Supplier | Supplier | ||
| SupplyingPlant | SupplyingPlant | Supplying Plant | ||
| PurchasingOrganization | PurchasingOrganization | Purchasing Organization | ||
| PurchasingGroup | PurchasingGroup | Purchasing Group | ||
| CompanyCode | CompanyCode | Receiver Company Code | ||
| DocumentCurrency | DocumentCurrency | Document Currency | ||
| PurchaseOrderDate | PurchaseOrderDate | PO Date | ||
| CreationDate | CreationDate | Time Stamp | ||
| CreatedByUser | CreatedByUser | User Name | ||
| PurchaseOrderStatus | _PurchaseOrderStatus | PurchasingDocumentStatus | Short Description | |
| PurchaseOrderItemStatus | _PurchaseOrderItemStatus | PurchasingDocumentStatus | Short Description | |
| PurchaseOrderItemText | PurchaseOrderItemText | Short Text | ||
| Material | Material | Vehicle Model | ||
| MaterialGroup | MaterialGroup | Product Group | ||
| Plant | Plant | Valuation Area | ||
| ProductType | ProductType | Product Type Group | ||
| PurchaseOrderItemCategory | PurchaseOrderItemCategory | Item Category | ||
| AccountAssignmentCategory | AccountAssignmentCategory | Acct Assgmt Cat | ||
| ServicePerformer | ServicePerformer | Service Performer | ||
| IsReturnsItem | IsReturnsItem | Returns Item | ||
| GoodsReceiptIsExpected | GoodsReceiptIsExpected | Goods Receipt | ||
| GoodsReceiptIsNonValuated | GoodsReceiptIsNonValuated | GR Non-Valuated | ||
| IsCompletelyDelivered | IsCompletelyDelivered | Is completely delivered | ||
| InvoiceIsExpected | InvoiceIsExpected | Invoice Receipt | ||
| InvoiceIsGoodsReceiptBased | InvoiceIsGoodsReceiptBased | GR-Based IV | ||
| IsFinallyInvoiced | IsFinallyInvoiced | Final Invoice | ||
| IsCompleted | IsCompleted | |||
| StorageLocation | StorageLocation | StorageLocation | ||
| PurchasingInfoRecord | PurchasingInfoRecord | Info Record | ||
| IsInfoRecordUpdated | IsInfoRecordUpdated | InfoUpdate | ||
| PurchaseContract | PurchaseContract | Purchasing Doc. | ||
| PurchaseContractItem | PurchaseContractItem | Item | ||
| PurchaseRequisition | PurchaseRequisition | Requisition | ||
| PurchaseRequisitionItem | PurchaseRequisitionItem | Requisn. item | ||
| RequestForQuotation | RequestForQuotation | RFQ | ||
| RequestForQuotationItem | RequestForQuotationItem | RFQ Item | ||
| RequirementTracking | RequirementTracking | Tracking Number | ||
| RequisitionerName | RequisitionerName | Requisitioner | ||
| NextDeliveryDate | NextDeliveryDate | |||
| NextDeliveryQuantity | ||||
| NextDeliveryStatus | NextDeliveryStatus | |||
| ExpectedOverallLimitAmount | ExpectedOverallLimitAmount | Expected Value | ||
| OverallLimitAmount | OverallLimitAmount | Overall Limit | ||
| OrderQuantity | OrderQuantity | Quantity | ||
| NetPriceAmount | NetPriceAmount | Net Price | ||
| NetPriceQuantity | NetPriceQuantity | Price Unit | ||
| NetAmount | NetAmount | Stated Amount | ||
| GoodsReceiptQuantity | GoodsReceiptQuantity | Delivered | ||
| GoodReceiptAmount | GoodReceiptAmount | |||
| StillToBeDeliveredQuantity | StillToBeDeliveredQuantity | |||
| StillToBeDeliveredValue | ||||
| InvoiceReceiptQty | InvoiceReceiptQty | |||
| InvoiceReceiptAmount | InvoiceReceiptAmount | |||
| StillToInvoiceQuantity | StillToInvoiceQuantity | |||
| StillToInvoiceValue | ||||
| PurchaseOrderQuantityUnit | PurchaseOrderQuantityUnit | Order Unit | ||
| OrderPriceUnit | OrderPriceUnit | Order Price Un. | ||
| SupplierQuotation | SupplierQuotation | RFQ | ||
| SupplierQuotationItem | SupplierQuotationItem | Supplier Quotation Item | ||
| ScheduleLine | ScheduleLine | Schedule Line | ||
| PredictedDaysOfDelivDeviation | _PredictedDelivery | PredictedDaysOfDelivDeviation | ||
| SuplrNextDeliveryPredictionDte | _PredictedDelivery | SuplrNextDeliveryPredictionDte |
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_PurchaseOrderItemMntr.
-- 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: PPURORDITEMMNTR
-- Parameters: P_DisplayCurrency : abap.cuky(5)
CREATE VIEW P_PurchaseOrderItemMntr AS
SELECT
PurchaseOrder,
PurchaseOrderItem,
cast ('X' as migration_completed) AS PurgDocMigrtnIsCmpltdForAnlyts,
PurchaseOrderType,
Supplier,
SupplyingPlant,
PurchasingOrganization,
PurchasingGroup,
CompanyCode,
DocumentCurrency,
PurchaseOrderDate,
CreationDate,
CreatedByUser,
_PurchaseOrderStatus.PurchasingDocumentStatus AS PurchaseOrderStatus,
_PurchaseOrderItemStatus.PurchasingDocumentStatus AS PurchaseOrderItemStatus,
PurchaseOrderItemText,
Material,
MaterialGroup,
Plant,
ProductType,
PurchaseOrderItemCategory,
AccountAssignmentCategory,
ServicePerformer,
IsReturnsItem,
GoodsReceiptIsExpected,
GoodsReceiptIsNonValuated,
IsCompletelyDelivered,
InvoiceIsExpected,
InvoiceIsGoodsReceiptBased,
IsFinallyInvoiced,
IsCompleted,
StorageLocation,
PurchasingInfoRecord,
IsInfoRecordUpdated,
PurchaseContract,
PurchaseContractItem,
PurchaseRequisition,
PurchaseRequisitionItem,
RequestForQuotation,
RequestForQuotationItem,
RequirementTracking,
RequisitionerName,
NextDeliveryDate,
NextDeliveryQuantity,
NextDeliveryStatus,
case when PurchaseOrderItemCategory = 'A' then currency_conversion(amount => ExpectedOverallLimitAmount, source_currency => DocumentCurrency, target_currency => $parameters.P_DisplayCurrency, exchange_rate_date => PurchaseOrderDate, error_handling => 'SET_TO_NULL' ) else cast (0 as abap.curr(21, 5)) end as ExpectedOverallLimitAmount AS curr215endasExpectedOverallLimitAmount,
case when PurchaseOrderItemCategory = 'A' then currency_conversion(amount => OverallLimitAmount, source_currency => DocumentCurrency, target_currency => $parameters.P_DisplayCurrency, exchange_rate_date => PurchaseOrderDate, error_handling => 'SET_TO_NULL' ) else cast (0 as abap.curr(21, 5)) end as OverallLimitAmount AS curr215endasOverallLimitAmount,
OrderQuantity,
case $parameters.P_DisplayCurrency when AnalyticalReportingCurrency then NetPriceInReportingCurrency when AnalyticalReportingCurrency2 then NetPriceInReportingCurrency2 when DocumentCurrency then NetPriceAmount else cast(currency_conversion ( amount => NetPriceAmount, source_currency => DocumentCurrency, round => 'X', target_currency => :P_DisplayCurrency, exchange_rate_date => PurchaseOrderDate, exchange_rate_type => 'M', error_handling => 'SET_TO_NULL' )as abap.curr(21,5)) end as NetPriceAmount AS curr215endasNetPriceAmount,
NetPriceQuantity,
case $parameters.P_DisplayCurrency when AnalyticalReportingCurrency then NetAmountInReportingCurrency when AnalyticalReportingCurrency2 then NetAmountInReportingCurrency2 when DocumentCurrency then NetAmount else cast(currency_conversion ( amount => NetAmount, source_currency => DocumentCurrency, round => 'X', target_currency => :P_DisplayCurrency, exchange_rate_date => PurchaseOrderDate, exchange_rate_type => 'M', error_handling => 'SET_TO_NULL' )as abap.curr(21,5)) end as NetAmount AS curr215endasNetAmount,
GoodsReceiptQuantity,
cast( currency_conversion(amount => GoodReceiptAmount, source_currency => DocumentCurrency, target_currency => $parameters.P_DisplayCurrency, exchange_rate_date => PurchaseOrderDate, round => 'X', error_handling => 'SET_TO_NULL' ) as abap.curr(21,5)) as GoodReceiptAmount AS curr215asGoodReceiptAmount,
StillToBeDeliveredQuantity,
cast(currency_conversion(amount => StillToBeDeliveredValue, source_currency => DocumentCurrency, target_currency => $parameters.P_DisplayCurrency, exchange_rate_date => PurchaseOrderDate, round => 'X', error_handling => 'SET_TO_NULL' ) as abap.curr(21,5)) as StillToBeDeliveredValue AS curr215asStillToBeDeliveredValue,
InvoiceReceiptQty,
cast(currency_conversion(amount => InvoiceReceiptAmount, source_currency => DocumentCurrency, target_currency => $parameters.P_DisplayCurrency, exchange_rate_date => PurchaseOrderDate, round => 'X', error_handling => 'SET_TO_NULL' ) as abap.curr(21,5)) as InvoiceReceiptAmount AS curr215asInvoiceReceiptAmount,
StillToInvoiceQuantity,
cast(currency_conversion(amount => StillToInvoiceValue, source_currency => DocumentCurrency, target_currency => $parameters.P_DisplayCurrency, exchange_rate_date => PurchaseOrderDate, round => 'X', error_handling => 'SET_TO_NULL' ) as abap.curr(21,5)) as StillToInvoiceValue AS curr215asStillToInvoiceValue,
PurchaseOrderQuantityUnit,
OrderPriceUnit,
SupplierQuotation,
SupplierQuotationItem,
ScheduleLine,
_PredictedDelivery.PredictedDaysOfDelivDeviation AS PredictedDaysOfDelivDeviation,
_PredictedDelivery.SuplrNextDeliveryPredictionDte AS SuplrNextDeliveryPredictionDte,
cast ( case when (GoodsReceiptIsExpected <> 'X' or IsCompletelyDelivered = 'X' or ScheduleLine is null or IsReturnsItem = 'X' or PurchaseOrderItemCategory <> '0') then 'NA' when _PredictedDelivery.PredictedDaysOfDelivDeviation < 0 then '-1' when _PredictedDelivery.PredictedDaysOfDelivDeviation > 0 then '1' when _PredictedDelivery.PredictedDaysOfDelivDeviation = 0 then '0' else 'N' end as vdm_mm_suplrdelvryforecast preserving type ) as PredictedDelDaysRltnPOPostDate AS PurchaseorderitemkeyPurchaseOrder,
ExpectedOverallLimitAmount,
OverallLimitAmount,
NetPriceAmount,
NetAmount,
GoodReceiptAmount,
cast(StillToBeDeliveredValue as abap.curr(21,5)) AS StillToBeDeliveredValue,
InvoiceReceiptAmount,
cast(StillToInvoiceValue as abap.curr(21,5)) AS StillToInvoiceValue
FROM P_POItemEnhanced
INNER JOIN I_PurgAnalyticsConfiguration AS AnalyticalConfiguration ON /* join condition not captured in parsed metadata */
LEFT OUTER JOIN I_PurchaseOrderStatus AS _PurchaseOrderStatus ON PurchaseOrder = _PurchaseOrderStatus.PurchaseOrder -- association [0..1]
LEFT OUTER JOIN I_SuplrDeliveryPredictionCache AS _PredictedDelivery ON PurchaseOrder = _PredictedDelivery.PurchaseOrder AND PurchaseOrderItem = _PredictedDelivery.PurchaseOrderItem AND ScheduleLine = _PredictedDelivery.ScheduleLine -- association [0..1]
LEFT OUTER JOIN P_PurchaseOrderItemStatus AS _PurchaseOrderItemStatus ON PurchaseOrder = _PurchaseOrderItemStatus.PurchaseOrder AND PurchaseOrderItem = _PurchaseOrderItemStatus.Purchaseorderitem -- association [0..1]
-- UNION ALL with additional select branch(es): P_POItem
;
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