使用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:49

您好丹尼斯·亨普芬

请在错误跟踪下方找到

错误:OData通过密钥请求获取失败!
     在Object.errorWithCause(C:\ MyWorkplace \ Project \ WorkerCouncilApp \ MAIN \ testextension \ srv \ node_modules \ @sap \ cloud-sdk-util \ dist \ error.js:14:20)
     在C:\ MyWorkplace \ Project \ WorkerCouncilApp \ MAIN \ testextension \ srv \ node_modules \ @sap \ cloud-sdk-core \ dist \ request-builder \ get-by-key-request-builder.js:107:90
     在processTicksAndRejections(内部/进程/task_queues.js:97:5)
 造成原因:
 错误:获取对https://api12preview.sapsf.eu/odata/v2的请求失败! 无法理解以下字符序列的API请求:字符位置编号:empWfRequestNav/*:16个无效字符:*。 有关正确的API语法和示例,请参阅https://help.sap.com/viewer/d599f15995d348a1b45ba5603e2aba9b/PRODUCTION/zh-CN。
 {" code":" ServerErrorException"," message":{" lang":" en-US"," value":"无法理解具有字符序列:empWfRequestNav/*的API请求,字符位置编号:16个无效字符:  *。有关正确的API语法和示例,请参阅https://help.sap.com/viewer/d599f15995d348a1b45ba5603e2aba9b/PRODUCTION/zh-CN。"}}
     在Object.errorWithCause(C:\ MyWorkplace \ Project \ WorkerCouncilApp \ MAIN \ testextension \ srv \ node_modules \ @sap \ cloud-sdk-util \ dist \ error.js:14:20)
     在ConstructError(C:\ MyWorkplace \ Project \ WorkerCouncilApp \ MAIN \ testextension \ srv \ node_modules \ @sap \ cloud-sdk-core \ dist \ request-builder \ request \ odata-request.js:208:29)
     在C:\ MyWorkplace \ Project \ WorkerCouncilApp \ MAIN \ testextension \ srv \ node_modules \ @sap \ cloud-sdk-core \ dist \ request-builder \ request \ odata-request.js:197:73
     在processTicksAndRejections(内部/进程/task_queues.js:97:5)
 造成原因:
 错误:请求失败,状态码为500
     在createError(C:\ MyWorkplace \ Project \ WorkerCouncilApp \ MAIN \ testextension \ srv \ node_modules \ axios \ lib \ core \ createError.js:16:15)
     在解决时(C:\ MyWorkplace \ Project \ WorkerCouncilApp \ MAIN \ testextension \ srv \ node_modules \ axios \ lib \ core \ settle.js:17:12)
     在IncomingMessage.handleStreamEnd(C:\ MyWorkplace \ Project \ WorkerCouncilApp \ MAIN \ testextension \ srv \ node_modules \ axios \ lib \ adapters \ http.js:237:11)
     在IncomingMessage.emit(events.js:322:22)
     在endReadableNT(_stream_visible.js:1187:12)
     在processTicksAndRejections(内部/进程/task_queues.js:84:21)
 

谢谢

Harish

一周热门 更多>