2016-03-07 61 views
0

我想以編程方式寫入SAP自定義表。以編程方式寫入自定義表並記錄更改

如何將表條目更改到更改日誌中?

我不需要運輸。它只有一張表,沒有相應的語言相關表。

我知道定製表更改記錄到表DBTABLOG。 (這與使用更改文檔的應用程序數據更改不同)。

如何以編程方式將更改更改爲DBTABLOG?

我使用的事務SE56「生成表維護對話框」產生,似乎是這個任務有用的形式:

FORM bc_entry_log_fill至極所使用的FORM vim_bc_logs_put這會生成形式。

是否有示例如何使用這些生成的窗體而不生成對話框?

+0

你是什麼意思下自定義故事:與'APPL2'數據類表或手動創建的表? – Suncatcher

+0

您打算根據您提交的更改填寫DBTABLOG,或者您想閱讀它嗎? – Suncatcher

+0

我想以編程方式更改(=更改,插入,刪除行)具有'APPL2'類的表時填充DBTABLOG。 –

回答

1

首先,您應該瞭解一下SAP的日誌記錄概念。登錄SAP分爲業務對象記錄和表格記錄,我們稱之爲技術。我們沒有考慮到應用程序日誌記錄(SLG1),並只談論表格數據。 業務記錄由變更文件(SCDO)提供,技術記錄(表格)由標準工具(SCU3)提供。

  • 變化的文檔用於記錄自定義業務對象(但登錄標準的對象是也可以通過預定義的CD對象)。它通過更改文檔對象和相應的FM來實現。
  • 技術表記錄或簡單地記錄旨在跟蹤任何表中的變化,字面上任何。它在系統設置中設置,日誌存儲在DBTABLOG表中。

您可以啓用任何表(包括自定義的)這樣記錄:

  1. 確保複選框日誌數據的變化表設置中啓用。可以在表格的技術設置頁面中檢查。
  2. rec/client參數(RZ11 tcode)設置爲您要跟蹤更改的客戶端號碼。如果要爲所有客戶端啓用日誌記錄,請在那裏設置ALL值(不推薦!)。
  3. 重新啓動應用程序服務器。

回答您的特定問題:
不需要用於填充DBTABLOG特殊的外長或方法。不管它們是如何製作的,都會記錄更改:通過維護視圖,編程或通過手動編輯。 您不需要任何特殊的操作來填充此表,並且您可以通過任何您喜歡的方式(編寫自己的報告,創建視圖或其他)來讀取存儲的記錄。要注意的

其他幾個要點:

  • 定製表格記錄by default
  • should differentiate通過交付功能自定義表格和通過數據類別定製表格,即APPL02。 第一個被稱爲組織和定製數據而第二個被稱爲定製表本身。
    傳遞定製表稱爲自定義,因爲它們在更新和升級過程中不會被傳輸。它們由客戶維護。
    數據類自定義表稱爲自定義表,因爲它們存儲在數據庫中的客戶名稱空間中,此類命名的主要原因是它們的物理表示。
    以前的項目符號特別適用於交貨類自定義表。
  • 特定定製表的日誌數據也可以在SPRO交易中通過查看>>轉至 >>更改日誌。您應該事先選擇您想要查看日誌的SPRO節點。
相關問題