SAP Cloud for Customer里Sales Order和Sales Quote的建模方式

举报
Jerry Wang 发表于 2021/12/31 22:15:18 2021/12/31
【摘要】 SAP Cloud for Customer的Sales工作中心里有Sales Quote和Sales Order两个视图,一个用于销售报价单,另一个用于销售订单。流程上是先有报价单 ,报价单是一份OFFER,并不具备法律效力,只有在生成销售订单后,即买卖双方都对报价单上的内容进行一些协商后,达成一致生成的最终订单,才具有法律效力。现在我需要搞清楚Sales Order这个视图的UI是基于哪...

SAP Cloud for Customer的Sales工作中心里有Sales Quote和Sales Order两个视图,一个用于销售报价单,另一个用于销售订单。

流程上是先有报价单 ,报价单是一份OFFER,并不具备法律效力,只有在生成销售订单后,即买卖双方都对报价单上的内容进行一些协商后,达成一致生成的最终订单,才具有法律效力。

现在我需要搞清楚Sales Order这个视图的UI是基于哪个Business object创建的。

SAP C4C的UI都是基于MVC pattern设计的,首先在Chrome开发者工具里找到UI的模型名称:/BYD_COD/SalesOnDemand/SalesOrder/UI/COD_SALESORDER_TI.TI.uicomponent

到cloud Application Studio的UI Designer里打开这个UI 模型,在Data model区域找到Business object的名称为CustomerQuote,这就有点怪了,我起初以为是Sales Order。

后来在CustomerQuote这个BO上发现一个字段叫做TypeCode,才知道Sales Order和Sales Quote这两个业务模型底层的技术模型都是共享CustomerQuote这个BO,可以通过TypeCode来区分。

typecode为30,代表这是个Sales Quote:

typecode为2059代表是一个Sales Order:

SAP Cloud for Customer销售订单External Note的建模细节

SAP Cloud for Customer的销售订单创建页面里,我们可以给一个订单维护External Note,当这个订单同步到S/4HANA生成对应的生产订单后,这个note可以作为备注提示生产工人。

它的建模逻辑是:

首先进入调试模式,查看到这个字段绑定到UI模型的TextCollection/CustomerInformation上

然后进入Cloud Application Studio,找到UI模型这个字段,查看发现它又绑定到了BO的TextByTextTypeCodeAndLanguageCode.

这里不难猜测出,SAP C4C BO上支持多种类型的note,通过typecode区分。

那么我怎么知道External Note对应的typecode的值呢?这个好办,在系统里维护一条带有External note数据的销售订单,比如这条:

然后通过OData读取这条销售订单,OData url如下:

https://jerry.sap/c4c/odata/cust/v1/zjerrysalesorder/CustomerQuoteCollection(‘00163E7209B31EE98297C038F2A3FDDC’)/CustomerQuoteText

响应里包含的字段TypeCode的值10024就是External Note的type code。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。