P_MarketDataReportingPeriod

DDL: P_MARKETDATAREPORTINGPERIOD SQL: PMDREPPERIOD Type: view COMPOSITE Package: FTR_MDM_CORE

Reporting Dates group

P_MarketDataReportingPeriod is a Composite CDS View that provides data about "Reporting Dates group" in SAP S/4HANA. It reads from 11 data sources and exposes 22 fields with key fields CalendarDate, CalendarDateasCalendarDate, P_KeyDate, CalendarDateasCalendarDate, P_KeyDate. Part of development package FTR_MDM_CORE.

Data Sources (11)

SourceAliasJoin Type
I_CalendarDate CalendarDate from
I_CalendarDate CalendarDate union_all
I_CalendarDate CalendarDate union_all
I_CalendarDate CalendarDate union_all
I_CalendarDate CalendarDate union_all
I_CalendarDate CalendarDate union_all
I_CalendarDate CalendarDate union_all
I_CalendarDate CalendarDate union_all
I_CalendarDate CalendarDate union_all
I_CalendarDate CalendarDate union_all
I_CalendarDate CalendarDate union_all

Parameters (1)

NameTypeDefault
P_KeyDate vdm_v_end_date

Annotations (9)

NameValueLevelField
AbapCatalog.sqlViewName PMDREPPERIOD view
ClientHandling.algorithm #SESSION_VARIABLE view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #NOT_REQUIRED view
VDM.viewType #COMPOSITE view
ObjectModel.usageType.serviceQuality #B view
VDM.private true view
AbapCatalog.preserveKey true view
ObjectModel.representativeKey MarketDataReportingPeriod view

Fields (22)

KeyFieldSource TableSource FieldDescription
KEY CalendarDate I_CalendarDate CalendarDate
KEY CalendarDateasCalendarDate
KEY P_KeyDate
5
CalendarDateasCalendarDate
KEY CalendarDateasCalendarDate
KEY P_KeyDate
1
CalendarDateasCalendarDate
KEY CalendarDateasCalendarDate
KEY P_KeyDate
3
CalendarDateasCalendarDate
KEY CalendarDateasCalendarDate
KEY P_KeyDate
6
CalendarDateasCalendarDate
KEY CalendarDateasCalendarDate
KEY P_KeyDate
12
CalendarDateasCalendarDate
KEY MarketDataReportingPeriod
@AbapCatalog.sqlViewName: 'PMDREPPERIOD'
@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@VDM.viewType: #COMPOSITE
@ObjectModel.usageType.serviceQuality: #B
@VDM.private:true
@AbapCatalog.preserveKey:true 
@ObjectModel.representativeKey: 'MarketDataReportingPeriod'

define view P_MarketDataReportingPeriod 
  with parameters
    @Environment.systemField: #SYSTEM_DATE
    P_KeyDate                 : vdm_v_end_date


    // 1_D: key date

    as select from I_CalendarDate as CalendarDate
        { key CalendarDate.CalendarDate as CalendarDate,
          key '1_D' as MarketDataReportingPeriod }
        where CalendarDate.CalendarDate = $parameters.P_KeyDate

    // 5_D: last 5 days

  union all
    select from I_CalendarDate as CalendarDate
      { key CalendarDate.CalendarDate as CalendarDate,
        key '5_D' as MarketDataReportingPeriod }
      where CalendarDate.CalendarDate < $parameters.P_KeyDate
        and CalendarDate.CalendarDate >= DATS_ADD_DAYS($parameters.P_KeyDate, - 5, 'NULL')
    // 5_D: key date

    union all
      select from I_CalendarDate as CalendarDate
        { key CalendarDate.CalendarDate as CalendarDate,
          key '5_D' as MarketDataReportingPeriod }
        where CalendarDate.CalendarDate = $parameters.P_KeyDate

  union all
    // 1_M: each Monday + Wednesday + Friday of last month

    select from I_CalendarDate as CalendarDate
      { key CalendarDate.CalendarDate as CalendarDate,
        key '1_M' as MarketDataReportingPeriod }
      where CalendarDate.CalendarDate < $parameters.P_KeyDate
        and CalendarDate.CalendarDate >= DATS_ADD_MONTHS($parameters.P_KeyDate, - 1, 'NULL')
        and (   CalendarDate.WeekDay = '1'
             or CalendarDate.WeekDay = '3'
             or CalendarDate.WeekDay = '5' )
    // 1_M: key date

    union all
      select from I_CalendarDate as CalendarDate
        { key CalendarDate.CalendarDate as CalendarDate,
          key '1_M' as MarketDataReportingPeriod }
        where CalendarDate.CalendarDate = $parameters.P_KeyDate
  
  union all
    // 3_M: each Monday of last 3 month

    select from I_CalendarDate as CalendarDate
      { key CalendarDate.CalendarDate as CalendarDate,
        key '3_M' as MarketDataReportingPeriod }
      where CalendarDate.CalendarDate < $parameters.P_KeyDate
        and CalendarDate.CalendarDate >= DATS_ADD_MONTHS($parameters.P_KeyDate, - 3, 'NULL')
        and CalendarDate.WeekDay = '1'
    // 3_M: key date

    union all
      select from I_CalendarDate as CalendarDate
        { key CalendarDate.CalendarDate as CalendarDate,
          key '3_M' as MarketDataReportingPeriod }
        where CalendarDate.CalendarDate = $parameters.P_KeyDate
  
  union all
    // 6_M: every 1st and 15th of last 6 month

    select from I_CalendarDate as CalendarDate
      { key CalendarDate.CalendarDate as CalendarDate,
        key '6_M' as MarketDataReportingPeriod }
      where CalendarDate.CalendarDate < $parameters.P_KeyDate
        and CalendarDate.CalendarDate >= DATS_ADD_MONTHS($parameters.P_KeyDate, - 6, 'NULL')
        and (   CalendarDate.CalendarDay = '01'
             or CalendarDate.CalendarDay = '15' )
    // 6_M: key date

    union all
      select from I_CalendarDate as CalendarDate
        { key CalendarDate.CalendarDate as CalendarDate,
          key '6_M' as MarketDataReportingPeriod }
        where CalendarDate.CalendarDate = $parameters.P_KeyDate
  
  union all
    // 1_Y: every 1st of last 12 month

    select from I_CalendarDate as CalendarDate
      { key CalendarDate.CalendarDate as CalendarDate,
        key '1_Y' as MarketDataReportingPeriod }
      where CalendarDate.CalendarDate < $parameters.P_KeyDate
        and CalendarDate.CalendarDate >= DATS_ADD_MONTHS($parameters.P_KeyDate, - 12, 'NULL')
        and (   CalendarDate.CalendarDay = '01'
             or CalendarDate.CalendarDay = '15' )
    // 1_Y: key date

    union all
      select from I_CalendarDate as CalendarDate
        { key CalendarDate.CalendarDate as CalendarDate,
          key '1_Y' as MarketDataReportingPeriod }
        where CalendarDate.CalendarDate = $parameters.P_KeyDate

//    as select from I_CalendarDate as CalendarDate 

//    {

//      key cast(CalendarDate.CalendarDate as vdm_v_key_date) as CalendarDate,

//      key cast('5_D' as ftr_md_reportingperiod ) as MarketDataReportingPeriod

//         

//    } where CalendarDate.CalendarDate >= DATS_ADD_DAYS($parameters.P_KeyDate,-5,'NULL') and 

//    CalendarDate.CalendarDate <= $parameters.P_KeyDate   // 5 days

//        

// union all 

// 

//   select from I_CalendarDate as CalendarDate

//    {

//      key cast(CalendarDate.CalendarDate as vdm_v_key_date) as CalendarDate,

//      key cast('1_M' as ftr_md_reportingperiod ) as MarketDataReportingPeriod

//         

//    } where CalendarDate.CalendarDate >= DATS_ADD_MONTHS($parameters.P_KeyDate,-1,'NULL') and 

//    CalendarDate.CalendarDate <= $parameters.P_KeyDate // 1 Month

//    and    

//      (

//             CalendarDate.WeekDay           = '1'

//        or   CalendarDate.WeekDay           = '3' 

//        or   CalendarDate.WeekDay           = '5' 

//        or   CalendarDate.CalendarDate           = $parameters.P_KeyDate

//      )   

//        

//  union all 

// 

//   select from I_CalendarDate as CalendarDate

//    {

//      key cast(CalendarDate.CalendarDate as vdm_v_key_date) as CalendarDate,

//      key cast('3_M' as ftr_md_reportingperiod ) as MarketDataReportingPeriod

//         

//    } where CalendarDate.CalendarDate >= DATS_ADD_MONTHS($parameters.P_KeyDate,-3,'NULL') and 

//    CalendarDate.CalendarDate <= $parameters.P_KeyDate //3 Months    

//      and (

//                 CalendarDate.WeekDay           = '1'

//            or   CalendarDate.CalendarDate           = $parameters.P_KeyDate

//          )

//  union all 

// 

//   select from I_CalendarDate  as CalendarDate

//    {

//      key cast(CalendarDate.CalendarDate as vdm_v_key_date) as CalendarDate,

//      key cast('6_M' as ftr_md_reportingperiod ) as MarketDataReportingPeriod   

//    } where CalendarDate.CalendarDate >= DATS_ADD_MONTHS($parameters.P_KeyDate,-6,'NULL') and 

//    CalendarDate.CalendarDate <= $parameters.P_KeyDate  //6 Months    

//      and(

//             CalendarDate.CalendarDay       = '01'

//        or   CalendarDate.CalendarDay       = '15'     

//        or   CalendarDate.CalendarDate           = $parameters.P_KeyDate )  

//        

//  union all 

//   select from I_CalendarDate  as CalendarDate

//    {

//      key cast(CalendarDate.CalendarDate as vdm_v_key_date) as CalendarDate,

//      key cast('1_Y' as ftr_md_reportingperiod ) as MarketDataReportingPeriod  

//    } where       

//        CalendarDate.CalendarDate >= DATS_ADD_MONTHS($parameters.P_KeyDate,-12,'NULL') and 

//    CalendarDate.CalendarDate <= $parameters.P_KeyDate  //1 Year  

//      and(  

//             CalendarDate.CalendarDay       = '01'

//        or   CalendarDate.CalendarDay       = '15'     

//        or   CalendarDate.CalendarDate           = $parameters.P_KeyDate 

//      )