I_FsclDateFuncRangeForLedger

DDL: I_FSCLDATEFUNCRANGEFORLEDGER Type: view_entity COMPOSITE Package: FINS_PERIOD_VDM

Fiscal Date Function for Ledger

I_FsclDateFuncRangeForLedger is a Composite CDS View (Dimension) that provides data about "Fiscal Date Function for Ledger" in SAP S/4HANA. It reads from 5 data sources (I_FiscalCalendarDate, I_FiscalCalendarDate, I_Datefunction, I_FiscalDateFunctionValue, I_LedgerCompanyCodeCrcyRoles) and exposes 10 fields with key fields Ledger, CompanyCode, DateFunction. It has 2 associations to related views. Part of development package FINS_PERIOD_VDM.

Data Sources (5)

SourceAliasJoin Type
I_FiscalCalendarDate Date1 inner
I_FiscalCalendarDate Date2 inner
I_Datefunction I_Datefunction inner
I_FiscalDateFunctionValue I_FiscalDateFunctionValue from
I_LedgerCompanyCodeCrcyRoles I_LedgerCompanyCodeCrcyRoles inner

Parameters (1)

NameTypeDefault
P_DateFunction datefunctionid

Associations (2)

CardinalityTargetAliasCondition
[1..1] I_CompanyCode _CompanyCode I_LedgerCompanyCodeCrcyRoles.CompanyCode = _CompanyCode.CompanyCode
[1..1] I_Ledger _Ledger I_LedgerCompanyCodeCrcyRoles.Ledger = _Ledger.Ledger

Annotations (13)

NameValueLevelField
AccessControl.authorizationCheck #NOT_REQUIRED view
EndUserText.label Fiscal Date Function for Ledger view
Analytics.dataCategory #DIMENSION view
Analytics.internalName #LOCAL view
Analytics.technicalName IFIFSCLDTEFUNCRL view
VDM.viewType #COMPOSITE view
ObjectModel.representativeKey DateFunction view
ObjectModel.usageType.dataClass #META view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #S view
ObjectModel.modelingPattern #ANALYTICAL_DIMENSION view
Metadata.allowExtensions true view
Metadata.ignorePropagatedAnnotations true view

Fields (10)

KeyFieldSource TableSource FieldDescription
KEY Ledger I_LedgerCompanyCodeCrcyRoles Ledger
KEY CompanyCode I_LedgerCompanyCodeCrcyRoles CompanyCode
KEY DateFunction I_Datefunction DateFunction
FiscalYearVariant I_LedgerCompanyCodeCrcyRoles FiscalYearVariant
FromFiscalYear
ToFiscalYear
ToFiscalYearPeriod I_FiscalCalendarDate FiscalYearPeriod
ToPostingDate
_CompanyCode _CompanyCode
_Ledger _Ledger
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'Fiscal Date Function for Ledger'
@Analytics: { dataCategory: #DIMENSION, internalName: #LOCAL }
@Analytics.technicalName: 'IFIFSCLDTEFUNCRL'
@VDM.viewType: #COMPOSITE
@ObjectModel: { representativeKey: 'DateFunction',
                usageType: { dataClass: #META,
                             serviceQuality:  #C,
                             sizeCategory:  #S },
                supportedCapabilities: [#ANALYTICAL_DIMENSION, #CDS_MODELING_ASSOCIATION_TARGET, #SQL_DATA_SOURCE, #CDS_MODELING_DATA_SOURCE],
                modelingPattern: #ANALYTICAL_DIMENSION }
@Metadata: { allowExtensions: true ,
             ignorePropagatedAnnotations: true }          

define view entity I_FsclDateFuncRangeForLedger 
  with parameters
    P_DateFunction : datefunctionid
as select from I_FiscalDateFunctionValue as I_FiscalDateFunctionValue
    inner join I_Datefunction as I_Datefunction on  I_FiscalDateFunctionValue.DateFunction          = I_Datefunction.DateFunction
    inner join I_FiscalCalendarDate as Date1    on  I_FiscalDateFunctionValue.FiscalYearVariant     = Date1.FiscalYearVariant
                                                and I_FiscalDateFunctionValue.DateFunctionStartDate = Date1.CalendarDate
    inner join I_FiscalCalendarDate as Date2    on  I_FiscalDateFunctionValue.FiscalYearVariant     = Date2.FiscalYearVariant
                                                and I_FiscalDateFunctionValue.DateFunctionEndDate   = Date2.CalendarDate
    inner join I_LedgerCompanyCodeCrcyRoles as I_LedgerCompanyCodeCrcyRoles
                                                on  I_FiscalDateFunctionValue.FiscalYearVariant     = I_LedgerCompanyCodeCrcyRoles.FiscalYearVariant   
                                                
    association [1..1] to I_CompanyCode as _CompanyCode on I_LedgerCompanyCodeCrcyRoles.CompanyCode = _CompanyCode.CompanyCode
    association [1..1] to I_Ledger      as _Ledger      on I_LedgerCompanyCodeCrcyRoles.Ledger      = _Ledger.Ledger                                                       
{
  @ObjectModel.foreignKey.association: '_Ledger'
  key I_LedgerCompanyCodeCrcyRoles.Ledger,
  @ObjectModel.foreignKey.association: '_CompanyCode'
  key I_LedgerCompanyCodeCrcyRoles.CompanyCode,

  key I_Datefunction.DateFunction,
  I_LedgerCompanyCodeCrcyRoles.FiscalYearVariant, 
//  I_Datefunction.DateFunctionType,


  cast( Date1.FiscalYear as fis_ryear_from_no_conv ) as FromFiscalYear,
  cast( Date2.FiscalYear as fis_ryear_to_no_conv )   as ToFiscalYear,
//  Can be added later, new GFN required

//  Date1.FiscalYearQuarter as FromFiscalYearQuarter,

//  Date2.FiscalYearQuarter as ToFiscalYearQuarter,

  cast(case when I_FiscalDateFunctionValue.DateFunctionStartDate = Date1.FiscalYearStartDate then concat( Date1.FiscalYear, '000' )
  else Date1.FiscalYearPeriod
  end     as fins_fyearperiod  )                as FromFiscalYearPeriod,
  Date2.FiscalYearPeriod                        as ToFiscalYearPeriod,
//  Can be added later, new GFN required  

//  Date1.FiscalYearWeek as FromFiscalYearWeek,

//  Date2.FiscalYearWeek as ToFiscalYearWeek,

  cast( case when I_FiscalDateFunctionValue.DateFunctionStartDate = Date1.FiscalYearStartDate then '00000000'
  else I_FiscalDateFunctionValue.DateFunctionStartDate 
  end   as fis_budat_from )                     as FromPostingDate,
  cast( I_FiscalDateFunctionValue.DateFunctionEndDate as fis_budat_to ) as ToPostingDate,
  
  _CompanyCode,
  _Ledger

}
where
      I_FiscalDateFunctionValue.DateFunction             = $parameters.P_DateFunction
  and I_FiscalDateFunctionValue.DateFunctionValidityDate = $session.system_date
  and I_Datefunction.DateFunctionType = '02'

//

//union all select from I_DateFunctionValue 

//    inner join   I_Datefunction on I_DateFunctionValue.DateFunction = I_Datefunction.DateFunction

//    inner join   I_FiscalCalendarDate as Date1 on I_DateFunctionValue.DateFunctionStartDate = Date1.CalendarDate

//    inner join   I_FiscalCalendarDate as Date2 on  Date1.FiscalYearVariant   = Date2.FiscalYearVariant

//                                                        and I_DateFunctionValue.DateFunctionEndDate = Date2.CalendarDate

//    inner join   I_LedgerCompanyCodeCrcyRoles    on  I_LedgerCompanyCodeCrcyRoles.FiscalYearVariant   = Date2.FiscalYearVariant

//{

//  I_LedgerCompanyCodeCrcyRoles.Ledger,

//  I_LedgerCompanyCodeCrcyRoles.CompanyCode,

//  I_LedgerCompanyCodeCrcyRoles.FiscalYearVariant, 

//

//  case when I_DateFunctionValue.DateFunctionStartDate = Date1.FiscalYearStartDate then concat( Date1.FiscalYear, '000' )

//  else Date1.FiscalYearPeriod

//  end                                           as FromFiscalYearPeriod,

//  Date2.FiscalYearPeriod                        as ToFiscalYearPeriod,

//  case when I_DateFunctionValue.DateFunctionStartDate = Date1.FiscalYearStartDate then '19000101'

//  else I_DateFunctionValue.DateFunctionStartDate 

//  end                                           as DateFunctionStartDate,

//  I_DateFunctionValue.DateFunctionEndDate as DateFunctionEndDate,

//    

//  I_Datefunction.DateFunction,

//  I_Datefunction.DateFunctionType

//

//}

//where

//      I_DateFunctionValue.DateFunction             = $parameters.P_DateFunction

//  and I_DateFunctionValue.DateFunctionValidityDate = $session.system_date    

//  and I_Datefunction.DateFunctionType = '02'