@AbapCatalog.viewEnhancementCategory: [#NONE]@AccessControl.authorizationCheck: #NOT_REQUIRED@Metadata.ignorePropagatedAnnotations: true@ObjectModel.usageType:{
serviceQuality: #X,
sizeCategory: #S,
dataClass: #MIXED
}@VDM.viewType: #COMPOSITE@VDM.private:truedefineviewentity P_RAMnlRevnSprdgByPeriodTP asselectfrom P_RAPerfOblignAllPeriods
association [0..1] to P_RADeferralItemAggrgdRevn as _aggregatedRevenue on $projection.PerformanceObligation = _aggregatedRevenue.PerformanceObligation
and $projection.RevenueAccountingContract = _aggregatedRevenue.RevenueAccountingContract
and $projection.FiscalYear = _aggregatedRevenue.FiscalYear
and $projection.FiscalPeriod = _aggregatedRevenue.FiscalPeriod
association [0..1] to P_RAFlfmtAggrgdMnlSprdgAmt as _aggregatedMnlSprdgAmt on $projection.PerformanceObligation = _aggregatedMnlSprdgAmt.PerformanceObligation
and $projection.RevenueAccountingContract = _aggregatedMnlSprdgAmt.RevenueAccountingContract
and $projection.FiscalYear = _aggregatedMnlSprdgAmt.FiscalYear
and $projection.FiscalPeriod = _aggregatedMnlSprdgAmt.FiscalPeriod
association [0..1] to P_RAContrLastSplitFull as _lastSplit on $projection.RevenueAccountingContract = _lastSplit.RevenueAccountingContract
association [0..1] to I_RAPeriodSetting as _periodSetting on $projection.AccountingPrinciple = _periodSetting.AccountingPrinciple
and $projection.CompanyCode = _periodSetting.CompanyCode
{
key PerformanceObligation,
key FiscalYear,
key FiscalPeriod,
RevenueAccountingContract,
CompanyCode,
AccountingPrinciple,
@Semantics.amount.currencyCode: 'SalesDocumentCurrency'
_aggregatedRevenue.DeltaRecognizedAmtInSlsDocCrcy,
@Semantics.amount.currencyCode: 'SalesDocumentCurrency'
_aggregatedRevenue.RecgdCatchUpAmtInSlsDocCrcy,
@Semantics.amount.currencyCode: 'SalesDocumentCurrency'
_aggregatedMnlSprdgAmt.FulfilledAmountInSlsDocCrcy,
_aggregatedRevenue.SalesDocumentCurrency,
@Semantics.quantity.unitOfMeasure: 'FulfilledQuantityUnit'
_aggregatedMnlSprdgAmt.ReportedFulfilledQuantity,
_aggregatedMnlSprdgAmt.FulfilledQuantityUnit,
// split edit field status
casewhen FiscalYear < _lastSplit.FiscalYear
then
'X'
elsecasewhen FiscalYear = _lastSplit.FiscalYear and
FiscalPeriod < _lastSplit.FiscalPeriod
then
'X'
else
' '
endendas NotEditableSplit,
// period edit field status
casewhen FiscalYear < _periodSetting.FiscalYear
then
'X'
elsecasewhen ( FiscalYear = _periodSetting.FiscalYear and
FiscalPeriod < _periodSetting.FiscalPeriod and
_periodSetting.PostingPeriodStatus <> 'I' ) or (
FiscalYear = _periodSetting.FiscalYear and
FiscalPeriod <= _periodSetting.FiscalPeriod and
_periodSetting.PostingPeriodStatus = 'I'
)
then
'X'
else
' '
endendas NotEditablePeriod
}