http://scnblogs.techweb.com.cn/frankyue2001/archives/tag/se16、se16n Frankyue
所有包涵 ‘SE16、SE16N’ 標籤的日誌SAP 直接修改表
星期日, 02月 5th, 2012
1.1.1 SAP表修改概覽
SAP中的表分為配置表和業務資料表二大類,正常來說
背景表中如果有錯誤,應該通過修改配置的方式來修改。
前台的表中如果有錯誤,應該修改相應的單據,如果該單據無法修改,應採用沖銷單據,然後重新建立新的單據的方法。
但在某些情況下,我們可能需要採用暴力手段,直接修改表,最典型的情況是在一台無數人使用、非規範管理的Ides系統中,在這個Ides系統中有時 會有一些錯誤存在,譬如本人使用的一台Ides系統中,MRP運行後,產生541的預留69014,查看該預留時,系統出現錯誤。
正常來說是通過事務代碼OMJJ來配置移動類型,但是欄位預留是無法修改的,此時只能通過暴力方法。
直接修改表最重要的原則就是,在採用暴力手段之前,務必保證修改的值是準確的,否則將導致不可預測的結果,我們首先要在另外一台SAP伺服器中查看,該欄位正確的值是什麼,可以看到該欄位正確的值為U。
1.2 修改表的方法
SAP中,具體而言,可以有以下三種方法可以直接修改表
本例中,移動類型的參數預留對應的表欄位為T156-rstyp,移動類型為541.
1.2.1 方法1:通過SE16N用&SAP_EDIT直接修改表記錄
引用來源:通過SE16N用&SAP_EDIT直接修改表記錄
SE16N,輸入表名、移動類型以及選擇相應欄位,然後輸入&sap_edit,斷行符號,即提示,點擊執行(F8)
此時系統為可編輯狀態
可以直接修改值,可以插入值、刪除值
1.2.2 方法2:事務代碼SE16進入Debug介面,直接修改表欄位值
事務代碼SE16,輸入表T156,移動類型541,執行,在中命令輸入框中,輸入/H,系統則將進入debug,出現提示
在Debug的介面中的第八十六行,設定斷點(BreakPoint),然後執行到斷點,修改欄位Code的值,從Show(顯示)修改為Edit(編輯)。
修改Code值完畢後,繼續執行,則可以修改表欄位的值,當修改晚相應的欄位值,點擊儲存
1.2.3 方法3通過ABAP程式更改表
譬如在本例中,通過以下程式,可直接修改表欄位值
REPORT zchange_t156_rstyp.
tables t156.
UPDATE T156 SET rstyp = ‘U’
WHERE bwart = ‘541′.
if sy-subrc is initial.
WRITE / ‘Field T156-RSTYP changed from ” ” to “U”‘.
else.
WRITE / ‘Field T156-RSTYP could not be changed’.
endif.
標籤: &sap_edit, Debug, SE16、SE16N
歸類於 SAP-ABAP, SAP-基礎篇 | 沒有評論
»