odata调用-过滤条件不起作用-从PerEmail实体检索基于语言的标签

2020-08-26 18:17发布

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

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

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


大家好,

我正在尝试连接到Successfactors系统以检索电子邮件信息。 具体来说-电子邮件地址和电子邮件类型。

我要在PerPerson实体中选择几个字段,然后导航到PerEmail。

emailNav/emailTypeNav

现在要获取电子邮件类型,我需要导航至选择列表-ecEmailType,然后至picklistLabels并选择标签。 此字段的值为"业务"或"个人"。 这就是我需要的价值。 PerEmail实体中的emailType字段的值为" B"。 这不是我可以使用的东西。

当我从picklistLabels中选择标签时,它会给我3条记录。 例如:

" optionId":" 17757",

"语言环境":" en_DEBUG",

" id":" 44230",

"标签":"业务",

" picklistOption":{" __deferred":{" uri":................................. ......

" optionId":" 17757",

"语言环境":" en_US",

" id":" 44229",

"标签":"业务",

" picklistOption":{" __deferred":{" uri":................................. ......

" optionId":" 17757",

"语言环境":" fr_CA",

" id":" 44231",

"标签":"业务",

" picklistOption":{" __deferred":{" uri":................................. ......................

在odata调用中,我正在使用过滤器:

&$ filter = emailNav/emailTypeNav/picklistLabels/locale ne'en_US'

仅过滤英文值。 但是它仍然会检索标签的所有三个记录。

完整的odata调用:

https://api4preview.sapsf.com/odata/v2/PerPerson?$select=customString3,personIdExternal,emailNav/emailTypeNav/picklistLabels/label,emailNav/emailAddress&$ expand = emailNav/emailTypeNav/picklistLabels&$ filter = emailNav/emailTypeNav/picklistLabels/locale eq'en_US'&$ format = json

注意:我在邮递员中尝试了这些,但它们不起作用

4条回答
微wx笑
2020-08-26 18:59 .采纳回答

您是否正在使用OData V4? 如果没有,我认为在父级上的扩展调用触发时不支持子实体上的过滤器属性。

其次,放置一个外部断点,并调试CL_HTTP_EXT_BASE_HANDLER-> IF_HTTP_EXTENSION〜HANDLE_REQUEST传入什么值

或FM/IWBEP/FM_MGW_HANDLE_REQUEST

*另外,您的URL在不同的地方提到了ne和eq,请检查一下。

一周热门 更多>