以下CDS视图使用@Environment.systemField注解,定义了两个参数#SYSTEM_LANGUAGE和#USER。该视图从CRM物料主数据的产品头表COMM_PRODUCT的comm_prshtext表中读取product_id、product_type、产品描述信息,存储在字段description中。@AbapCatalog.sqlViewName:'zprdtext'@AbapCatalog.compiler.compareFilter:true@AccessControl.authorizationCheck:#CHECK@EndUserText.label:'Jerryproductdescription'用参数定义视图Zproductdescription@Consumption.hidden:true@Environment.systemField:#SYSTEM_LANGUAGEP_Language:syLangu,@Consumption.hidden:true@Environment.systemField:#USERp_uname:syst_unameasselectfromcomm_productasproductinnerjoincomm_prshtextas_textonproduct.product_guid=_text.product_guid。_text.short_textasdescription}whereproduct.upname=:p_unameand_text.langu=:p_Language当我们在ABAPDevelopmentStudio中预览视图时,会要求我们为这两个参数指定值:在OpenSQL中,这个两个参数会分别被自动赋值ABAP编程语言中的系统变量sy-langu和sy-uname的值。数据:lt_result类型表Zproductdescription。SELECT*FROMZproductdescriptionINTOTABLE@lt_result。这一点可以在使用事务代码ST05得到的trace中得到证实:P_LANGUAGE在运行时被赋值为sy-langu的E,P_UNAME被赋值为sy-unameWANGJER。
