本篇文章為大家展示了如何查看類型為LRAW的SAP ABAP數據庫表字段的內容,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
SAP幫助文檔上提到:當一個buffered數據庫表被修改時,其buffer也會自動被更新,包括其他應用服務器實例上針對該表的buffer也會以異步的方式自動被更新。
Buffer表被修改的記錄會被寫入一個中央日志表DDLOG. Buffer的異步更新就是應用服務器定期地查看該表是否存在新的記錄而實現的。

我處于好奇,想在SE16里查看DDLOG的記錄長什么樣,發現notebook這個字段的類型為LRAW:

為了做測試,我選擇了一個buffer表,CRMC_PROC_TYPE, 往里面寫入了一些數據:

然后SE16,找不到我剛才插入的記錄,記載在這張表的什么地方了:

我當然可以用SELECT * 把包括notebook字段在內的所有數據都讀取到ABAP內表里,但是我不知道如何解析類型為LRAW的字段,所以讀出來也沒用。
我國有句古話:毒蛇出沒之處,七步之內必有解藥。同樣,DDLOG這張表存儲的數據,如果沒有對應的讀取API,那么這些數據也毫無存在的價值。
所以對DDLOG執行where used list操作,必定可以找到讀取該表的API.

果然找到了一些有用的函數和類:

一些和這個DDLOG數據庫表有關的操作和工具:
ABAP數據庫表buffer同步監控工具RSDBBUF3

解析DDLOG-NOTEBOOK字段的函數:SBUF_SEL_DDLOG_RECS
用法如下:
DATA: lt_sync_tab TYPE sync_tab_t, lv_tstamp_from TYPE ddlog-timestamp, lv_tstamp_to TYPE ddlog-timestamp. lv_tstamp_from = '20160621061955'. lv_tstamp_to = '20160623000000'. CALL FUNCTION 'SBUF_SEL_DDLOG_RECS' EXPORTING from_time = lv_tstamp_from to_time = lv_tstamp_to max_cnt = 10000 keep_db2_tstmp = 'X' CHANGING sync_tab = lt_sync_tab. SORT lt_sync_tab BY tabname.
使用這個函數,就能查到我之前修改數據庫表CRMC_PROC_TYPE后自動寫入表DDLOG的記錄了。

上述內容就是如何查看類型為LRAW的SAP ABAP數據庫表字段的內容,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。