zoukankan      html  css  js  c++  java
  • CDS view注解解析

    下面的CDS view使用到了@Environment.systemField这个注解,定义了两个参数#SYSTEM_LANGUAGE和#USER。

    这个view从CRM物料主数据的产品抬头表COMM_PRODUCT读取product_id, product_type,以及comm_prshtext表里读取产品的描述信息,存储在字段description里。

    
    @AbapCatalog.sqlViewName: 'zprdtext' @AbapCatalog.compiler.compareFilter: true @AccessControl.authorizationCheck: #CHECK 
    @EndUserText.label: 'Jerry product description'  
    define view Zproductdescription with parameters @Consumption.hidden: true 
    @Environment.systemField: #SYSTEM_LANGUAGE P_Language : syLangu, 
    @Consumption.hidden: true 
    @Environment.systemField : #USER p_uname : syst_uname as select from comm_product as product inner join comm_prshtext as _text on product.product_guid = _text.product_guid { 
    key product.product_id, 
    product.product_type, 
    _text.short_text as description } 
    where product.upname = :p_uname and _text.langu = :p_Language
    
    

    当我们在ABAP Development Studio里预览该view时, 我们会被要求给这两个参数指定值:

    在Open SQL里,这两个参数会自动被分别赋以ABAP编程语言里系统变量sy-langu和sy-uname的值。

    
    data: lt_result TYPE TABLE OF Zproductdescription. 
    SELECT * FROM Zproductdescription INTO TABLE @lt_result .
    
    

    这一点我们可以通过使用事务码ST05得到的trace里得到确认:在运行时P_LANGUAGE被赋以了sy-langu的值E,而P_UNAME被赋以sy-uname的值WANGJER.

    要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:

  • 相关阅读:
    Community Server(CS)是一个非常优秀的Asp.net开源软件
    乐在其中设计模式(C#)
    VSTO+WinForm+WebService+WCF+WPF示例
    系出名门 Android 系列文章索引
    DataTable 和List 相互转换
    C#异步TCP通讯类库FlyTcpFramework
    WCF+BizTalk开发系列
    精通MVC 3 框架
    我对架构的理解
    DataTable转换成IList
  • 原文地址:https://www.cnblogs.com/sap-jerry/p/8468983.html
Copyright © 2011-2022 走看看