点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
在这篇文章中,您将学习使用参数创建和使用 CDS 视图。
创建带有参数的 CDS 视图以将输入传递给 CDS 视图。您可以将此参数与选择屏幕参数进行比较。多个参数,但是在选择屏幕上没有类似于选择选项的选项。
1. 使用模板“使用参数定义视图”创建新的数据定义
带参数的CDS View
@AbapCatalog.sqlViewName: 'ZJP_PARAMETER' @AccessControl.authorizationCheck: #NOT_REQUIRED @EndUserText.label: 'Parameters' define view zjp_cds_parameters with parameters iv_country_from : abap.char(3), iv_country_to : land1, @Environment.systemField: #SYSTEM_DATE iv_date : abap.datsas select from spfli { key carrid as Carrid, key connid as Connid, :iv_date as CurrentDate, countryfr as Countryfr, cityfrom as Cityfrom, countryto as Countryto, cityto as Cityto, fltime as Fltime } where countryfr = $parameters.iv_country_from and countryto = :iv_country_to
笔记
在视图名称后,添加'带参数'关键字
参数定义为逗号分隔列表
参数类型可以是预定义的 ABAP 类型或数据元素。CDS 的预定义 ABAP 类型与 ABAP 数据字典不同,可以使用输入帮助(Ctrl + Space)
可以使用注释分配默认值 – @Environment.systemField: #SYSTEM_DATE
仅当分配了默认值时,参数才是可选的。我们只能使用系统字段,例如#SYSTEM_DATE。可能的值如下。
参数可以按原样用于选择字段列表或用于计算,并且必须为此类字段使用别名
参数可用于 where 条件
参数地址为:<parameter_name>或$parameters.<parameter_name>
Output
当执行带有参数的视图时,会出现一个弹出窗口,可以在其中输入参数。除非指定了默认值,否则所有参数都是强制性的。
输入参数并单击确定以获取输出。
How to consume CDS with parameters from ABAP?
FROM <CDSViewName>( <parameter1> = 'Value1' , <parameter1> = 'Value2' , ... )
Pass the parameters after the CDS View name in the FROM clause in closed round brackets with a comma separated list.
SELECT * FROM zjp_cds_parameters( iv_country_from = 'US', iv_country_to = 'DE', iv_date = '20201201' ) INTO TABLE @DATA(flights). IF sy-subrc EQ 0. cl_demo_output=>display( flights ). ENDIF.
结果与使用相同参数直接执行 CDS 视图匹配。日期与系统日期不同,用于证明参数也可以写入输出。
这就是带参数的 CDS 视图的全部内容。