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:


更多Jerry的原创文章,尽在:"汪子熙":