ALV选择屏幕选项卡

运行效果:

代码:

*&--------------------------------------------------------------------*
*& REPORT ZQMRTEST
*&--------------------------------------------------------------------*
*&
*&--------------------------------------------------------------------*
REPORT ZQMRTEST. TABLES: MARA,QALS,AFPO. DATA: BEGIN OF GT_DATA OCCURS ,
PRUEFLOS LIKE QALS-PRUEFLOS,
MSG TYPE STRING,
END OF GT_DATA. *-->ALV
TYPE-POOLS SLIS.
DATA: GS_LAYOUT TYPE SLIS_LAYOUT_ALV,
GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV. SELECTION-SCREEN BEGIN OF SCREEN AS SUBSCREEN.
PARAMETERS: P_WERKS LIKE MARC-WERKS DEFAULT '' OBLIGATORY,
P_TYPE LIKE QALS-HERKUNFT DEFAULT '' OBLIGATORY,
P_MATNR LIKE MARC-MATNR,
P_MENGE LIKE QALS-LOSMENGE,
P_KDAUF LIKE AFPO-KDAUF,
P_KDPOS LIKE AFPO-KDPOS.
SELECTION-SCREEN END OF SCREEN . SELECTION-SCREEN BEGIN OF SCREEN AS SUBSCREEN.
PARAMETERS: P_WERKS2 LIKE MARC-WERKS DEFAULT '' OBLIGATORY,
P_TYPE2 LIKE QALS-HERKUNFT DEFAULT '' OBLIGATORY,
P_MATNR2 LIKE MARC-MATNR,
P_MENGE2 LIKE QALS-LOSMENGE.
SELECTION-SCREEN END OF SCREEN . "定义一个TAB空间, 取名为MYTAB, 控件高10行, 共分为二个页签.
SELECTION-SCREEN: BEGIN OF TABBED BLOCK MYTAB FOR LINES,
TAB () BUTTON1 USER-COMMAND PUSH1,
TAB () BUTTON2 USER-COMMAND PUSH2,
END OF BLOCK MYTAB. ************************************************************************
* INITIALIZATION
************************************************************************
"为TAB控件分配初始化值
INITIALIZATION.
BUTTON1 = TEXT-.
BUTTON2 = TEXT-.
MYTAB-PROG = SY-REPID.
MYTAB-DYNNR = . ************************************************************************
* AT SELECTION SCREEN
************************************************************************
"为控件页签单击事件, 选择不同页签显示不同子屏幕.
AT SELECTION-SCREEN.
CASE SY-UCOMM.
WHEN 'PUSH1'.
MYTAB-DYNNR = .
MYTAB-ACTIVETAB = 'BUTTON1'.
WHEN 'PUSH2'.
MYTAB-DYNNR = .
MYTAB-ACTIVETAB = 'BUTTON2'.
ENDCASE. "处理各个屏幕的触发 ************************************************************************
* AT SELECTION SCREEN OUTPUT
************************************************************************
AT SELECTION-SCREEN OUTPUT. ************************************************************************
* REPORT FORMAT
************************************************************************
TOP-OF-PAGE. END-OF-PAGE.
************************************************************************
* MAIN PROCESS
************************************************************************
START-OF-SELECTION. END-OF-SELECTION.

补充:若是想要按不同屏幕执行PERFORM,可在START-OF-SELECTION处增加如下代码

START-OF-SELECTION.
CASE MYTAB-DYNNR.
WHEN '100'.
WRITE 1.
* PERFORM get_data.
* PERFORM display_data.
WHEN '200'.
WRITE 2.
* PERFORM get_data2.
* PERFORM display_data2.
ENDCASE.
END-OF-SELECTION.

原文:https://www.cnblogs.com/mingdashu/p/6824161.html

ALV报表——选择屏幕选项卡的更多相关文章

  1. ALV报表——选择屏幕变量赋值

    ABAP选择屏幕变量赋值 运行效果: 代码: *&---------------------------------------------------------------------* ...

  2. 选择屏幕(Selection Screen)

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  3. ALV报表——基础(一)

    目录 一.ALV的简介 二.程序实现 2.1.实现步骤 2.2.代码示例 三.Layout.Fieldcat相关属性,ALV输出函数 3.1.Layout相关属性 3.2.Fieldcat相关属性 3 ...

  4. ALV报表——ALV颜色设置(三)

    目录 一.行 二.列 三.单元格 四.附ALV的颜色代码 一.行:用Layout相关属性设置 代码: *Report ZRFI001_XFL_TEST REPORT ZRFI001_XFL_TEST ...

  5. ALV报表——点击事件(二)

    目录 一.ALV点击事件(双击) 一.ALV点击事件(双击) 代码: *Report ZRFI001_XFL_TEST REPORT ZRFI001_XFL_TEST . *定义ALV所需要用到的类型 ...

  6. abap 选择屏幕事件AT SELECTION-SCREEN

    AT SELECTION-SCREEN (1).其实就像一个FORM,所以在这个事件里声明的变量都是局部变量. (2).根据SY-UCOMM这个系统变量可以判断用户的命令 (3).在这个事件里响应的是 ...

  7. [SAP ABAP开发技术总结]动态修改选择屏幕

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  8. [SAP ABAP开发技术总结]选择屏幕——按钮、单选复选框

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  9. [SAP ABAP开发技术总结]选择屏幕——SELECT-OPTIONS

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

随机推荐

  1. C仿黑白棋版XO棋

    两位玩家轮流在棋盘上放置不同颜色的棋子,一位玩家使用黑子,另一位使用白子,棋盘是一个偶数正方形. 只能将一个棋子放在对手的棋子旁边,使对手在水平.垂直.对角线方向上的棋子变成自己的棋子,游戏结束时,棋 ...

  2. js实现replaceAll方法

    js本来有replace方法,请看w3school的说明: replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串. 语法: stringObject.rep ...

  3. GROUP_CONCAT 将mysql多条数据合并为一条

    实现将多条数据合并为一条数据,在mysql中可以通过 GROUP_CONCAT 函数实现 上面是潇leader发我的和工作不相关的小小小需求描述,很明显是要把id和name相同的数据合并为一条,下面按 ...

  4. for(auto i : v)遍历容器元素

    c++11的新特性,v是一个可遍历的容器或流,比如vector类型,i就用来在遍历过程中获得容器里的每一个元素. for(auto i:v) for(auto &i:v) 代码1:#inclu ...

  5. script 命令/方法/函数

    $redis->script('load', $script); $redis->script('flush'); $redis->script('kill'); $redis-&g ...

  6. shell编程系列13--文本处理三剑客之sed利用sed追加文件内容

    shell编程系列13--文本处理三剑客之sed利用sed追加文件内容 追加用法总结: .a 在匹配行后面追加 .i 在匹配行前面追加 .r 将文件内容追加到匹配行后面 .w 将匹配行写入指定文件 追 ...

  7. MySQL数据库双机热备------主-主备份配置

    MySQL数据库双机热备------主-主备份配置 实验环境: 主1数据库 192.168.1.1 centos6.5 x86_64 +MySQL5.5.35 主2数据库192.168.1.2  Wi ...

  8. hppts的理解

    参考: https://www.ruanyifeng.com/blog/2014/02/ssl_tls.html

  9. c# 在静态方法里,怎么能得到调用者的类名?

    System.Diagnostics.StackTrace st = new System.Diagnostics.StackTrace(); string name = st.GetFrame(1) ...

  10. LODOP中设置设置图片平铺水印,超文本透明

    之前的博文:LODOP中平铺图片 文本项Repeat. 该博文中是平铺的图片,上面是文本.如果是图片add_print_image和add_print_text纯文本,这两个打印项设计的,可以直接通过 ...