P_PurchaseOrderQuantity
Purchase Order Quantity
P_PurchaseOrderQuantity is a Consumption CDS View that provides data about "Purchase Order Quantity" in SAP S/4HANA. It reads from 6 data sources and exposes 61 fields with key fields PurchaseOrder, PurchaseOrderItem, PurchaseOrderItem, PurchaseOrderItem.
Data Sources (6)
| Source | Alias | Join Type |
|---|---|---|
| I_PurchaseOrder | _PurchaseOrder | from |
| I_PurchaseOrder | _PurchaseOrder | union_all |
| I_PurchaseOrder | _PurchaseOrder | union_all |
| I_PurchaseOrderItem | _PurchaseOrderItem | inner |
| I_PurchaseOrderItem | _PurchaseOrderItem | inner |
| I_PurchaseOrderItem | _PurchaseOrderItem | inner |
Parameters (2)
| Name | Type | Default |
|---|---|---|
| P_StartDate | bedat | |
| P_EndDate | bedat |
Annotations (9)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | PMMPURORDQTY | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| EndUserText.label | Purchase Order Quantity | view | |
| VDM.private | true | view | |
| VDM.viewType | #CONSUMPTION | view | |
| AccessControl.personalData.blocking | #NOT_REQUIRED | view | |
| AbapCatalog.preserveKey | true | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view |
Fields (61)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | PurchaseOrder | I_PurchaseOrder | PurchaseOrder | |
| KEY | PurchaseOrderItem | I_PurchaseOrderItem | PurchaseOrderItem | |
| PurchaseOrderQuantityUnit | I_PurchaseOrderItem | PurchaseOrderQuantityUnit | ||
| NetAmount | I_PurchaseOrderItem | NetAmount | ||
| OrderQuantity | I_PurchaseOrderItem | OrderQuantity | ||
| OrderPriceUnitToOrderUnitNmrtr | I_PurchaseOrderItem | OrderPriceUnitToOrderUnitNmrtr | ||
| OrdPriceUnitToOrderUnitDnmntr | I_PurchaseOrderItem | OrdPriceUnitToOrderUnitDnmntr | ||
| Currency | I_PurchaseOrderItem | DocumentCurrency | ||
| PurchaseOrderDate | I_PurchaseOrder | PurchaseOrderDate | ||
| Supplier | I_PurchaseOrder | Supplier | ||
| PurchaseOrderType | I_PurchaseOrder | PurchaseOrderType | ||
| PurchasingOrganization | I_PurchaseOrder | PurchasingOrganization | ||
| PurchasingGroup | I_PurchaseOrder | PurchasingGroup | ||
| Plant | I_PurchaseOrderItem | Plant | ||
| Material | I_PurchaseOrderItem | Material | ||
| MaterialGroup | I_PurchaseOrderItem | MaterialGroup | ||
| CompanyCode | I_PurchaseOrderItem | CompanyCode | ||
| IsReturnsItem | I_PurchaseOrderItem | IsReturnsItem | ||
| NetPriceAmount | ||||
| NetPriceQuantity | I_PurchaseOrderItem | NetPriceQuantity | ||
| PurchaseOrder | ||||
| KEY | PurchaseOrderItem | I_PurchaseOrderItem | PurchaseOrderItem | |
| PurchaseOrderQuantityUnit | I_PurchaseOrderItem | PurchaseOrderQuantityUnit | ||
| NetAmount | I_PurchaseOrderItem | NetAmount | ||
| OrderQuantity | I_PurchaseOrderItem | OrderQuantity | ||
| OrderPriceUnitToOrderUnitNmrtr | I_PurchaseOrderItem | OrderPriceUnitToOrderUnitNmrtr | ||
| OrdPriceUnitToOrderUnitDnmntr | I_PurchaseOrderItem | OrdPriceUnitToOrderUnitDnmntr | ||
| Currency | I_PurchaseOrderItem | DocumentCurrency | ||
| PurchaseOrderDate | I_PurchaseOrder | PurchaseOrderDate | ||
| Supplier | I_PurchaseOrder | Supplier | ||
| PurchaseOrderType | I_PurchaseOrder | PurchaseOrderType | ||
| PurchasingOrganization | I_PurchaseOrder | PurchasingOrganization | ||
| PurchasingGroup | I_PurchaseOrder | PurchasingGroup | ||
| Plant | I_PurchaseOrderItem | Plant | ||
| Material | I_PurchaseOrderItem | Material | ||
| MaterialGroup | I_PurchaseOrderItem | MaterialGroup | ||
| CompanyCode | I_PurchaseOrderItem | CompanyCode | ||
| IsReturnsItem | I_PurchaseOrderItem | IsReturnsItem | ||
| NetPriceAmount | ||||
| NetPriceQuantity | I_PurchaseOrderItem | NetPriceQuantity | ||
| PurchaseOrder | ||||
| KEY | PurchaseOrderItem | I_PurchaseOrderItem | PurchaseOrderItem | |
| PurchaseOrderQuantityUnit | I_PurchaseOrderItem | PurchaseOrderQuantityUnit | ||
| NetAmount | I_PurchaseOrderItem | NetAmount | ||
| OrderQuantity | I_PurchaseOrderItem | OrderQuantity | ||
| OrderPriceUnitToOrderUnitNmrtr | I_PurchaseOrderItem | OrderPriceUnitToOrderUnitNmrtr | ||
| OrdPriceUnitToOrderUnitDnmntr | I_PurchaseOrderItem | OrdPriceUnitToOrderUnitDnmntr | ||
| Currency | I_PurchaseOrderItem | DocumentCurrency | ||
| PurchaseOrderDate | I_PurchaseOrder | PurchaseOrderDate | ||
| Supplier | I_PurchaseOrder | Supplier | ||
| PurchaseOrderType | I_PurchaseOrder | PurchaseOrderType | ||
| PurchasingOrganization | I_PurchaseOrder | PurchasingOrganization | ||
| PurchasingGroup | I_PurchaseOrder | PurchasingGroup | ||
| Plant | I_PurchaseOrderItem | Plant | ||
| Material | I_PurchaseOrderItem | Material | ||
| MaterialGroup | I_PurchaseOrderItem | MaterialGroup | ||
| CompanyCode | I_PurchaseOrderItem | CompanyCode | ||
| IsReturnsItem | I_PurchaseOrderItem | IsReturnsItem | ||
| NetPriceAmount | ||||
| NetPriceQuantity | I_PurchaseOrderItem | NetPriceQuantity | ||
| SuplrEvalCritraDelivCompleted |
@AbapCatalog.sqlViewName: 'PMMPURORDQTY'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Purchase Order Quantity'
@VDM.private : true
@VDM.viewType : #CONSUMPTION
@AccessControl.personalData.blocking: #NOT_REQUIRED
@AbapCatalog.preserveKey:true
@ClientHandling.algorithm: #SESSION_VARIABLE
define view P_PurchaseOrderQuantity
with parameters
P_StartDate : bedat,
P_EndDate : bedat
as select from I_PurchaseOrder as _PurchaseOrder
inner join I_PurchaseOrderItem as _PurchaseOrderItem on _PurchaseOrder.PurchaseOrder = _PurchaseOrderItem.PurchaseOrder
{
key _PurchaseOrder.PurchaseOrder,
key _PurchaseOrderItem.PurchaseOrderItem,
_PurchaseOrderItem.PurchaseOrderQuantityUnit,
_PurchaseOrderItem.NetAmount,
_PurchaseOrderItem.OrderQuantity,
_PurchaseOrderItem.OrderPriceUnitToOrderUnitNmrtr,
_PurchaseOrderItem.OrdPriceUnitToOrderUnitDnmntr,
_PurchaseOrderItem.DocumentCurrency as Currency,
_PurchaseOrder.PurchaseOrderDate,
_PurchaseOrder.Supplier,
_PurchaseOrder.PurchaseOrderType,
_PurchaseOrder.PurchasingOrganization,
_PurchaseOrder.PurchasingGroup,
_PurchaseOrderItem.Plant,
_PurchaseOrderItem.Material,
_PurchaseOrderItem.MaterialGroup,
_PurchaseOrderItem.CompanyCode,
_PurchaseOrderItem.IsReturnsItem,
cast(division(_PurchaseOrderItem.NetPriceAmount,_PurchaseOrderItem.NetPriceQuantity,3) as abap.curr(12,3)) as NetPriceAmount,
_PurchaseOrderItem.NetPriceQuantity,
cast( 'NOTSET' as mm_pur_ana_de_delivery_compind ) as SuplrEvalCritraDelivCompleted
}
where
_PurchaseOrderItem.PurchasingDocumentDeletionCode = ''
and _PurchaseOrder.SupplyingPlant = ''
and _PurchaseOrder.ReleaseIsNotCompleted != 'X'
and _PurchaseOrderItem.OrderQuantity > 0
and _PurchaseOrderItem.NetPriceQuantity > 0
and _PurchaseOrder.PurchaseOrderDate <= $parameters.P_EndDate
and _PurchaseOrder.PurchaseOrderDate >= $parameters.P_StartDate
and _PurchaseOrderItem.IsCompletelyDelivered = ''
and(
_PurchaseOrderItem.IsStatisticalItem = ''
or _PurchaseOrderItem.Material <> ''
)
and not(
_PurchaseOrderItem.ProductType = '2'
or(
_PurchaseOrderItem.PurchaseOrderItemCategory = '9'
or _PurchaseOrderItem.PurchaseOrderItemCategory = '1'
or _PurchaseOrderItem.PurchaseOrderItemCategory = 'A'
)
)
union all select from I_PurchaseOrder as _PurchaseOrder
inner join I_PurchaseOrderItem as _PurchaseOrderItem on _PurchaseOrder.PurchaseOrder = _PurchaseOrderItem.PurchaseOrder
{
key _PurchaseOrder.PurchaseOrder,
key _PurchaseOrderItem.PurchaseOrderItem,
_PurchaseOrderItem.PurchaseOrderQuantityUnit,
_PurchaseOrderItem.NetAmount,
_PurchaseOrderItem.OrderQuantity,
_PurchaseOrderItem.OrderPriceUnitToOrderUnitNmrtr,
_PurchaseOrderItem.OrdPriceUnitToOrderUnitDnmntr,
_PurchaseOrderItem.DocumentCurrency as Currency,
_PurchaseOrder.PurchaseOrderDate,
_PurchaseOrder.Supplier,
_PurchaseOrder.PurchaseOrderType,
_PurchaseOrder.PurchasingOrganization,
_PurchaseOrder.PurchasingGroup,
_PurchaseOrderItem.Plant,
_PurchaseOrderItem.Material,
_PurchaseOrderItem.MaterialGroup,
_PurchaseOrderItem.CompanyCode,
_PurchaseOrderItem.IsReturnsItem,
cast(division(_PurchaseOrderItem.NetPriceAmount,_PurchaseOrderItem.NetPriceQuantity,3) as abap.curr(12,3)) as NetPriceAmount,
_PurchaseOrderItem.NetPriceQuantity,
cast ( 'SET' as mm_pur_ana_de_delivery_compind ) as SuplrEvalCritraDelivCompleted
}
where
_PurchaseOrderItem.PurchasingDocumentDeletionCode = ''
and _PurchaseOrder.SupplyingPlant = ''
and _PurchaseOrder.ReleaseIsNotCompleted != 'X'
and _PurchaseOrderItem.OrderQuantity > 0
and _PurchaseOrderItem.NetPriceQuantity > 0
and _PurchaseOrder.PurchaseOrderDate <= $parameters.P_EndDate
and _PurchaseOrder.PurchaseOrderDate >= $parameters.P_StartDate
and _PurchaseOrderItem.IsCompletelyDelivered = 'X'
and(
_PurchaseOrderItem.IsStatisticalItem = ''
or _PurchaseOrderItem.Material <> ''
)
and not(
_PurchaseOrderItem.ProductType = '2'
or(
_PurchaseOrderItem.PurchaseOrderItemCategory = '9'
or _PurchaseOrderItem.PurchaseOrderItemCategory = '1'
or _PurchaseOrderItem.PurchaseOrderItemCategory = 'A'
)
)
union all select from I_PurchaseOrder as _PurchaseOrder
inner join I_PurchaseOrderItem as _PurchaseOrderItem on _PurchaseOrder.PurchaseOrder = _PurchaseOrderItem.PurchaseOrder
{
key _PurchaseOrder.PurchaseOrder,
key _PurchaseOrderItem.PurchaseOrderItem,
_PurchaseOrderItem.PurchaseOrderQuantityUnit,
_PurchaseOrderItem.NetAmount,
_PurchaseOrderItem.OrderQuantity,
_PurchaseOrderItem.OrderPriceUnitToOrderUnitNmrtr,
_PurchaseOrderItem.OrdPriceUnitToOrderUnitDnmntr,
_PurchaseOrderItem.DocumentCurrency as Currency,
_PurchaseOrder.PurchaseOrderDate,
_PurchaseOrder.Supplier,
_PurchaseOrder.PurchaseOrderType,
_PurchaseOrder.PurchasingOrganization,
_PurchaseOrder.PurchasingGroup,
_PurchaseOrderItem.Plant,
_PurchaseOrderItem.Material,
_PurchaseOrderItem.MaterialGroup,
_PurchaseOrderItem.CompanyCode,
_PurchaseOrderItem.IsReturnsItem,
cast(division(_PurchaseOrderItem.NetPriceAmount,_PurchaseOrderItem.NetPriceQuantity,3) as abap.curr(12,3)) as NetPriceAmount,
_PurchaseOrderItem.NetPriceQuantity,
cast ( 'BOTH' as mm_pur_ana_de_delivery_compind ) as SuplrEvalCritraDelivCompleted
}
where
_PurchaseOrderItem.PurchasingDocumentDeletionCode = ''
and _PurchaseOrder.SupplyingPlant = ''
and _PurchaseOrder.ReleaseIsNotCompleted != 'X'
and _PurchaseOrderItem.OrderQuantity > 0
and _PurchaseOrderItem.NetPriceQuantity > 0
and _PurchaseOrder.PurchaseOrderDate <= $parameters.P_EndDate
and _PurchaseOrder.PurchaseOrderDate >= $parameters.P_StartDate
and(
_PurchaseOrderItem.IsStatisticalItem = ''
or _PurchaseOrderItem.Material <> ''
)
and not(
_PurchaseOrderItem.ProductType = '2'
or(
_PurchaseOrderItem.PurchaseOrderItemCategory = '9'
or _PurchaseOrderItem.PurchaseOrderItemCategory = '1'
or _PurchaseOrderItem.PurchaseOrderItemCategory = 'A'
)
)
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