使用CDS视图中的关联将值传递给输入参数

2020-09-01 12:34发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 我试图在两个CD...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我试图在两个CDS视图之间建立关联时将值传递给输入参数。 我的情况如下:

我有与时间相关的HANA视图H1,其keyDate作为输入参数。 在H1上创建了CDS表函数CDS1,并且能够将输入传递给keyDate。 当我与另一个CDS视图CDS2建立关联时,我想将一个日期从CDS2传递到keyDate。 我可以使用以下语法传递当前日期,

associationDetails(keyDate:$ session.system_date).column1,但是在尝试从CDS2传递值时出错。

这种情况可能吗?

付费偷看设置
发送
2条回答
木偶小白
2楼-- · 2020-09-01 12:59

有方法可做 所以下面是示例:

不能在关联目标的定义中直接使用参数。 但是您可以在关联的目标CDS视图中显示字段,如下例所示。

具有参数的CDS(用作关联目标)

@ AbapCatalog.sqlViewName:'ZYX_SQL'

@ AbapCatalog.compiler.compareFilter:true

@ AbapCatalog.preserveKey:true

@ AccessControl.authorizationCheck:#CHECK

@ EndUserText.label:"带参数的销售订单商品"

defineview ZC_ZYX

withparameters p_matkl: matkl

从vbap中选择{

密钥vbeln,

关键位置,

matnr,

matkl,

zmeng

含义

}

其中matkl =:p_matkl

然后在最终CDS视图中使用关联-

@ AbapCatalog.sqlViewName:'ZZZYX'

@ AbapCatalog.compiler.compareFilter:true

@ AbapCatalog.preserveKey:true

@ AccessControl.authorizationCheck:#CHECK

@ OData.publish:true

@ EndUserText.label:"具有关联和参数的销售订单标题"

defineview ZC_ZZYX

带参数

p_matkl1: matkl ,

p_vbeln1: vbeln

从vbak中选择

与ZC_ZYXas _item关联[0 .. *]

on $ projection.vbeln = _item.vbeln

{

密钥vbeln,

_item (p_matkl :: p_matkl1).posnr,

_item (p_matkl :: p_matkl1).matkl,

_item (p_matkl :: p_matkl1).matnr,

_item (p_matkl :: p_matkl1).zmeng,

_item (p_matkl :: p_matkl1)。意味着

}

其中vbeln =:p_vbeln1

这将类似于"右"外部联接。 或者,您可以使用CDS" ZC_ZYX"视图作为Final CDS中的主要数据源。

此致

Abhijeet Kankani

一周热门 更多>