I_PurchaseOrderItemOverdue

DDL: I_PURCHASEORDERITEMOVERDUE SQL: IMMPURORDOVERDUE Type: view BASIC

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)

SourceAliasJoin Type
eket eket from

Associations (3)

CardinalityTargetAliasCondition
[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)

NameValueLevelField
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)

KeyFieldSource TableSource FieldDescription
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":""
}
}*/