使用SAP Cloud SDK(NodeJS)的并排SuccessFactors扩展的复杂查询

2020-08-16 03:06发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 我正在尝试使用SAP...

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

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


大家好,

我正在尝试使用SAP Cloud SDK创建请求构建器,以调用Successfactors Odata API。 我遇到了复杂的OData查询问题,其中包括$ expand以及自定义字段。

  1. https://xxxxxxxxxxxxx/odata/v2/WfRequest(11111L)?$ expand = wfRequestUINav
    我为上述api创建了以下请求构建器:
 WfRequest.requestBuilder()
                 .getByKey(11111)
                 。选择(
                     WfRequest.WF_REQUEST_UI_NAV
                 )
                 。执行({
                     destinationName:" sfapi"
                 });
 

我收到以下错误:
通过密钥请求获取OData失败!

因此,我通过向WF_REQUEST_UI_NAV添加 TO_ 来修改代码,如下所示:

WfRequest.TO_WF_REQUEST_UI_NAV

,但仍然出现相同的错误。 所以我认为这可能是自定义字段,并更改了代码,如下所示:

 const WF_REQUEST_UI_NAV = WfRequest.customField('wfRequestUINav');

 函数getWFRequestsDetail(){
     返回WfRequest
                 .requestBuilder()
                 .getByKey(11111)
                 。选择(
                     WF_REQUEST_UI_NAV
                 )
                 。执行({
                     destinationName:" sfapi"
                 });
 }
 

我得到以下输出,但没有得到扩展的结果

 {
   " wfRequestUINav":{
     " __deferred":{
       " uri":" https://api12preview.sapsf.eu/odata/v2/WfRequest(11111L)/wfRequestUINav"
     }
   }
 }
 

任何人都可以帮助解决此问题吗?

感谢与问候,

Harish

5条回答
大道至简
2020-08-16 03:51

感谢附加edmx文件,我们将仔细研究一下并回复给您! 关于记录错误:execute函数返回一个Promise,因此您要么必须通过catch函数注册一个回调来记录错误,要么需要添加一个wait并使整个函数异步。 因此:

 ... 
.execute({ destinationName:" sfapi" }) 。然后( ... ) .catch(错误=> {console.log(error.stack);});

或:

异步函数getWfRequestDetails(){
   尝试{
     var response =等待WfRequest ...
   } catch(e){
     console.log(e.stack);
   } ... 

顺便说一句,我不确定如果将整个错误对象交给console.log会发生什么。 如果传递error.stack,则肯定会记录整个堆栈跟踪。

一周热门 更多>