Table Maintenance - ooxxvv/MySAPnotes GitHub Wiki
- 簡易的維護 Table 資料的程式 。
- 有時會稱之為 Table Maintenance 。
- 請見 => SE11
- 若發現在 PRD 上無法使用,出現 TK 430 的訊息,請做如下設定:
- Dialog Data Transport Detalis -> no, or user, recording routine
- Compare Flag -> Automatically Adjustable
-
Event
-
05 (Creating a new entry) => 新增資料時,在按下 「Enter」後,會一筆一筆的檢查資料,並觸發此事件。
-
系統變數
-
<VIEW_NAME>_total
=> 整個 Table 的資料會放置到此 Internal table 中。 -
<table1>
=> Event 被觸發時,游標所指向的那一筆資料。 -
<table2>
=> Event 被觸發時,游標「將要」指向的那一筆資料 (下一筆資料)。 -
Screen
-
若程式有改變值,則要用
<status>-upd_flag
= 'X'. 來更新資料
- VIEW_MAINTENANCE_CALL => 在程式中呼叫 Table Maintenance 的 Function
- SE54 => 建立較複雜的 Table maintain
- 預設是 Lock 整個 Table
- VIEW_ENQUEUE => Lock 或 Unlock 都是用此 Function。
- 依條件只 Lock 特定記錄的方式有以下幾種:
- 建立 Report 來呼叫 Table Maintenance,在程式中先解掉預設的整個 Table 的 Lock Object,再以自行客製的 Lock Object 來 Lock 資料
- 建立 Report 來呼叫 Table Maintenance,但利用 VIEW_MAINTENANCE_LOW_LEVEL 這個 Function 決定要抓取那些資料到 Table Maintenance 中
- 建立 Maintenance View,並把要當作條件的欄位的 Maintenance Flag 設為「S」,並以此 View 建立 Table Maintenance。使用者在維護時系統會出現一個小視窗,要求必需輸入這個幾個欄位的條件(只能單選),這樣系統就只會 Lock 此條件下的記錄,而不是整個 Table 。
- 輸入條件只能單選,沒有像自已寫的 Selection Screen 那樣靈活彈性
- 輸入條件會出現在多筆資料的上方,和一般的 Table Maintenance 的畫面有一些不同,例如下圖: