如何在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
相关产品推荐
相关产品推荐

