如何遵循@restrict中的关联?

2020-08-21 15:55发布

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

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


我想在定义服务时遵循@restrict条件内的关联。 我正在使用SQLIte,cds 3.31.2和下面列出的产品模型。

有效有效的变体如下:

 service CatalogService {
   实体产品@(限制:[{grant:'READ',其中:'currency_code = $ user.currency'}])
 ... 

我本来希望(并且文档中提出了这一建议),我可以遵循where表达式中的关联,例如 currency.code 。 否则,我需要了解CAP如何生成数据库表的技术细节。

但是,如果我尝试这样做:

实体产品@(限制:[{grant:'READ',其中:'currency.code = $ user.currency'}]])
 ... 

我得到了以下错误:

 SQLITE_ERROR:没有这样的列:localized_CatalogService_Products.currency.code 

反正这是奇怪的,因为它发生在本地表中。

在补助条件下遵循关联的正确和推荐方法是什么?

这是我的基础产品型号

使用来自'@ sap/cds/common'的{managed,Currency};
 实体产品:托管{
   密钥ID:整数;
   名称:本地化的String(100)不为null;
   stock:整数
   价格:小数(9,2);
   货币:货币;
 }
 

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

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


我想在定义服务时遵循@restrict条件内的关联。 我正在使用SQLIte,cds 3.31.2和下面列出的产品模型。

有效有效的变体如下:

 service CatalogService {
   实体产品@(限制:[{grant:'READ',其中:'currency_code = $ user.currency'}])
 ... 

我本来希望(并且文档中提出了这一建议),我可以遵循where表达式中的关联,例如 currency.code 。 否则,我需要了解CAP如何生成数据库表的技术细节。

但是,如果我尝试这样做:

实体产品@(限制:[{grant:'READ',其中:'currency.code = $ user.currency'}]])
 ... 

我得到了以下错误:

 SQLITE_ERROR:没有这样的列:localized_CatalogService_Products.currency.code 

反正这是奇怪的,因为它发生在本地表中。

在补助条件下遵循关联的正确和推荐方法是什么?

这是我的基础产品型号

使用来自'@ sap/cds/common'的{managed,Currency};
 实体产品:托管{
   密钥ID:整数;
   名称:本地化的String(100)不为null;
   stock:整数
   价格:小数(9,2);
   货币:货币;
 }
 
付费偷看设置
发送
1条回答
天桥码农
1楼-- · 2020-08-21 16:18

嗨,

不幸的是,路径表达式仅适用于SAP HANA。

最好的问候,
大卫

一周热门 更多>