Data Remove 程序总结
Data remove是一個根據指定的PLANT刪除數據庫表數據的程序。該程序提供了刪除測試的功能,可以在刪除操作之前查看有多少條數據可以被刪除。
?
由于特定的業務需求,業務人員要根據PLANT字段在數據庫表zmvr01,zmvr02,zmvr03中刪除相應的數據,在刪除之前要查看有多少條記錄滿足刪除條件。
?
所以SAP ABAP編程人員要通過編程實現該功能,業務人員也可以通過該程序完成相應的刪除操作。
?
以下是具體的開發流程
?
需求
1.??????程序名:ZMRP_VSS_CLEANUP (需要新建)
2.??????Title :Vendor schedule sharing data cleanup
3.??????Development class: ZMM_INTF
4.??????根據Plant聲明select-option(no intervals, obligatory)
5.??????建立CheckBox –Test run (default checked )
6.??????如果test run被選中,則只顯示可能被刪除的數據的數量
7.??????如果test run沒有被選中,就根據條件到數據庫表ZMVR01, ZMVR02 &ZMVR03中刪除數據。在用戶進行刪除操作時,要彈出確認對話框讓用戶再次確認該操作。
8.??????當數據刪除后,要顯示已被刪除數據的數量
?
其實整個程序的開發邏輯比較簡單, 但是有幾個問題需要特別注意。
1.??????在SAP中新建的程序一定要為它建立一個Tansaction Code,由于業務人員沒有權限到開發環境中測試,所以他們只能通過T-code來運行程序
2.??????T-CODE的命名要滿足規范 Zxxnn (xx: 具體設計的業務模塊 例如:MM ;nn:編號:不能隨意命名,要選擇最新的編號,可以在SE93中查看)
3.??????彈出確認對話框需要調用 Function modulePOPUP_TO_CONFIRM,輸入參數為對話框顯示的一系列信息,輸出參數代表用戶的操作, 參數為1代表用戶選擇確認。
4.??????在SAP2中,報表中一定要加入指定的報表頭,需要調用自定義 funtion moduleZS_STANDARD_REPORT_HEADING. 該調用要放在TOP-OF-PAGE事件里
?
BUGSOLUTION
?
?
兩個BUG:
1.??????在程序中設置斷點后,無法正常啟動Debugger
2.??????test mode下可以成功查看需要刪除的數據數目,但是刪除操作無法成功進行
?
?
解決方案:
1.??????由于新建程序時,Status屬性設置成了system program ,在這種情況下,需要先在程序中設置斷點, 然后在commandfield(輸tcode的地方)輸入 /h, 然后在下一個屏幕中的settings選項中選擇systemdebugging,然后執行程序,這樣就可以進入debugger了。 還有一種方法就是將程序的Status類型設置成Customerproduction program。
2.??????起初的想法是,由于需要通過內表對數據庫的數據進行刪除,所以在往內表中放數據的時候,只選擇了數據庫表的主鍵字段,因為根據內表刪除數據庫數據時,系統會查看內表和數據庫表中的主鍵字段是否一致,如果一致,就會將符合的數據刪除。但是在往內表中放數據的過程中,抽取的字段寫成了 INTO TABALE ,這便導致數據不能正常導入到內表中,將關鍵字改為INTO CORRESPONDINGFIELDS OF TABLE就可以解決這個問題了。
總結
以上是生活随笔為你收集整理的Data Remove 程序总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ABAP data extract 数
- 下一篇: ABAP 面试题