P_DunningLevelDistribution is a Composite CDS View that provides data about "Smart Business App Dunning Level Distribution" in SAP S/4HANA. It reads from 1 data source (I_ReceivablesPayablesItem) and exposes 13 fields with key fields CompanyCode, Customer, DunningLevel. Part of development package FINS_FIS_APAR_APPS.
@AbapCatalog.sqlViewName: 'PDUNNLEVELDISTR'
@VDM.viewType: #COMPOSITE@VDM.private:true@AccessControl.authorizationCheck: #NOT_REQUIRED@ClientHandling.algorithm: #SESSION_VARIABLEdefineview P_DunningLevelDistribution
withparameters
P_LowerBoundaryDunningLevel : far_lower_bndry_dunning_level,
P_UpperBoundaryDunningLevel : far_upper_bndry_dunning_level
asselectfrom I_ReceivablesPayablesItem
{
key CompanyCode,
key Debtor as Customer,
key DunningLevel,
CompanyCodeCurrency,
sum( casewhen DunningLevel = '1' then AmountInCompanyCodeCurrency else 0 end ) as DunningLevel1AmtInCoCodeCrcy,
sum( casewhen DunningLevel = '2' then AmountInCompanyCodeCurrency else 0 end ) as DunningLevel2AmtInCoCodeCrcy,
sum( casewhen DunningLevel = '3' then AmountInCompanyCodeCurrency else 0 end ) as DunningLevel3AmtInCoCodeCrcy,
sum( casewhen DunningLevel = '4' then AmountInCompanyCodeCurrency else 0 end ) as DunningLevel4AmtInCoCodeCrcy,
sum( casewhen DunningLevel = '5' then AmountInCompanyCodeCurrency else 0 end ) as DunningLevel5AmtInCoCodeCrcy,
sum( casewhen DunningLevel = '6' then AmountInCompanyCodeCurrency else 0 end ) as DunningLevel6AmtInCoCodeCrcy,
sum( casewhen DunningLevel = '7' then AmountInCompanyCodeCurrency else 0 end ) as DunningLevel7AmtInCoCodeCrcy,
sum( casewhen DunningLevel = '8' then AmountInCompanyCodeCurrency else 0 end ) as DunningLevel8AmtInCoCodeCrcy,
sum( casewhen DunningLevel = '9' then AmountInCompanyCodeCurrency else 0 end ) as DunningLevel9AmtInCoCodeCrcy,
sum( casewhen DunningLevel >= :P_LowerBoundaryDunningLevel
and DunningLevel <= :P_UpperBoundaryDunningLevel
then AmountInCompanyCodeCurrency
else 0 end ) as DunLevelRngeAmtInCoCodeCrcy
}
where
FinancialAccountType = 'D'
and ClearingDate = '00000000'
// when restricting the dunning levels via the parameters this should also apply to the rows of dunning levels returned
// e.g. do not return a result for dunning level 9, when lower boundary = 1 and upper boundary = 4
// a client shall request only those dunning level amounts which fit to the lower and upper boundary for the dunning level
and DunningLevel >= :P_LowerBoundaryDunningLevel //'1'
and DunningLevel <= :P_UpperBoundaryDunningLevel //'9'
groupby
CompanyCode,
Debtor,
CompanyCodeCurrency,
DunningLevel