把 ABAP CDS View Entity 的 session_variable 讲透:从 $session 语法到 Clean Core 设计实践
在做ABAP CDS建模时,很多开发者都会碰到一种很有代表性的需求:我想在CDS View Entity里直接拿到当前登录用户、当前客户端、当前语言、当前系统日期,甚至当前用户的时区与用户本地日期。表面上看,这只是一个取上下文值的小问题;可一旦把场景放到S/4HANA、RAP、OData、Fiori、ABAP environment on SAP BTP这些真实项目里,这个能力就会直接影响数据模型是否足够简洁、是否可复用、是否符合Clean Core原则。SAP 官方文档把这套机制定义为session_variable,它是在CDS View Entity的SELECT语句操作数位置中使用的一类会话变量。(SAP Help Portal)
从本质上说,session_variable是数据库当前会话上下文的一部分。SAP 官方把它描述为当前数据库的全局变量,从技术视角看,它和ABAP<
