二维码

[HANA] 带有输入参数的CDS创建及程序调用

Twilight发表于 2019-10-10 15:33Twilight 最后回复于 2019-10-10 15:33 [复制链接] 6860 0

1、cds建模代码
  1. @AbapCatalog.sqlViewName: 'ZSFLIGHTVIEW'    //必须与view名称不同
  2. @AbapCatalog.compiler.compareFilter: true
  3. @AbapCatalog.preserveKey: true
  4. @AccessControl.authorizationCheck: #NOT_REQUIRED
  5. @EndUserText.label: 'Sflight CDS view'
  6. @VDM: {
  7.     viewType: #BASIC
  8. }
  9. @ClientHandling.type: #INHERITED    //#INHERITED, #CLIENT_DEPENDENT, #CLIENT_INDEPENDENT
  10. @AbapCatalog.buffering: {
  11.     status: #ACTIVE,        //#ACTIVE , #NOT_ALLOWED, #SWITCHED_OFF
  12.     type: #GENERIC,         //#FULL , #GENERIC , #NONE , #SINGLE
  13.     numberOfKeyFields: 003  //缓冲类型必须是#GENERIC才生效,且值范围在1到key个数之间
  14. }
  15. define view ZSFLIGHT_VIEW
  16.   with parameters
  17.     p_carrid : s_carr_id,       //p_carrid类型定义,类型可以直接使用ABAP data elements
  18.     P_connid : abap.char( 4 )   //也可以使用ABAP数据基本类型定义,替代S_CONN_ID
  19.   as select from sflight
  20. {
  21.   key sflight.carrid,
  22.   key sflight.connid,
  23.   key sflight.fldate,
  24.       sflight.price,
  25.       sflight.currency,
  26.       sflight.planetype,
  27.       sflight.seatsmax,
  28.       sflight.seatsocc,
  29.       sflight.paymentsum,
  30.       sflight.seatsmax_b,
  31.       sflight.seatsocc_b,
  32.       sflight.seatsmax_f,
  33.       sflight.seatsocc_f
  34. }
  35. where
  36.       carrid = $parameters.p_carrid
  37.   and connid = $parameters.P_connid
复制代码
2、激活cds模型,查看视图中“选择条件”
CDS-parameters1.jpg

3、直接运行cds模型
CDS-parameters2.jpg
输入选择条件,查看执行结果
CDS-parameters3.jpg

4、SE38,ABAP程序调用
  1. PARAMETERS:p_carrid TYPE sflight-carrid,
  2.            p_connid TYPE sflight-connid.

  3. START-OF-SELECTION.

  4.   SELECT * FROM zsflight_view( p_carrid = @p_carrid, p_connid = @p_connid )
  5.    INTO TABLE @DATA(lt_sflight).

  6.    cl_demo_output=>display(
  7.      EXPORTING
  8.        data = lt_sflight
  9.        name = 'Flight CDS View with Input Parameters'
  10.    ).
复制代码
4、调用执行结果
CDS-parameters4.jpg

回复

使用道具 举报

快速回帖

本版积分规则
您需要登录后才可以回帖 登录 | 注册有礼

快速回复 返回顶部 返回列表