2020-09-01 11:49发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家们,
我需要使用关联调用带有输入参数的CDS视图。
我知道可以使用以下语法使用输入参数调用CDS视图:
从TestView中选择(startDate ='20150101')
但是如何为带有输入参数的CDS视图编写关联?
谢谢
Ja那教子
嗨,Puneet,
您是否要在Open SQL中使用路径表达式来访问关联的CDS视图? 如果是,则不能将输入参数传递给关联的CDS视图。
不能将实际参数传递给关联的CDS视图的输入参数。 没有可选的输入参数,这意味着这些视图当前无法在Open SQL路径表达式中使用。
问候,
Panneer
嗨 Puneet,
感谢代码示例。
好的。 可以通过CDS本身通过关联来调用CDS。
该限制目前仅来自如上所述的Open SQL。
如果您认为已经找到答案,请 正确标记。
关于
Hello Punit
请检查以下代码,然后尝试根据您的要求进行修改。
定义视图zcds_p_assc
带有参数p_distance_l:S_DISTANCE,
p_distance_o:S_DISTANCE,
p_unit:S_DISTID
从spfli中选择
将[1..1]关联为spfli_scarr
在$ projection.carrid = spfli_scarr.carrid
{键spfli.carrid,
键spfli.connid,
spfli_scarr.carrname,
spfli.cityfrom,
spfli.cityto,
spfli.distance
spfli.distid}
其中spfli.distid =:p_unit和
:p_distance_l
和:p_distance_o;
此致
Lokeswar。
您可以使用多种方式,因为不能在关联目标的定义中直接使用"参数"。 相反,您可以在关联的目标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'
@ OData.publish:true
@ EndUserText.label:"具有关联和参数的销售订单标题"
defineview ZC_ZZYX
带参数
p_matkl1: matkl ,
p_vbeln1: vbeln
从vbak中选择
与_item关联到ZC_ZYX [0 .. *]
on $ projection.vbeln = _item.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
嗨,普尼特,
zmeng
含义
然后在最终CDS视图中使用关联-
与ZC_ZYXas _item关联[0 .. *]
最多设置5个标签!
嗨,Puneet,
您是否要在Open SQL中使用路径表达式来访问关联的CDS视图? 如果是,则不能将输入参数传递给关联的CDS视图。
不能将实际参数传递给关联的CDS视图的输入参数。 没有可选的输入参数,这意味着这些视图当前无法在Open SQL路径表达式中使用。
问候,
Panneer
嗨 Puneet,
感谢代码示例。
好的。 可以通过CDS本身通过关联来调用CDS。
该限制目前仅来自如上所述的Open SQL。
如果您认为已经找到答案,请 正确标记。
关于
Panneer
Hello Punit
请检查以下代码,然后尝试根据您的要求进行修改。
定义视图zcds_p_assc
带有参数p_distance_l:S_DISTANCE,
p_distance_o:S_DISTANCE,
p_unit:S_DISTID
从spfli中选择
将[1..1]关联为spfli_scarr
在$ projection.carrid = spfli_scarr.carrid
{键spfli.carrid,
键spfli.connid,
spfli_scarr.carrname,
spfli.cityfrom,
spfli.cityto,
spfli.distance
spfli.distid}
其中spfli.distid =:p_unit和
:p_distance_l
之间的spfli.distance和:p_distance_o;
此致
Lokeswar。
嗨,Puneet,
您可以使用多种方式,因为不能在关联目标的定义中直接使用"参数"。 相反,您可以在关联的目标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中选择
与_item关联到ZC_ZYX [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
嗨,普尼特,
您可以使用多种方式,因为不能在关联目标的定义中直接使用"参数"。 相反,您可以在关联的目标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
一周热门 更多>