如何使用代码创建和读取 SAP CRM 订单的 Text 数据

举报
汪子熙 发表于 2022/07/11 13:42:03 2022/07/11
【摘要】 SAP CRM Fiori 应用里,可以为 Opportunity 等订单,维护 note.note creation 后台实现实际上很简单. GM6上创建一个note:HTTP post的request payload里就只有opp guid和user输入的note后台返回的response也只有这两个attribute:最后到webclient UI上却发现两条只读的text,类型为De...

SAP CRM Fiori 应用里,可以为 Opportunity 等订单,维护 note.

note creation 后台实现实际上很简单. GM6上创建一个note:

HTTP post的request payload里就只有opp guid和user输入的note

后台返回的response也只有这两个attribute:

最后到webclient UI上却发现两条只读的text,类型为Description和Preparation

后台实现:

直接用OPEN SQL 找当前创建的opportunity的transaction type对应的text determination 信息。

Opportunity 对应的text object type hardcode成CRM_ORDERH,changeable的属性也写死成P,因此当前的实现,通过Fiori UI创建出来的note 类型都为log ( changeable = P )

最后Opportunity OData的实现并没有call 底层的text API,而是直接call One order的modification FM,

只需要把text determination ID和待创建的note content和language传入 modify FM:

在webclient UI上看到两个不同text type的note的原因是因为backend system 配置里,指定类型为P的text的content会自动transfer到 changes = R的text里,即Description和Preparation。


note 数据的读取

没有采取 One Order API 即 CRM_ORDER_READ.

读的时候,传入的参数是Opp header的guid:

OData的read实现里,根据opp的guid直接去text header的数据库表里取所有该opp上维护的note:

Note实际的内容读取直接通过note底层的API READ_TEXT,( 而不是one order的CRM_ORDER_READ ),
传入的参数就是note的determination id,language code,text header id和hard code的text type CRM_ORDERH:


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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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