I_PurchaseOrderItemOverdue
Collection of all overdue PO items
I_PurchaseOrderItemOverdue is a Basic CDS View that provides data about "Collection of all overdue PO items" in SAP S/4HANA. It reads from 1 data source (eket) and exposes 9 fields with key fields PurchaseOrder, PurchaseOrderItem, ScheduleLine. It has 3 associations to related views.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| eket | eket | from |
Associations (3)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1..1] | I_PurchaseOrder | _PurchaseOrder | $projection.PurchaseOrder = _PurchaseOrder.PurchaseOrder |
| [1..1] | I_PurchaseOrderItem | _PurchaseOrderItem | $projection.PurchaseOrder = _PurchaseOrderItem.PurchaseOrder and $projection.PurchaseOrderItem = _PurchaseOrderItem.PurchaseOrderItem |
| [0..1] | I_Currency | _Currency | $projection.Currency = _Currency.Currency |
Annotations (12)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.preserveKey | true | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| EndUserText.label | Collection of all overdue PO items | view | |
| VDM.viewType | #BASIC | view | |
| AbapCatalog.sqlViewName | IMMPURORDOVERDUE | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| ObjectModel.representativeKey | ScheduleLine | view | |
| ObjectModel.usageType.dataClass | #TRANSACTIONAL | view | |
| ObjectModel.usageType.serviceQuality | #B | view | |
| ObjectModel.usageType.sizeCategory | #L | view | |
| VDM.lifecycle.contract.type | #SAP_INTERNAL_API | view |
Fields (9)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | PurchaseOrder | ebeln | ||
| KEY | PurchaseOrderItem | ebelp | ||
| KEY | ScheduleLine | etenr | ||
| int8asOverdueDays | ||||
| curr153endasOpenPurchaseOrderNetAmount | ||||
| Currency | _PurchaseOrderItem | DocumentCurrency | ||
| _PurchaseOrder | _PurchaseOrder | |||
| _PurchaseOrderItem | _PurchaseOrderItem | |||
| _Currency | _Currency |
@AbapCatalog.preserveKey: true
@AbapCatalog.compiler.compareFilter: true
@ClientHandling.algorithm: #SESSION_VARIABLE
@EndUserText.label: 'Collection of all overdue PO items'
@VDM.viewType: #BASIC
@AbapCatalog.sqlViewName: 'IMMPURORDOVERDUE'
@AccessControl.authorizationCheck: #CHECK
@ObjectModel.representativeKey: 'ScheduleLine'
@ObjectModel.usageType.dataClass: #TRANSACTIONAL
@ObjectModel.usageType.serviceQuality: #B
@ObjectModel.usageType.sizeCategory: #L
@VDM.lifecycle.contract.type: #SAP_INTERNAL_API
define view I_PurchaseOrderItemOverdue
as select from eket
association [1..1] to I_PurchaseOrder as _PurchaseOrder on $projection.PurchaseOrder = _PurchaseOrder.PurchaseOrder
association [1..1] to I_PurchaseOrderItem as _PurchaseOrderItem on $projection.PurchaseOrder = _PurchaseOrderItem.PurchaseOrder
and $projection.PurchaseOrderItem = _PurchaseOrderItem.PurchaseOrderItem
association [0..1] to I_Currency as _Currency on $projection.Currency = _Currency.Currency
{
@ObjectModel.foreignKey.association: '_PurchaseOrder'
key ebeln as PurchaseOrder,
@ObjectModel.foreignKey.association: '_PurchaseOrderItem'
key ebelp as PurchaseOrderItem,
key etenr as ScheduleLine,
cast (
DATS_DAYS_BETWEEN(
eindt,
cast( $session.system_date as abap.dats) // today
)
as abap.int8)
as OverdueDays,
@Semantics.amount.currencyCode: 'Currency'
@DefaultAggregation: #SUM
// Relevance Score Calculation based on Overdue Days
case
when ( _PurchaseOrderItem.OrderQuantity = 0 ) // prevent division by 0
then
0
else
cast((menge - wemng) * DIVISION( _PurchaseOrderItem.NetAmount , _PurchaseOrderItem.OrderQuantity, 3 )
as abap.curr( 15, 3 ))
end as OpenPurchaseOrderNetAmount,
@Semantics.currencyCode: true
@ObjectModel.foreignKey.association: '_Currency'
_PurchaseOrderItem.DocumentCurrency as Currency,
_PurchaseOrder,
_PurchaseOrderItem,
_Currency
}
where
_PurchaseOrder.PurchasingDocumentDeletionCode != 'X'
and _PurchaseOrder.PurchasingCompletenessStatus != 'X'
and _PurchaseOrder.ReleaseIsNotCompleted != 'X'
and _PurchaseOrderItem.IsCompletelyDelivered = ''
and eket.eindt < $session.system_date
and eket.menge > eket.wemng
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_PURCHASEORDER",
"I_PURCHASEORDERITEM",
"EKET"
],
"ASSOCIATED":
[
"I_CURRENCY",
"I_PURCHASEORDER",
"I_PURCHASEORDERITEM"
],
"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