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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/i042416/article/details/85327424

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

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

在这里插入图片描述

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

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

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

经过挑选,我选择了这个标准字段:External Reference
在这里插入图片描述
其绑定到UI模型上的字段为:ExtReferenceBuyerID

在这里插入图片描述
绑定到Business object上的字段为BuyerID:
在这里插入图片描述
在使用OData进行订单创建时,BuyerID的赋值逻辑如下:
在这里插入图片描述
通过这个url可以查询所有external reference维护成指定值的销售订单:
https://jerry.c4c.saphybriscloud.cn/sap/c4c/odata/cust/v1/zjerrysalesorder/CustomerQuoteCollection?$filter=BuyerID eq ‘1042416’

在这里插入图片描述
要获取更多Jerry的原创文章,请关注公众号"汪子熙":

猜你喜欢

转载自blog.csdn.net/i042416/article/details/85327424