$ CAP中的搜索

2020-08-20 02:00发布

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

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


你好

我有一个实体集

 entity CUSTOMER_SEARCH {
     关键KUNNR:字符串;
         NAME1:字符串;  };
 

它具有一个自定义处理程序

 this.on('CUSTOMER_SEARCH',async(req)=> {
       让tx = cds.transaction(req)
       让客户= tx.run(`从KNA1选择一个不同的a.KUNNR,a.NAME1,b.PARVW a a.INUN JOIN KNVP b在a.KUNNR = b.KUNNR`上)
   
      回头客
   }
 ); 

当我对URL进行$ search时,它会提供所有记录。 我不确定是否具有处理程序是否需要单独启用。

CDS版本为3.33.1


请提出建议。

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

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


你好

我有一个实体集

 entity CUSTOMER_SEARCH {
     关键KUNNR:字符串;
         NAME1:字符串;  };
 

它具有一个自定义处理程序

 this.on('CUSTOMER_SEARCH',async(req)=> {
       让tx = cds.transaction(req)
       让客户= tx.run(`从KNA1选择一个不同的a.KUNNR,a.NAME1,b.PARVW a a.INUN JOIN KNVP b在a.KUNNR = b.KUNNR`上)
   
      回头客
   }
 ); 

当我对URL进行$ search时,它会提供所有记录。 我不确定是否具有处理程序是否需要单独启用。

CDS版本为3.33.1


请提出建议。

付费偷看设置
发送
6条回答
SAP砖家
1楼 · 2020-08-20 02:40.采纳回答

据我所知,它不能与自定义处理程序一起自动运行。 您需要自己将$ select传递给查询。 您将在传入参数" req"中找到$ select。 您需要将其从" req"中删除,并在查询的where子句中使用它。

希望这会有所帮助。

派大星 ヾ
2楼-- · 2020-08-20 02:25

您是否在本地运行 或部署到HANA数据库?

木偶小白
3楼-- · 2020-08-20 02:36

嗨Manikandan,

您使用自定义SQL查询在处理程序上编写了一个自定义。 这样,您便可以改写任何支持$ search的常规处理程序。

这意味着,您必须自己实施。

我建议使用查询API对用作视图的联接建模或在before处理程序中修改req.query。

您将在 https://cap.cloud.sap/

上找到更多信息。

最诚挚的问候,

Johannes

SC_Yao
4楼-- · 2020-08-20 02:27

已部署到HANA DB。

Doze时光
5楼-- · 2020-08-20 02:29

谢谢Wouter Lemaire 作为指导。 我修改并使用了 Thomas Jung 模糊搜索,它非常有帮助。

https://github.com/jung -thomas/cap-fuzzy-search/blob/master/srv/cat-service.js

hengyuye
6楼-- · 2020-08-20 02:35

谢谢约翰内斯。 是的,相同,现在可以正常工作。

一周热门 更多>