SAP Business One语义层视图公开-导航属性,QueryService,SL JS Ext。

2020-08-21 21:09发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 我们正在尝试从直接部署在...

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

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


你好

我们正在尝试从直接部署在HANA 1.0 XS Engine中的后端(xsjs,计算视图,xsodata等)转移到SAP Business One中,并将所有内容(或至少其中的大部分内容)保留在SAP Business One中。 我正在更仔细地查看"语义层"视图的"曝光",并且有几个问题:

  1. 我可以为通过SAP B1语义层公开的计算视图定义导航属性吗? 我经常在xsodata中使用它。 使用?$ expand = xxx odata服务参数将更多实体链接在一起并在一个http调用中加载一堆数据非常有用。
  2. 作为替代方法,是使用QueryService,是否可以在公开的语义层视图上使用它? 我似乎无法使其正常工作。
  3. SL JavaScript扩展可以使用通过SAP B1语义层公开的视图吗?

谢谢

OndřejNekvinda

3条回答
当学会了学习
2020-08-21 22:05

嗨Ondrej,

您的问题还有更多答案。

1。 由于以下原因,不支持从QueryOptions调用语义层视图:

a。 视图没有键,因此将视图公开为一个实体。

b。 无法定义元数据中两个视图之间的导航关系,因此很难支持扩展。

此处的建议是基于mySalesOrderView和mySalesOrderLinesView创建第三个视图。 然后公开第三个视图,并对实列而不是虚拟键进行过滤条件。

2。 您可以作为以下示例从脚本引擎运行一些查询,这是唯一可用的选项:

 var queryOption =" $ select = CardName,CardCode&$ filter = contains(CardCode,'c1')&  $ top = 5&$ orderby = CardCode";  var slContext = new ServiceLayerContext();
 var retCaseSensitive = slContext.BusinessPartners.query(queryOption);
 var retCaseInsensitive = slContext.query(" BusinessPartners",queryOption,true); var retCaseSensitive = slContext.BusinessPartners.query(queryOption);
 var retCaseInsensitive = slContext.query(" BusinessPartners",queryOption,true); 

3。 我们无法从SL脚本引擎调用语义层视图。
如果您认为本主题对您很重要,请在对B1的持续影响中创建请求 并在此处分享它,以便其他合作伙伴可以投票。

希望它对
特立尼达有帮助。

一周热门 更多>