SAP CRM One Order header資料庫表幾個和時間戳相關的欄位
這些欄位為:CHANGED_AT, HEAD_CHANGED_AT和CRM_CHANGED_AT
Have a look at Order header table CRMD_ORDERADM_H and you can find there are three different times. When, where and how is each populated?
CHANGED_AT
There is a scenario that the field CHANGED_AT is changed, but HEAD_CHANGED_AT remains untouched. The common scenario is that you make some changes on order line item only, for example change the description of line item. When the change is to be persisted, a new timestamp is populated and filled to both CHANGED_AT and CRM_CHANGED_AT field.
The usage of CRM_CHANGED_AT is clearly explained in the source code.
Kindly notice the difference between changed_at from database buffer and latest value.
In line 163, the field value filled based on database buffer is overwritten with the latest data:
The purpose is, after this assignment, in line 166 we can use simple “=” to compare whether there are some other changes on ORDERADM_H besides these three fields ( since in line 163~165 we forcefully ensure the equality of them ).
Since we actually only make changes on item, so line 239 will not be executed – head_changed_at remains unchanged.
Now in line 335 the header object buffer is now changed with latest value of changed_at:
So in function module CRM_ORDER_UPDATE_TABLES_DETERM, an entry will be determined for update, which is simply because the changed_at value now in object buffer and database buffer are different. See comparison screenshot in debugger:
After the update function module is executed, the CHANGED_AT and CRM_CHANGED_AT is now persisted to header table successfully.
HEAD_CHANGED_AT
The scenario with this field involved is quite straight-forward, for example just make changes on header description. In this case HEAD_CHANGED_AT will be overwritten with CHANGED_AT, since now header object buffer and database buffer has different value for field DESCRIPTION:
要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2713956/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ODI基於源表時間戳欄位獲取增量資料時間戳
- MySQL 資料庫技巧:批次更新隨機生成的時間戳欄位MySql資料庫隨機時間戳
- SAP CRM銷售訂單UI上的欄位對應的資料庫表儲存欄位:requested start date和end dateUI資料庫
- SAP CRM One Order的事件序號產生器制事件
- SAP CRM One Order跟蹤和日誌工具CRMD_TRACE_SET
- SAP Commerce(原Hybris)的訂單處理框架和SAP CRM One Order框架框架
- SAP CRM One order裡user status和system status的mapping邏輯APP
- 我在德國做SAP CRM One Order redesign工作的心得
- [探索]在使用模型時,關於資料表欄位的一個思考?模型
- SAP CRM和Cloud for Customer的擴充套件欄位後設資料Cloud套件
- mysql資料庫時間戳函式MySql資料庫時間戳函式
- Dynamics CRM使用計算欄位自動計算兩個時間欄位的天數差
- oracle 資料庫設定表和欄位的別名Oracle資料庫
- 基於時間戳閃回資料庫時間戳資料庫
- 如何查詢SAP Fiori UI上某個欄位對應的底層資料庫表UI資料庫
- 如何使用程式碼修改SAP CRM One Order CUMULAT_H物件的值物件
- Oracle undo保留時間的幾個相關引數Oracle
- 資料庫表欄位命名規範資料庫
- 觸發器—一個表插入資料時其他欄位同步自增長欄位觸發器
- 兩個時間戳的時間差時間戳
- 織夢資料庫表結構_Dedecms資料庫表和欄位詳細介紹資料庫
- SAP物料主資料建立時間和建立個數的函式關係函式
- 動態為10g資料庫的表新增欄位,到256個欄位,hung住了?資料庫
- MySQL中修改一個資料庫下包含有某個相同欄位的所有表的欄位長度MySql資料庫
- 在 SAP MM 物料顯示介面上看到一個欄位,如何查詢哪張資料庫表的哪個欄位進行的儲存資料庫
- 向資料庫中全部表中增加一個欄位的SQL資料庫SQL
- MySQL information_schema庫中關於三個關於鎖相關表的欄位解釋彙總MySqlORM
- SAP CRM資料庫表CRMD_SRV_REFOBJ和CRMD_SRV_OSSET資料庫OBJ
- 如何檢視型別為LRAW的SAP ABAP資料庫表欄位的內容型別資料庫
- MySQL中同時存在建立和上次更新時間戳欄位解決方法淺析MySql時間戳
- Sybase資料庫空間相關資料庫
- java時間戳和PHP時間戳的轉換phptime()Java時間戳PHP
- 如何自行查詢出 SAP ABAP 標準的 OData 服務返回資料的後臺資料庫表和表欄位名稱資料庫
- MySQL-取某個欄位表中每組幾行資料方式MySql
- SAP CRM calculated欄位的實現原理講解
- SAP CRM Fiori應用如何啟用Sales Office和Sales Group兩個欄位
- SQL SERVER 資料庫查詢表和欄位資訊語句SQLServer資料庫
- 時間型別和時間戳型別時間戳