@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog:{
sqlViewName: 'PCALENDARENDWK',
compiler.compareFilter: true,
preserveKey: true
}
@AccessControl: {
authorizationCheck: #CHECK,
personalData.blocking: #('TRANSACTIONAL_DATA')
}
//@EndUserText.label: 'Calendar Week'
@ObjectModel: {
usageType: {
dataClass: #TRANSACTIONAL,
serviceQuality: #B,
sizeCategory: #XXL
}
}
@VDM: {
viewType: #BASIC,
private:true
}
define view 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
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_CALENDARDATE"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/