探索 HANA 上的 ABAP [3]:带参数的 CDS View

2021-11-07 22:27发布


          点击此处--->   EasySAP.com 群内免费提供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 视图的全部内容。



赞赏支持