P_CALENDARENDWEEK

DDL: P_CALENDARENDWEEK Type: view_entity BASIC Package: CRMS4_ANALYTICS_COMMON

Calendar

P_CALENDARENDWEEK is a Basic CDS View that provides data about "Calendar" in SAP S/4HANA. It reads from 1 data source (I_CalendarDate) and exposes 10 fields. Part of development package CRMS4_ANALYTICS_COMMON.

Data Sources (1)

SourceAliasJoin Type
I_CalendarDate _Calendar from

Annotations (6)

NameValueLevelField
AccessControl.authorizationCheck #NOT_REQUIRED view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.serviceQuality #B view
ObjectModel.usageType.sizeCategory #XXL view
VDM.viewType #BASIC view
VDM.private true view

Fields (10)

KeyFieldSource TableSource FieldDescription
FirstDayOfYearDate
ShiftedCalendarDate
CalendarDate CalendarDate
YearMonth YearMonth
YearQuarter YearQuarter
CalendarWeek
numc4endasEndDateWeek
YearDay YearDay
CalendarYear CalendarYear
FirstDayOfWeekDate FirstDayOfWeekDate
@AccessControl: {
  authorizationCheck: #NOT_REQUIRED,
  personalData.blocking: #('TRANSACTIONAL_DATA')
}
//@EndUserText.label: 'Calendar Week'

@ObjectModel: {
   usageType: {
     dataClass:      #TRANSACTIONAL,
     serviceQuality: #B,
     sizeCategory:   #XXL
   }
   }
@VDM: {
  viewType: #BASIC,
  private:true
}
define view entity P_CALENDARENDWEEK
  as select from I_CalendarDate as _Calendar
{
  cast(concat(CalendarYear, '0101') as abap.dats(8))                               as FirstDayOfYearDate,
  dats_add_days(CalendarDate,365,'NULL')                                           as ShiftedCalendarDate,
  CalendarDate,
  YearMonth,
  YearQuarter,
    cast(concat('00',cast(CalendarWeek as abap.char( 4 ))) as abap.numc( 4 ))                      as CalendarWeek,
  //  cast(concat('0',(cast( cast(CalendarWeek as int4) + 52 as abap.char(12 )))) as abap.numc( 4 )) as EndDateWeek,


//  cast(cast(CalendarWeek as abap.char( 4 )) as abap.numc( 4 ) )                    as CalendarWeek,

//  cast(cast( cast(CalendarWeek as int4) + 52 as abap.char(12 )) as abap.numc( 4 )) as EndDateWeek,

  case
      when CalendarWeek > '47'
      then cast(concat( '0', cast(cast(CalendarWeek as int4) + 52 as abap.char(12))) as abap.numc(4))
      else cast(concat('00',(cast( cast(CalendarWeek as int4) + 52 as abap.char( 12 )))) as abap.numc( 4 ))
      end    as EndDateWeek,


  // cast(CalendarWeek as int4) + 52  as EndDateWeek,

  //case

  //when CalendarWeek > '0099'

  //then cast(concat('0',(cast( EndDateWeek  as abap.char(12 )))) as abap.numc( 4 ))

  //else  cast(concat('00',(cast( EndDateWeek  as abap.char(12 )))) as abap.numc( 4 ))

  //end as EndDateWeek,



  YearDay,
  CalendarYear,
  FirstDayOfWeekDate
}