You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从参数化父CDS视图向参数化子CDS视图传递参数?

CDS视图层面实现父视图向子视图传递参数的方案

直接在CDS视图的关联定义中显式传递参数即可实现,无需通过控制器处理,具体方案如下:

核心实现思路

在父视图定义关联到子视图时,将父视图的输入参数直接传递给子视图的同名参数,确保子视图被父视图关联调用时能自动获取所需参数。

具体代码示例

父视图(列表报表用)

define view ZPARENT_VIEW with parameters
  @EndUserText.label: '父视图-列表报表数据源'
  p_bukrs : abap.char(4)
as select from bseg as b {
  key b.bukrs,
  key b.belnr,
  key b.gjahr,
  b.budat,
  // 关联子视图并传递参数
  association [1..*] to ZCHILD_VIEW( p_bukrs = @p_bukrs ) as _Child
} where b.bukrs = @p_bukrs;

子视图(对象页面用)

define view ZCHILD_VIEW with parameters
  @EndUserText.label: '子视图-对象页面数据源'
  p_bukrs : abap.char(4)
as select from bseg as b {
  key b.bukrs,
  key b.belnr,
  key b.gjahr,
  key b.buzei,
  b.dmbtr,
  b.hkont
} where b.bukrs = @p_bukrs;

关键说明

  • 确保父、子视图的参数名称和数据类型完全一致,否则会出现参数不匹配的报错。
  • 关联定义中的参数传递语法为子视图名( 参数名 = @父视图参数名 ),@符号用于引用父视图的输入参数。
  • 在Fiori应用中,当从列表页面(父视图)跳转到对象页面时,框架会自动通过关联读取子视图数据,无需额外控制器逻辑处理参数传递。

报错处理

如果之前遇到"参数未提供"或"参数不匹配"类报错,检查以下两点:

  1. 父视图关联子视图时是否显式传递了所有必填参数;
  2. 父、子视图的参数类型、长度是否完全一致。

内容的提问来源于stack exchange,提问作者graukas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 19:37:12