在网关中使用连接公开数据

2020-09-30 05:21发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我们已经创建了很多GET_ENT...

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

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


我们已经创建了很多GET_ENTITY_SET方法,可以从我们创建的视图中进行选择。

我一直遇到的困惑是处理联接。

据我所知,SAP在定义视图时仅支持内部联接。 这意味着,如果我以这种方式定义视图,而第二个表上不存在数据,我将最终丢失行。

例如,如果我要查看:

QPGR SAP表-检查目录代码组

已加入

QPGT(代码组文本)

我将语言硬编码为'E'

如果QPGT缺少英语的任何语言翻译,这些行将丢失。

我发现视图上缺少"左外部联接"非常令人沮丧。

另一个选择是不加入该表,然后编写自定义代码以检索代码组文本(如果存在)。

如果我们采用这种方法,那么KURZTEXT将不支持常规的odata过滤,这也很烦人(但也许比丢失数据更好吗?)

人们如何处理这类问题?

4条回答
葫芦娃快救爷爷
2020-09-30 05:52
这是sql的一个示例,它模拟内部联接(在视图上)的作用:

 选择
 计数(*)
 -KATALOGART,CODEGRUPPE,INAKTIV
 来自QPGR,其中MANDT = 801

 选择
 --q.KATALOGART,q.CODEGRUPPE,q.INAKTIV,t.KURZTEXT
 计数(*)
 来自QPGR q
 q.MANDT = t.MANDANT和q.KATALOGART = t.KATALOGART和q.CODEGRUPPE = t.CODEGRUPPE和t.SPRACHE ='E'上的内部联接QPGT t
 其中q.MANDT = 801

 所以我只有276/285行的英语。
 ===========
 285
 ===========
 276



 

一周热门 更多>