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搜索销售订单
在使用OData进行订单创建时,BuyerID的赋值逻辑如下:
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搜索销售订单
要获取更多Jerry的原创文章,请关注公众号"汪子熙":

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