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的原创文章,尽在:"汪子熙":