1. 程式人生 > 其它 >如何使用程式碼建立和讀取 SAP CRM 訂單的 Text 資料

如何使用程式碼建立和讀取 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:


更多Jerry的原創文章,盡在:"汪子熙":