C_RblsItmForKeyDteDuePerd

DDL: C_RBLSITMFORKEYDTEDUEPERD SQL: CRBLSKDATDUE Type: view CONSUMPTION Package: FINS_FIS_APAR_APPS

Receivables for Key Date

C_RblsItmForKeyDteDuePerd is a Consumption CDS View that provides data about "Receivables for Key Date" in SAP S/4HANA. It reads from 1 data source (I_RblsItmForKeyDteDuePerd). Part of development package FINS_FIS_APAR_APPS.

Data Sources (1)

SourceAliasJoin Type
I_RblsItmForKeyDteDuePerd I_RblsItmForKeyDteDuePerd from

Parameters (5)

NameTypeDefault
P_KeyDate bzdat
P_PeriodType fis_period_type
P_Language sylangu
P_DisplayCurrency vdm_v_display_currency
P_ExchangeRateType kurst_curr

Annotations (12)

NameValueLevelField
ObjectModel.usageType.sizeCategory #XXL view
ObjectModel.usageType.serviceQuality #X view
ObjectModel.usageType.dataClass #MIXED view
AbapCatalog.sqlViewName CRBLSKDATDUE view
VDM.viewType #CONSUMPTION view
Metadata.ignorePropagatedAnnotations true view
EndUserText.label Receivables for Key Date view
AccessControl.authorizationCheck #PRIVILEGED_ONLY view
AccessControl.personalData.blocking #BLOCKED_DATA_EXCLUDED view
ClientHandling.algorithm #SESSION_VARIABLE view
Analytics.query true view
OData.publish true view
//Documentation about annotations can be found at http://help.sap.com searching for CDS annotations //Inserted by VDM CDS Suite Plugin

@ObjectModel.usageType.sizeCategory: #XXL //Inserted by VDM CDS Suite Plugin

@ObjectModel.usageType.serviceQuality: #X //Inserted by VDM CDS Suite Plugin

@ObjectModel.usageType.dataClass: #MIXED //Inserted by VDM CDS Suite Plugin

@AbapCatalog.sqlViewName: 'CRBLSKDATDUE'
@VDM.viewType: #CONSUMPTION
@Metadata.ignorePropagatedAnnotations: true
@EndUserText.label: 'Receivables for Key Date'
@AccessControl.authorizationCheck: #PRIVILEGED_ONLY
@AccessControl.personalData.blocking: #BLOCKED_DATA_EXCLUDED
@ClientHandling.algorithm: #SESSION_VARIABLE
@Analytics.query: true
@OData.publish: true
@ObjectModel.supportedCapabilities: [ #ANALYTICAL_QUERY ]

define view C_RblsItmForKeyDteDuePerd
  with parameters

    @EndUserText.label: 'As of Date'
    @Consumption.defaultValue: '20240101' 
//    @Environment.systemField: #USER_DATE

    P_KeyDate               : bzdat,
    
    @Consumption.defaultValue: 'M'
    P_PeriodType            : fis_period_type, 

    @Consumption.hidden: true
    @Environment.systemField: #SYSTEM_LANGUAGE
    P_Language              : sylangu,
    
    @Consumption.defaultValue: 'EUR'
    P_DisplayCurrency       : vdm_v_display_currency,    

    @Consumption.defaultValue: 'M'
    @Consumption.valueHelpDefinition: [{ entity: { name: 'I_ExchangeRateType', element: 'ExchangeRateType' }}]
    P_ExchangeRateType      : kurst_curr

  as select from I_RblsItmForKeyDteDuePerd( P_KeyDate: :P_KeyDate,
                                            P_DisplayCurrency: :P_DisplayCurrency,
                                            P_ExchangeRateType: :P_ExchangeRateType,
                                            P_PeriodType: :P_PeriodType  )
{       
  key CompanyCode,
//      @UI.hidden: true

      @ObjectModel.text.element: ['CustomerName']
//      @Consumption.labelElement: ['CustomerName']

      @UI.textArrangement: #TEXT_LAST
  key Customer,
//      @Consumption.hidden: true

  key AccountingClerk,
      @UI.lineItem: [{hidden: true}]      
  key SpecialGLCode,
  key ReconciliationAccount,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_GLAccountStdVH', element: 'GLAccount' } } ]
  key GLAccount,  
    
      ReportingYear,                                     
      ReportingPeriod,                               
      ReportingPeriodStartDate,        
      ReportingPeriodEndDate,              
      
      @EndUserText.label: 'Customer Country/Region'
      CustomerCountry,
      _GLAccount._Text[1:Language = :P_Language].GLAccountLongName             as GLAccountLongName,
      _SpecialGLCode._Text[1:Language = :P_Language].SpecialGLCodeLongName     as SpecialGLCodeName,
      _ReconciliationAccount._Text[1:Language = :P_Language].GLAccountLongName as ReconciliationAccountLongName,
      _Company.CompanyCodeName                                                 as CompanyCodeName,
      _Customer.CustomerName                                                   as CustomerName,
      _AccountingClerk.AccountingClerkName                                     as AccountingClerkName,      
  
      @Semantics.currencyCode:true
      @UI.hidden: true
      DisplayCurrency,
      @DefaultAggregation: #SUM
      @Semantics.amount.currencyCode: 'DisplayCurrency'
      @EndUserText.label: 'Due in Previous Periods'
      NetDueIntvl1AmtInDspCrcy,
      @DefaultAggregation: #SUM
      @Semantics.amount.currencyCode: 'DisplayCurrency'
      @EndUserText.label: 'Due in Selected Period'
      NetDueIntvl2AmtInDspCrcy,
      @DefaultAggregation: #SUM
      @Semantics.amount.currencyCode: 'DisplayCurrency'
      @EndUserText.label: 'New Invoices Due'
      NetDueIntvl3AmtInDspCrcy,   
      
      @EndUserText.label: 'Total Target'
      @DefaultAggregation: #FORMULA
      @AnalyticsDetails.query.formula: '(NetDueIntvl1AmtInDspCrcy + NetDueIntvl2AmtInDspCrcy + NetDueIntvl3AmtInDspCrcy)'
      cast(0 as wertv12)   as TotalAmountInDisplayCrcy, 
      
      @EndUserText.label: 'Collected' 
      @DefaultAggregation: #SUM
      @Semantics.amount.currencyCode: 'DisplayCurrency'
      PartialPaymentAmtInDspCrcy,

      @Consumption.hidden: true
      @DefaultAggregation: #FORMULA
      @AnalyticsDetails.query.formula: 'NDIV0( $projection.TotalAmountInDisplayCrcy / PartialPaymentAmtInDspCrcy )'
      cast(0 as wertv12)   as OverdueReceivablesRatio, // Best fitting GFN though result is not in percent


      @EndUserText.label: '% Collected'
      @DefaultAggregation: #FORMULA
      @AnalyticsDetails.query.formula: 'CASE WHEN $projection.OverdueReceivablesRatio < 0 THEN 0 ELSE NDIV0( 100/$projection.OverdueReceivablesRatio ) END'
      @AnalyticsDetails.query.decimals: 4
      cast(0 as wertv12)   as BalanceRatioInPercent,
      
      @EndUserText.label: 'Outstanding Due'
      @DefaultAggregation: #FORMULA
      @AnalyticsDetails.query.formula: '($projection.TotalAmountInDisplayCrcy - PartialPaymentAmtInDspCrcy)'
      @AnalyticsDetails.query.decimals: 4
      cast(0 as wertv12)   as NotOvrdAmountInDspCrcy

}