我正在尝试使用可选参数创建一个cds视图供消费。但是,目前不支持可选参数。是否有可用的方法以某种方式根据输入参数选择要执行/使用哪个子句?
答案 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字段。以下是可能的环境字段的列表:
#CLIENT:
sy-mandt #SYSTEM_DATE:
sy-datum #SYSTEM_TIME:
sy-uzeit #SYSTEM_LANGUAGE:
sy-langu #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;