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,回車,即提示,點擊執行(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.