我正在尝试使用可选参数创建一个用于消费的 CDS 视图。但目前,不支持可选参数。
是否有一种解决方法可以根据输入参数以某种方式选择要执行/使用哪些子句?
您是否检查了Consumption.defaultValue注释请查看参考文档
我只是提出了比 Dzhengo 提出的更完整的答案。您可以对某些可以由 ABAP 环境值隐式填充的参数使用参数注释。注释可以在参数@Environment.systemField
之前或之后通过关键字指定,并且应该在冒号后跟 env 字段。以下是可能的环境字段列表:
#CLIENT:
西曼特#SYSTEM_DATE:
基准#SYSTEM_TIME:
sy-uzeit#SYSTEM_LANGUAGE:
西语#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;
目前,以下是您可以用作可选参数的唯一参数。
p_date : sydatum
@<Environment.systemField:#SYSTEM_DATE
, p_language : spras
@<Environment.systemField:#SYSTEM_LANGUAGE