我最近项目有个需求,需要支持客户在微信小程序里创建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:
通过这个url可以查询所有external reference维护成指定值的销售订单:
https://jerry.c4c.saphybriscloud.cn/sap/c4c/odata/cust/v1/zjerrysalesorder/CustomerQuoteCollection?$filter=BuyerIDeq ‘1042416’