You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在ABAP CDS视图中通过$session.system_date获取年首及月首日期

获取年首日期的SAP ABAP实现方法

针对你的需求,结合SAP_BASIS 756 0001、SAP_ABA 75G 0001的版本特性,以下是几种可靠的实现方式:

  • 字符串拼接法(最直接高效)
    利用DATS类型固定的YYYYMMDD格式,直接截取当前日期的年份部分,拼接年首的月日标识:

    DATA(lv_year_start) TYPE dats.
    lv_year_start = |{ $session.system_date(4) }0101|. " 自动转换为DATS类型的年首日期
    

    这种方法无需调用额外函数,完全适配你的系统版本,可直接用于物料主数据的日期筛选。

  • 标准函数构造法
    通过SAP标准函数DATE_BUILD构造年首日期,逻辑更清晰:

    DATA(lv_year) TYPE n LENGTH 4.
    lv_year = $session.system_date(4).
    
    DATA(lv_year_start) TYPE dats.
    CALL FUNCTION 'DATE_BUILD'
      EXPORTING
        year  = lv_year
        month = '01'
        day   = '01'
      IMPORTING
        date  = lv_year_start.
    
  • 扩展:获取月首日期
    若后续需要月首日期,同样用字符串拼接实现:

    DATA(lv_month_start) TYPE dats.
    lv_month_start = |{ $session.system_date(6) }01|.
    

内容的提问来源于stack exchange,提问作者sankar babu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 20:24:51