ABAP CDS中基于日期计算的默认值

2020-09-12 03:39发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我复制了用于试算表的...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我复制了用于试算表的标准CDS视图,并希望对输入参数代码进行一些更改,如下面的代码片段所示,有4个日期参数:

P_FromPostingDate:默认为当月的第一天

P_ToPostingDate:默认为当天

P_ComprnFromPostingDate:<要求默认为上一年当月的第一天..本质上是P_FromPostingDate减去1年>

P_ComprnToPostingDate:<要求默认为上一年当月的第一天..本质上是P_ToPostingDate 减去1年>

我该如何实现?


 @ Consumption.derivation:{lookupEntity:'I_CalendarDate',
     resultElement:" FirstDayofMonthDate",绑定:[
     {targetElement:'CalendarDate',类型:#PARAMETER,值:'P_KeyDate'}]
    }
   P_FromPostingDate:fis_budat_from,
 @ Consumption.derivation:{lookupEntity:'I_CalendarDate',
     resultElement:" CalendarDate",绑定:[
     {targetElement:'CalendarDate',类型:#PARAMETER,值:'P_KeyDate'}]
    }
   P_ToPostingDate:fis_budat_to,
   P_ComprnFromPostingDate:fis_comprn_budat_from,
   P_ComprnToPostingDate:fis_comprn_budat_to


 
3条回答
半个程序猿
2020-09-12 04:16

我已经阅读到,在版本7.51之后,您将可以在CDS视图中访问值" $ session.system_date"。 我还没有,所以我不能说这是否有用。

以下是我在CDS视图中使用的一些想法。 对于当前月份的第一天:

 DATS_ADD_DAYS(cast(concat(LEFT(vbrk.erdat,6),'01')as abap.dats),0,'UNCHANGED')

对于上一年当前月份的第一天,您可以尝试:

 DATS_ADD_MONTHS(cast(concat(LEFT(vbrk.erdat,6),'01')as abap.dats),-12,'UNCHANGED')

如您所见,这来自vbrk上的SELECT。 希望有一些变化可以为您服务。

一周热门 更多>