乐趣区

关于abap:SAP数据库表DDLOG的设计原理

Today when I am reading this SAP help, I find out this sentence:

Then I have opened the definition of table DDLOG in the system and found I cannot directly view the content of field NOTEBOOK due to its data type LRAW.

So I have chosen one table with buffer activated, and made some changes on it.

Since I can only query this table via timestamp, I cannot figure out which entry is for my change on CRMC_PROC_TYPE.

Although I can fetch the content of NOTEBOOK in ABAP code via SELECT *, I do not how to parse this raw data to extract useful information.
So I perform where used list on this table:

Then I have found two useful stuff:

(1) table buffer synchronization monitor
use report RSDBBUF3:

(2) FM SBUF_SEL_DDLOG_RECS to parse content of field DDLOG-NOTEBOOK
I wrote a simple report to use this FM:

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.

Now I can find the corresponding entry for my changes from changing parameter lt_sync_tab by table name:

要获取更多 Jerry 的原创文章,请关注公众号 ” 汪子熙 ”:

退出移动版