亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 SAP Cloud SDK 對擴展實體執行篩選

使用 SAP Cloud SDK 對擴展實體執行篩選

慕桂英4014372 2022-11-30 11:15:16
所以這可能很簡單,但我不知何故無法理解它。我正在嘗試使用 SAP Cloud SDK 通過電子郵件地址查找業務合作伙伴。這是我到目前為止所擁有的:final List<BusinessPartner> businessPartners = new DefaultBusinessPartnerService()                        .getAllBusinessPartner()                        .select(BusinessPartner.BUSINESS_PARTNER,                                BusinessPartner.TO_BUSINESS_PARTNER_ADDRESS                                        .select(BusinessPartnerAddress.TO_EMAIL_ADDRESS                                                .select(AddressEmailAddress.SEARCH_EMAIL_ADDRESS)))                        .filter(AddressEmailAddress.SEARCH_EMAIL_ADDRESS.eq(email)) //something like this?                        .top(10)                        .execute();現在,如何對展開的實體執行篩選操作AddressEmailAddress?我想出的那個顯然沒有。我在使用流暢的 API 導航到擴展實體時遇到問題。有任何想法嗎?
查看完整描述

1 回答

?
富國滬深

TA貢獻1790條經驗 獲得超9個贊

因為我的建議對你有用。讓我將評論改寫為答案。


不幸的是,無法過濾SAP OData V2 服務端點的擴展實體?;赝瞬呗允侵苯硬樵儗嶓w集合 ( leaf ) 中的“已過濾”項目并運行額外的 OData 請求以遍歷到您的原始實體 ( root )。


在您的情況下,我建議直接查詢, 以通過AddressIdAddressEmailAddress解析BusinessPartnerAddress。下一步是通過businessPartner字段來解析,例如BusinessPartner


public List<BusinessPartner> getBusinessPartnersByEmail(

    @Nonnull BusinessPartnerService service,

    @Nonnull String email

)

    throws ODataException

{

    List<AddressEmailAddress> emailAddresses = service

        .getAllAddressEmailAddress()

        .filter(AddressEmailAddress.SEARCH_EMAIL_ADDRESS.eq(email))

        .execute();


    List<BusinessPartnerAddress> addresses = new LinkedList<>();

    for( AddressEmailAddress emailAddress : emailAddresses ) {

        addresses.addAll(

            service

                .getAllBusinessPartnerAddress()

                .filter(BusinessPartnerAddress.ADDRESS_ID.eq(emailAddress.getAddressID()))

                .execute());

    }


    List<BusinessPartner> businessPartners = new LinkedList<>();

    for( BusinessPartnerAddress address : addresses ) {

        businessPartners.add(service.getBusinessPartnerByKey(address.getBusinessPartner()).execute());

    }


    return businessPartners;

}


查看完整回答
反對 回復 2022-11-30
  • 1 回答
  • 0 關注
  • 105 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號