P_FsclYearPerdWithSpclPerd

DDL: P_FSCLYEARPERDWITHSPCLPERD SQL: PCADEFSCLPERD Type: view COMPOSITE

P_FsclYearPerdWithSpclPerd is a Composite CDS View in SAP S/4HANA. It reads from 1 data source (I_FiscalYearPeriodForLedger) and exposes 11 fields with key fields CompanyCode, Ledger, FiscalYear, FiscalPeriod.

Data Sources (1)

SourceAliasJoin Type
I_FiscalYearPeriodForLedger FiscalYearPeriod from

Parameters (4)

NameTypeDefault
P_FiscalYear fis_gjahr
P_FromFiscalPeriod fins_fiscalperiod
P_ToFiscalPeriod fins_fiscalperiod
P_IsSpecialPeriod xfeld

Annotations (7)

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

Fields (11)

KeyFieldSource TableSource FieldDescription
KEY CompanyCode I_FiscalYearPeriodForLedger CompanyCode
KEY Ledger I_FiscalYearPeriodForLedger Ledger
KEY FiscalYear I_FiscalYearPeriodForLedger FiscalYear
KEY FiscalPeriod I_FiscalYearPeriodForLedger FiscalPeriod
numc7endasFiscalYearPeriod
FiscalPeriodthenendasIsLastPaymentDate
IsSpecialPeriod I_FiscalYearPeriodForLedger IsSpecialPeriod
FiscalPeriodStartDate I_FiscalYearPeriodForLedger FiscalPeriodStartDate
FiscalPeriodEndDate I_FiscalYearPeriodForLedger FiscalPeriodEndDate
NextFiscalPeriod I_FiscalYearPeriodForLedger NextFiscalPeriod
PaymentBatchMerge
@AbapCatalog.preserveKey: true
@AbapCatalog.sqlViewName: 'PCADEFSCLPERD'
@VDM.viewType: #COMPOSITE
@VDM.private:true
@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
define view P_FsclYearPerdWithSpclPerd with parameters
    P_FiscalYear   : fis_gjahr,
    P_FromFiscalPeriod : fins_fiscalperiod,
    P_ToFiscalPeriod   : fins_fiscalperiod,
    P_IsSpecialPeriod    : xfeld
as select from I_FiscalYearPeriodForLedger as FiscalYearPeriod
left outer to many join I_FiscalYearPeriodForLedger as LastFiscalPeriod on  LastFiscalPeriod.CompanyCode = FiscalYearPeriod.CompanyCode
                                                                       and LastFiscalPeriod.Ledger = FiscalYearPeriod.Ledger
                                                                       and LastFiscalPeriod.FiscalYear = FiscalYearPeriod.FiscalYear
                                                                       and LastFiscalPeriod.IsSpecialPeriod = ''
                                                                       and LastFiscalPeriod.NextFiscalPeriodFiscalYear <> FiscalYearPeriod.FiscalYear {
  key FiscalYearPeriod.CompanyCode,
  key FiscalYearPeriod.Ledger,
  key FiscalYearPeriod.FiscalYear,
  key FiscalYearPeriod.FiscalPeriod,
  case when FiscalYearPeriod.IsSpecialPeriod = 'X'
            then
              case :P_IsSpecialPeriod
                when 'X' then cast( LastFiscalPeriod.FiscalYearPeriod as abap.numc(7)) 
                else cast( FiscalYearPeriod.FiscalYearPeriod as abap.numc(7)) 
              end
            else
              cast( FiscalYearPeriod.FiscalYearPeriod as abap.numc(7)) 
          end                                                 as             FiscalYearPeriod,
  //PreviousFiscalYearPeriod is used to store orginal fiscalyearperiod and expose to other view

  case when LastFiscalPeriod.FiscalPeriod = FiscalYearPeriod.FiscalPeriod
    then 'X'
      when LastFiscalPeriod.FiscalPeriod != FiscalYearPeriod.FiscalPeriod
    then ''
  end as IsLastPaymentDate,
  FiscalYearPeriod.IsSpecialPeriod,
  FiscalYearPeriod.FiscalPeriodStartDate,
  FiscalYearPeriod.FiscalPeriodEndDate,
  FiscalYearPeriod.NextFiscalPeriod,
  //This is used to merge special period account item

  $parameters.P_IsSpecialPeriod as PaymentBatchMerge
}
where
      FiscalYearPeriod.FiscalYear = :P_FiscalYear
  and FiscalYearPeriod.FiscalPeriod >= :P_FromFiscalPeriod
  and FiscalYearPeriod.FiscalPeriod <= :P_ToFiscalPeriod