ABAP用表格維護生成器維護數據sm30


ABAP用表格維護生成器維護數據sm30
 

 
1 用se11新建一個自定義數據庫表,假設表名為 ZMARA ,
 
其中數據庫字段有:
 
mandt matnr zstop ernam ersda crtime lauser ladate latime
 
客戶端(必須的,key) 物料號(key) 停用標識 創建人 創建日期 創建時間 最后修改人 最后修改日期 最后修改時間
 
其中創建人、創建日期、創建時間不需要,因為只要記錄最后修改的信息即可
 
2 進入 技術設置,如圖
 



數據類:選擇APPL0
 
大小范疇: 寫0 或者1 都可以(我認為既然是用表格維護生成器做的對話程序,數據量不會很大,所以選擇寫0就可以了)
 
緩沖 :不允許緩沖
 
緩沖類型:空
 
關鍵字段號:空
 




3 維護完技術設置之后,回到維護的界面,進入菜單:實用程序 - 表格維護生成器
 



權限組:&NC&(我認為這個和BASIS有關,在此選擇大權限)
 
權限對象 函數組 package 在維護數據字典的時候已經設定,會自動帶過來
 
維護屏幕:
 
              如果“維護類型”選擇“一步”,則“維護屏幕編號”是只需要有“概述屏幕”即可,“單一屏幕”為空
 
           如果“維護類型”選擇“兩步”,則“維護屏幕編號”中“概述屏幕”和“單一屏幕”都需要 有屏幕號
 
          對於“一步”和“兩步”的概念,自己體會
 
          對於所需要的屏幕號,則點擊工具欄上的“查找屏幕號”,選擇第一個建議的即可
 
4 創建相應的tcode
 
    進入se93 , 輸入tcode名稱
 
開始對象選擇最后一個:Transaction with parameters (parameter transaction)
 





屬性設置如圖
 



   事務:sm30
 
跳過起始屏幕:勾選
 
Inherit GUI attributes :勾選
 
5 即可進入創建的tcode進入
 

除了以上最基本的東西,還可以修改界面,寫代碼
 
     該例子設計的數據字典中創建信息相當於沒用,所以不需要顯示創建信息,具體操作:
 
         進入tcode,菜單:系統 - 狀態 - 雙擊屏幕編號 (切記不是程序名稱)
 
         進入格式界面,修改狀態,把創建信息一列刪除:先刪文本,再刪可輸入列;
 
         修改“修改信息”的可輸入狀態,設為“不可輸入”
 
         在PAI中,把不要的字段注釋掉,並在其后添加一個module
 
     MODULE set_0027_change_info ON CHAIN-REQUEST.

 
         PROCESS AFTER INPUT.
       MODULE LISTE_EXIT_COMMAND AT EXIT-COMMAND.
      MODULE LISTE_BEFORE_LOOP.
       LOOP AT EXTRACT.
          MODULE LISTE_INIT_WORKAREA.
          CHAIN.
             FIELD ZIEBBFWLZ-MATKL .
             FIELD ZIEBBFWLZ-ZSTOP .
*     FIELD ZIEBBFWLZ-ERNAM .
*     FIELD ZIEBBFWLZ-LAUSER .
             MODULE set_0027_change_info ON CHAIN-REQUEST.
            MODULE SET_UPDATE_FLAG ON CHAIN-REQUEST.
          ENDCHAIN.
          FIELD VIM_MARKED MODULE LISTE_MARK_CHECKBOX.
         CHAIN.
             FIELD ZIEBBFWLZ-MATKL .
             MODULE LISTE_UPDATE_LISTE.
          ENDCHAIN.
       ENDLOOP.
   MODULE LISTE_AFTER_LOOP.
 
在新添加的module中寫入如下代碼即可:
 
   zmara-lauser = sy-uname.
   zmara-ladate = sy-datum.
   zmara-latime = sy-uzeit.
 
注意module的位置,如果位置不對,該段程序也不會執行

1.以建立ADDON表為例,se11首先進入數據字典定義,輸入要建立的表名:

 

 

點擊create,填寫信息:

 

 

Field字段進入,選擇predefined type按鈕,如果是系統的變量,直接寫就可以了

 

 

保存,選擇相應的開發包生成request

 

 

 

2.Techincal setting里面根據需求維護相關信息。保存並激活

 

 

 

3.table maintenance generator中也需要維護。

 

 

填寫如下訊息:(&NC&一般選擇。Funtion group可以自己建立,一般z開頭的4碼)

然后是下面的一些維護信息,根據需求自己添加即可

 

 

 

填寫無誤后點擊左上角類似‘新建按鈕’的符號,進行保存,這樣,一個新的表就維護好了,可以用SM30

批量修改或添加刪除了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM