1. 程式人生 > >ABAP 使用嚮導建立TABLE CONTROL (TC 表控制元件)

ABAP 使用嚮導建立TABLE CONTROL (TC 表控制元件)

使用嚮導建立TC,主要有以下步驟,

1.定義你要在TC上顯示的列為一個數據結構,並用該結構定義內表和工作區。在建立TC前一定要啟用程式,這樣TC才能獲得定義的內表和工作區。

2.建立螢幕,轉到格式佈局,新增“表控制元件(含嚮導)”,之後按彈出的嚮導完成TC的建立。

3.在生成的螢幕裡->邏輯流,PROCESS BEFORE OUTPUT(PBO).下面定義螢幕顯示前的module,如MODULE STATUS_9000(9000是自己定義的螢幕號,下同)用來顯示自己的status。在PROCESS AFTER INPUT(PAI)下面定義自己按鈕響應的module,如 MODULE USER_COMMAND_9000。

有幾個要注意的點。

1.如要有選擇按鈕,則要在資料結構那裡定義一個CHAR欄位來標識。選擇按鈕可以在嚮導裡實現,也可後面自己新增選擇框,樣式可能不一樣。

2.如果程式先有選擇螢幕,那麼得在START-OF-SELECTION.下面call screen 9000.

3.用嚮導做好tc後,會在程式裡自動生成一些程式碼,這些程式碼以“&SPWIZARD:”開頭。主要是它自己的一些處理,如下一頁,全選等按鈕的響應,這些程式碼不要動。

 4.TC做好後,還是得自己新增一些MODULE,如PBO,PAI等,為了程式結構清晰,可以將PBO,PAI,以及用到的FUNCION都單獨拿出來放到幾個INCLUDE裡面。

下面給出一些步驟及說明。

1.資料結構,內表及工作區定義

*&---------------------------------------------------------------------*
*&資料型別宣告
*&---------------------------------------------------------------------*
TYPES: BEGIN OF ty_data,
  ZXH2 TYPE ZYHY_TABLE01-ZXH2,
  ZXM2 TYPE ZYHY_TABLE01-ZXM2,
  ZXB2 TYPE ZYHY_TABLE01-ZXB2,
  ZNL2 TYPE ZYHY_TABLE01-ZNL2,
  sel  TYPE C, "選擇框
  END OF ty_data.
*&---------------------------------------------------------------------*
*&內表和工作區宣告
*&---------------------------------------------------------------------*
DATA: it_data TYPE TABLE OF ty_data,
      it_temp TYPE TABLE OF ty_data.
DATA: wa_data TYPE ty_data.
2.下面是TC過程的一些截圖

 表控制名稱,如定義為ztc2,那麼後面一些關於該控制元件的,系統自動生成的程式碼一般會以ztc為開頭



這就是為什麼在這步之前一定要啟用程式


這裡不需要選擇SEL欄位(用於選擇),後面會有設定


“選擇列欄位” 填sel,就是用來標識選擇的一個欄位。“單個”就是隻能單選,“多重”就是能多選。


這裡就是選擇一些附加按鈕,如全選,取消全選等。


在這裡就可以定義PAI,PBO等模組放在單獨的include檔案裡,在下圖中我都放在一個程式裡了。


嚮導介紹後:


最後在選擇螢幕定義的程式碼下面新增取數程式碼即可:

START-OF-SELECTION.

  SELECT *
  INTO CORRESPONDING FIELDS OF TABLE it_data
  FROM ZYHY_TABLE01.
  CALL SCREEN 9000.

  執行輸入選擇條件後: