【ABAP】选择屏幕多标签页

代码部分

*&------------------------------------------------------------*
*&程序名: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-OPTIONSs_fg1 FOR mara-matnr.
SELECTION-SCREEN END OF SCREEN 100.

SELECTION-SCREEN BEGIN OF SCREEN 200 AS SUBSCREEN.
SELECT-OPTIONSs_fg2 FOR mara-matnr.
SELECTION-SCREEN END OF SCREEN 200.

SELECTION-SCREEN BEGIN OF SCREEN 300 AS SUBSCREEN.
SELECT-OPTIONSs_raw FOR mara-matnr.
SELECTION-SCREEN END OF SCREEN 300.

"定义一个TAB空间, 取名为MYTAB, 控件高2行, 共分为三个页签.
"三个页签的功能代码分别为push1, push2, push3.
SELECTION-SCREENBEGIN OF TABBED BLOCK mytab FOR LINES,
  TAB (25button1 USER-COMMAND push1,
  TAB (25button2 USER-COMMAND push2,
  TAB (25button3 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. 

 

效果

给TA打赏
共{{data.count}}人
人已打赏
ABAPSAP

【ABAP】ODATA服务发布

2021-3-16 11:39:22

ABAPSAP

【ABAP】选择屏幕折叠效果

2021-3-22 10:51:27

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索