P_RAInvcAndFulfilledQtyPerKey

DDL: P_RAINVCANDFULFILLEDQTYPERKEY SQL: PRAINVFFQTYBYKEY Type: view COMPOSITE

P_RAInvcAndFulfilledQtyPerKey is a Composite CDS View in SAP S/4HANA. It reads from 2 data sources (I_RAPerformanceObligation, I_RevnAcctgDeferralItem) and exposes 8 fields with key fields RevnAcctgReconciliationKey, PerformanceObligation, RevenueAccountingContract.

Data Sources (2)

SourceAliasJoin Type
I_RAPerformanceObligation _RAPerformanceObligation inner
I_RevnAcctgDeferralItem RevnAcctgDeferralItem from

Annotations (7)

NameValueLevelField
AbapCatalog.sqlViewName PRAINVFFQTYBYKEY view
ClientHandling.algorithm #SESSION_VARIABLE view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #NOT_REQUIRED view
VDM.viewType #COMPOSITE view
VDM.private true view

Fields (8)

KeyFieldSource TableSource FieldDescription
KEY RevnAcctgReconciliationKey RevnAcctgReconciliationKey
KEY PerformanceObligation I_RevnAcctgDeferralItem PerformanceObligation
KEY RevenueAccountingContract I_RAPerformanceObligation RevenueAccountingContract
FiscalYearPeriod FiscalYearPeriod
PerfOblgnEffectiveQuantityUnit I_RevnAcctgDeferralItem PerfOblgnEffectiveQuantityUnit
PerfOblgnContractualQtyUnit I_RevnAcctgDeferralItem PerfOblgnContractualQtyUnit
PerfOblgnDeltaInvoicedQuantity
DeltaPerfOblgnFulfilledQty
@AbapCatalog.sqlViewName: 'PRAINVFFQTYBYKEY'
@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey:true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@VDM.viewType: #COMPOSITE
@VDM.private: true

//Get average quantity per POB per key, 

//because we don't how many condition types in one reconciliation key,

//and quantity is exactly same in each condition type with the same reconciliation key

define view P_RAInvcAndFulfilledQtyPerKey as select from I_RevnAcctgDeferralItem as RevnAcctgDeferralItem
  inner join I_RAPerformanceObligation as _RAPerformanceObligation
  on RevnAcctgDeferralItem.PerformanceObligation = _RAPerformanceObligation.PerformanceObligation 
{
  key RevnAcctgReconciliationKey,
  
  key RevnAcctgDeferralItem.PerformanceObligation,
  
  key _RAPerformanceObligation.RevenueAccountingContract,
  
      FiscalYearPeriod,
  
      RevnAcctgDeferralItem.PerfOblgnEffectiveQuantityUnit,
      
      RevnAcctgDeferralItem.PerfOblgnContractualQtyUnit,
      
      //avg(inv_qty_delta) per POB per key

      @Semantics.quantity.unitOfMeasure: 'PerfOblgnContractualQtyUnit'
      avg(PerfOblgnDeltaInvoicedQuantity as abap.quan(18,3))  as PerfOblgnDeltaInvoicedQuantity,
      
      //avg(rev_qty_delta) per POB per key

      @Semantics.quantity.unitOfMeasure: 'PerfOblgnEffectiveQuantityUnit'
      avg(DeltaPerfOblgnFulfilledQty as abap.quan(18,3))      as DeltaPerfOblgnFulfilledQty 
}
where ConditionIsForStatistics   = ''
  and RevnAcctgConditionCategory = 'P'
  and ( PerfOblgnDeltaInvoicedQuantity <> 0 or DeltaPerfOblgnFulfilledQty <> 0 )
group by RevnAcctgReconciliationKey,
         RevnAcctgDeferralItem.PerformanceObligation,
         FiscalYearPeriod,
         _RAPerformanceObligation.RevenueAccountingContract,
         RevnAcctgDeferralItem.PerfOblgnEffectiveQuantityUnit,
         RevnAcctgDeferralItem.PerfOblgnContractualQtyUnit