P_RASCHEDALLOCATEDAMTPERPERD

CDS View

P_RASCHEDALLOCATEDAMTPERPERD is a CDS View in S/4HANA. It contains 11 fields. 2 CDS views read from this table.

CDS Views using this table (2)

ViewTypeJoinVDMDescription
P_RASchedDistinctItem view from COMPOSITE
P_RASchedItemSub view from COMPOSITE

Fields (11)

KeyField CDS FieldsUsed in Views
KEY FiscalPeriod FiscalPeriod 2
KEY FiscalYear FiscalYear 2
KEY PerformanceObligation PerformanceObligation 2
KEY RevenueAccountingContract RevenueAccountingContract 2
RAPerfOblgnDistinctType RAPerfOblgnDistinctType 1
TolEffectiveCostPerPerd TolEffectiveCostPerPerd 1
TolRecgdAmtCatchupPerPerd TolRecgdAmtCatchupPerPerd,TotRecgdCatchUpAmtInSlsDocCrcy 2
TolRecognizedAmtPerPerd TolRecognizedAmtPerPerd,UpToCurPeriodRecognizedRevenue 2
TolRecognizedCostPerPerd TolRecognizedCostPerPerd 1
TotalDocAmtContractual ContractualPrcInSlsDocCrcy 1
TotalEffectiveAmtInSlsDocCrcy AllocatedPriceInSalesDocCrcy,TotalEffectiveAmtInSlsDocCrcy 2
@AbapCatalog.sqlViewName: 'PRASALLOCATEDPRC'
@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey:true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@VDM.viewType: #COMPOSITE
@VDM.private: true

/* Here must select from P_RAPerfOblgnFullPeriod instead of P_RAPerfOblgnPeriod since the former
 * contains the full periods within a compound group. If using P_RAPerfOblgnPeriod it will lead wrong 
 * summed allocated amount/cost and open revenue/cost of compound POB. For example, if a compound POB has two 
 * non-distinct POBs, and one only has fulfillments in peirod 001, the other only has fulfillments on 002.
 * Result of P_RAPerfOblgnPeriod is:
 *      Non-distinct_POB1   001
 *      Non-distinct_POB2   002
 * Result of P_RAPerfOblgnFullPeriod is:
 *      Non-distinct_POB1   001
 *      Non-distinct_POB1   002
 *      Non-distinct_POB2   001
 *      Non-distinct_POB2   002
 *
 */
define view P_RASchedAllocatedAmtPerPerd 
as select from P_RAPerfOblgnFullPeriod as RAPerfOblgnPerPerd

left outer to many join P_RASchedPerfOblgnAmtPerd as PerfOblgnTotalAmtPerPeriod
  on RAPerfOblgnPerPerd.PerformanceObligation = PerfOblgnTotalAmtPerPeriod.PerformanceObligation
  and ( RAPerfOblgnPerPerd.FiscalYear > PerfOblgnTotalAmtPerPeriod.FiscalYear 
  or RAPerfOblgnPerPerd.FiscalYear = PerfOblgnTotalAmtPerPeriod.FiscalYear 
  and RAPerfOblgnPerPerd.FiscalPeriod >= PerfOblgnTotalAmtPerPeriod.FiscalPeriod )
  and RAPerfOblgnPerPerd.RevenueAccountingContract = PerfOblgnTotalAmtPerPeriod.RevenueAccountingContract
{
/**************************key*****************************/
  key RAPerfOblgnPerPerd.PerformanceObligation,
  key RAPerfOblgnPerPerd.FiscalYear,
  key RAPerfOblgnPerPerd.FiscalPeriod,
  key RAPerfOblgnPerPerd.RevenueAccountingContract,
  
      RAPerfOblgnDistinctType,
      RAHigherLevelPerfOblgn, 
    
/**************************End Revenue*****************************/  
  //sum(doc_amt_delta)

  sum(PerfOblgnTotalAmtPerPeriod.DeltaEffectiveAmtPerPerd) as TotalEffectiveAmtInSlsDocCrcy,
  //sum(doc_amt_delta) with spec_indicator <> 'D', condition type is not CORR, contractual price

  sum(PerfOblgnTotalAmtPerPeriod.DeltaContractualPricePerPerd) as TotalDocAmtContractual,
  //sum(doc_amt_delta) with spec_indicator = 'D', condition type is CORR, allocated difference

  sum(PerfOblgnTotalAmtPerPeriod.DeltaAllocatedEffctPerPerd ) as TotalDocAmtAllocatedEffect,
  //sum(doc_amt_delta) with spec_indicator = 'F'

  sum(PerfOblgnTotalAmtPerPeriod.DeltaFreeFaceValue ) as TotalFreeFaceValue,
  //sum(rev_amt_delta)

  sum(PerfOblgnTotalAmtPerPeriod.DeltaRecognizedAmtPerPerd) as TolRecognizedAmtPerPerd,
  //sum(rev_amt_catchup)

  sum(PerfOblgnTotalAmtPerPeriod.DeltaRecgdAmtCatchupPerPerd) as TolRecgdAmtCatchupPerPerd,

/**************************End Cost*****************************/   
  sum(PerfOblgnTotalAmtPerPeriod.DeltaRecognizedCostPerPerd) as TolRecognizedCostPerPerd,
  sum(PerfOblgnTotalAmtPerPeriod.DeltaEffectiveCostPerPerd) as TolEffectiveCostPerPerd,
  sum(PerfOblgnTotalAmtPerPeriod.DeltaInvoicedCostPerPerd) as TolInvoicedCostPerPerd
}
group by 
RAPerfOblgnPerPerd.PerformanceObligation,
RAPerfOblgnPerPerd.FiscalYear,
RAPerfOblgnPerPerd.FiscalPeriod,
RAPerfOblgnPerPerd.RevenueAccountingContract,
RAPerfOblgnDistinctType,
RAHigherLevelPerfOblgn
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"P_RAPERFOBLGNFULLPERIOD",
"P_RASCHEDPERFOBLGNAMTPERD"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/