1. 程式人生 > >ABAP 選擇屏幕創建標簽頁

ABAP 選擇屏幕創建標簽頁

style form lock 事件 lin start 觸發 選擇 功能

*&---------------------------------------------------------------------*
*& 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.

ABAP 選擇屏幕創建標簽頁