4

我正在尝试使用可选参数创建一个用于消费的 CDS 视图。但目前,不支持可选参数。

是否有一种解决方法可以根据输入参数以某种方式选择要执行/使用哪些子句?

4

3 回答 3

3

您是否检查了Consumption.defaultValue注释请查看参考文档

于 2017-11-14T06:43:55.137 回答
2

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

  1. #CLIENT: 西曼特
  2. #SYSTEM_DATE: 基准
  3. #SYSTEM_TIME: sy-uzeit
  4. #SYSTEM_LANGUAGE: 西语
  5. #USER: 名称

定义视图的示例代码:

@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; 
于 2019-08-07T00:15:13.460 回答
2

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

p_date : sydatum
@<Environment.systemField:#SYSTEM_DATE 
, p_language : spras 
@<Environment.systemField:#SYSTEM_LANGUAGE 
于 2017-11-13T10:20:18.247 回答