ABAP 選擇屏幕創建標簽頁


*&---------------------------------------------------------------------*
*& Report  ZTEST_TAB
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  ZTEST_TAB.
TABLES MARA.
                                                             "定義子屏幕 100
SELECTION-SCREEN BEGIN OF SCREEN 100 AS SUBSCREEN.
SELECT-OPTIONS: S_FG1 FOR MARA-MATNR.
SELECTION-SCREEN END OF SCREEN 100.

SELECTION-SCREEN BEGIN OF SCREEN 200 AS SUBSCREEN.
SELECT-OPTIONS: S_FG2 FOR MARA-MATNR.
SELECTION-SCREEN END OF SCREEN 200.

SELECTION-SCREEN BEGIN OF SCREEN 300 AS SUBSCREEN.
SELECT-OPTIONS: S_RAW FOR MARA-MATNR.
SELECTION-SCREEN END OF SCREEN 300.

"定義一個TAB空間, 取名為MYTAB, 控件高2行, 共分為三個頁簽.
"三個頁簽的功能代碼分別為push1, push2, push3.
SELECTION-SCREEN: BEGIN OF TABBED BLOCK MYTAB FOR 2 LINES,
   TAB (25) BUTTON1 USER-COMMAND PUSH1,
   TAB (25) BUTTON2 USER-COMMAND PUSH2,
   TAB (25) BUTTON3 USER-COMMAND PUSH3,
END OF BLOCK MYTAB.

"為TAB控件分配初始化值

INITIALIZATION.
   BUTTON1 = TEXT-010.
   BUTTON2 = TEXT-020.
   BUTTON3 = TEXT-030.
   MYTAB-PROG = SY-REPID.
   MYTAB-DYNNR = 100.

   "為控件頁簽單擊事件, 選擇不同頁簽顯示不同子屏幕.

AT SELECTION-SCREEN.
   CASE SY-UCOMM.
     WHEN 'PUSH1'.
       MYTAB-DYNNR = 100.
       MYTAB-ACTIVETAB = 'BUTTON1'.
     WHEN 'PUSH2'.
       MYTAB-DYNNR = 200.
       MYTAB-ACTIVETAB = 'BUTTON2'.
     WHEN 'PUSH3'.
       MYTAB-DYNNR = 300.
       MYTAB-ACTIVETAB = 'BUTTON3'.
   ENDCASE.

   "處理各個屏幕的觸發

START-OF-SELECTION.
   IF MYTAB-DYNNR = 100.
*    PERFORM GET_FG1.
   ELSEIF MYTAB-DYNNR = 200.
*    PERFORM GET_FG2.
   ELSEIF MYTAB-DYNNR = 300.
*    PERFORM GET_MATNR.
   ENDIF. 

 


免責聲明!

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



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