代码部分
*&------------------------------------------------------------* *&程序名:YH032201 * *&程序描述: 选择屏幕多标签页 * *&创建人: 银河舰队 * *&创建时间: * *&------------------------------------------------------------* REPORT yh032201."NO STANDARD PAGE HEADING "LINE-SIZE 80 "LINE-COUNT 65(0) "MESSAGE-ID 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 5 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 = '第一页'. button2 = '第二页'. button3 = '第三页'. 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.