天天看点

SAP Cloud for Customer里根据External Reference搜索销售订单

我最近项目有个需求,需要支持客户在微信小程序里创建SAP Cloud for Customer销售订单。

我们知道C4C里销售订单的Owner的决定逻辑:默认是取当前登录用户作为Owner。

SAP Cloud for Customer里根据External Reference搜索销售订单

如果在微信小程序里下单,微信小程序传给C4C的是openid,此时该openid在C4C并不存在真正的Account。

我们当然可以在C4C里为每一个openid创建Account,但这种实现太重了。

有一种轻量级的实现,从C4C Sales Order的标准字段上选择一个项目不用的,拿来存储openid。

经过挑选,我选择了这个标准字段:External Reference

SAP Cloud for Customer里根据External Reference搜索销售订单

其绑定到UI模型上的字段为:ExtReferenceBuyerID

SAP Cloud for Customer里根据External Reference搜索销售订单

绑定到Business object上的字段为BuyerID:

SAP Cloud for Customer里根据External Reference搜索销售订单
SAP Cloud for Customer里根据External Reference搜索销售订单

通过这个url可以查询所有external reference维护成指定值的销售订单:

https://jerry.c4c.saphybriscloud.cn/sap/c4c/odata/cust/v1/zjerrysalesorder/CustomerQuoteCollection?$filter=BuyerID

eq ‘1042416’

SAP Cloud for Customer里根据External Reference搜索销售订单