如何使用代码创建和读取 SAP CRM 订单的 Text 数据
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:
- 点赞
- 收藏
- 关注作者
评论(0)