ABAP CDS VIEW中的可选参数?

时间:2016-08-24 06:12:52

标签: sql view sap abap hana

我正在尝试使用可选参数创建一个cds视图供消费。但是,目前不支持可选参数。是否有可用的方法以某种方式根据输入参数选择要执行/使用哪个子句?

3 个答案:

答案 0 :(得分:1)

您是否检查了 Consumption.defaultValue 注释 请查看reference document

答案 1 :(得分:0)

目前,以下是您可以选择使用的唯一参数。

p_date : sydatum
@<Environment.systemField:#SYSTEM_DATE 
, p_language : spras 
@<Environment.systemField:#SYSTEM_LANGUAGE 

答案 2 :(得分:0)

我只给出比Dzhengo提出的更完整的答案。 您可以将parameter annotations用于ABAP环境值可以隐式填充的某些参数。注释可以在参数之前或之后由关键字@Environment.systemField指定,并且在冒号之后应带有env字段。以下是可能的环境字段的列表:

  1. #CLIENT: sy-mandt
  2. #SYSTEM_DATE: sy-datum
  3. #SYSTEM_TIME: sy-uzeit
  4. #SYSTEM_LANGUAGE: sy-langu
  5. #USER: sy-uname

用于定义视图的示例代码:

@AbapCatalog.sqlViewName: 'ZVW_MARA' 
@AccessControl.authorizationCheck: #NOT_REQUIRED 
define view zvw_mara
  with parameters  
    p_matnr : matnr, 
    @Environment.systemField : #SYSTEM_DATE 
    p_datum : syst_datum, 
    p_uname : syst_uname @<Environment.systemField : #USER 
  as select from 
    mara
    { 
      key mara.matnr,  
          mara.ernam, 
          mara.ersda 
    } 
    where 
        matnr = :p_matnr 
    and ernam = :p_uname
    and ersda = :p_datum;