CDS标准视图:日期迁移视图 I_ShiftedCalendarDate
视图名称:I_ShiftedCalendarDate
视图类型:带参数的视图
时间期间偏移量单位(P_TimePeriodOffsetUnit):
D代表天
W代表周
M代表月
Q代表季
Y代表年
期间偏移量持续时间(P_TimePeriodOffsetDuration):
对应数量
** 视图代码:
点击查看代码
@AbapCatalog: {
sqlViewName: 'IFISCALDATE',
compiler.compareFilter: true,
preserveKey: true
}
@Metadata: {
ignorePropagatedAnnotations: true
}
@ObjectModel.usageType: {
serviceQuality: #D,
sizeCategory: #L,
dataClass: #CUSTOMIZING
}
@ClientHandling: {
algorithm: #SESSION_VARIABLE
}
@AccessControl: {
authorizationCheck: #NOT_REQUIRED
}
@VDM: {
viewType: #COMPOSITE
}
@EndUserText: {
label: 'Shifted Calendar Date'
}
define view I_ShiftedCalendarDate
with parameters
P_TimePeriodOffsetDuration : fins_tper_offset_duratn,
P_TimePeriodOffsetUnit : fins_tperiod_offset_unit
as select from I_CalendarDate
{
key CalendarDate,
@EndUserText.label: 'Shifted Calendar Date'
cast(
case $parameters.P_TimePeriodOffsetUnit
when 'D' then dats_add_days (CalendarDate, :P_TimePeriodOffsetDuration ,'FAIL') // Day
when 'W' then dats_add_days (CalendarDate, :P_TimePeriodOffsetDuration*7 ,'FAIL') // Week
when 'M' then dats_add_months (CalendarDate, :P_TimePeriodOffsetDuration ,'FAIL') // Month
when 'Q' then dats_add_months (CalendarDate, :P_TimePeriodOffsetDuration*3 ,'FAIL') // Quarter
when 'Y' then dats_add_months (CalendarDate, :P_TimePeriodOffsetDuration*12 ,'FAIL') // Year
else ''
end as calendardate) as ShiftedCalendarDate
视图结构
字段名称 | 技术名称 |
---|---|
日历日期 | CALENDARDATE |
日历日期 | SHIFTEDCALENDARDATE |
举例:2024年12月7日10天后的日期
本文来自博客园,作者:观兴,转载请注明原文链接:https://www.cnblogs.com/guanxing/p/18634743