下面的CDS view使用到了@Environment.systemField这个注解,定义了两个参数#SYSTEM_LANGUAGE和#USER。
这个view从CRM物料主数据的产品抬头表COMM_PRODUCT读取product_id, product_type,以及comm_prshtext表里读取产品的描述信息,存储在字段description里。
当我们在ABAP Development Studio里预览该view时, 我们会被要求给这两个参数指定值:
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIwQjMx8CX39CXy8CXycXZpZVZnFWbpN0NlAXayR3cvwFduVWay9WLvRXdh9CXyI3Zv1UZnFWbp9zZuBnLjRTZ3UjYmlDM3UjM2gTM50SM5cTN4AjMvw1cldWYtl2XkF2bsBXdvw1bp5SdoNnbhlmauMXZnFWbp1CZh9GbwV3Lc9CX6MHc0RHaiojIsJye.png)
在Open SQL里,这两个参数会自动被分别赋以ABAP编程语言里系统变量sy-langu和sy-uname的值。
这一点我们可以通过使用事务码ST05得到的trace里得到确认:在运行时P_LANGUAGE被赋以了sy-langu的值E,而P_UNAME被赋以sy-uname的值WANGJER.
要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码: