在程序中创建一个100屏幕,然后设定子屏幕区域,可通过屏幕号指定页签,让选择屏幕更多样式,效果如下图:

实现方式如下

定义不同的选择屏幕

*  基本条件屏幕
SELECTION-SCREEN BEGIN OF SCREEN 1100 AS SUBSCREEN.
SELECTION-SCREEN BEGIN OF BLOCK B_JB WITH FRAME TITLE TEXT-010.SELECT-OPTIONS:S_GSBER FOR TGSB-GSBER NO INTERVALS NO-EXTENSION OBLIGATORY MEMORY ID GSB,"业务范围S_VKORG FOR TVKO-VKORG NO INTERVALS NO-EXTENSION OBLIGATORY DEFAULT '8000',"销售组织S_KUNNR FOR KNA1-KUNNR . "客户SELECTION-SCREEN END OF BLOCK B_JB.
SELECTION-SCREEN END OF SCREEN 1100.
*发票屏幕
SELECTION-SCREEN BEGIN OF SCREEN 1200 AS SUBSCREEN.
SELECTION-SCREEN BEGIN OF BLOCK B_FP WITH FRAME TITLE TEXT-020.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(7) G_FPCX."
PARAMETERS: R_FPCX USER-COMMAND RFPRADIOBUTTON GROUP RAD1.
SELECTION-SCREEN COMMENT 16(7) G_SCTS.
PARAMETERS: R_SCTS  RADIOBUTTON GROUP RAD1 DEFAULT 'X'.
SELECTION-SCREEN END OF LINE.
SELECT-OPTIONS:S_VBELN FOR VBRK-VBELN MODIF ID MTS,"发票号S_FKDAT FOR VBRK-FKDAT MODIF ID MTS,"发票日期S_FBELNR FOR ZTMM_ZTSCL-BELNR MODIF ID MTS."托收单号
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(7) G_YTS MODIF ID MTS."屏幕中横着的checkbox定义
PARAMETERS: C_YTS AS CHECKBOX MODIF ID MTS.
SELECTION-SCREEN COMMENT 16(7) G_WXTS MODIF ID MTS.
PARAMETERS: C_WXTS AS CHECKBOX MODIF ID MTS.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK B_FP.
SELECTION-SCREEN END OF SCREEN 1200.
*托收屏幕
SELECTION-SCREEN BEGIN OF SCREEN 1300 AS SUBSCREEN.
SELECTION-SCREEN BEGIN OF BLOCK B_TS WITH FRAME TITLE TEXT-030.
SELECT-OPTIONS:S_BELNR FOR VBRK-VKONT ,"托收单号S_BUDAT1 FOR ZTMM_ZTSCL-BUDAT1 ,"委托日期S_ERNAM1 FOR ZTMM_ZTSCL-ERNAM1 NO INTERVALS NO-EXTENSION, "创建者S_TVBELN  FOR VBRK-VBELN.
*
SELECTION-SCREEN BEGIN OF LINE.SELECTION-SCREEN COMMENT 1(6)  G_YSC."
PARAMETERS: C_YSC AS CHECKBOX  DEFAULT 'X'.
SELECTION-SCREEN COMMENT 13(6) G_YDY.
PARAMETERS: C_YDY AS CHECKBOX DEFAULT 'X'.
SELECTION-SCREEN COMMENT 28(8) G_YJJ.
PARAMETERS: C_YJJ AS CHECKBOX DEFAULT 'X'.
SELECTION-SCREEN COMMENT 45(8) G_BFHX.
PARAMETERS: C_BFHX AS CHECKBOX DEFAULT 'X'.
SELECTION-SCREEN COMMENT 60(6) G_YHX.
PARAMETERS: C_YHX AS CHECKBOX.
SELECTION-SCREEN COMMENT 75(6) G_YZF.
PARAMETERS: C_YZF AS CHECKBOX.
SELECTION-SCREEN END OF LINE.
*
SELECT-OPTIONS:
S_ERNAM2 FOR ZTMM_ZTSCL-ERNAM2 NO INTERVALS NO-EXTENSION, "交接操作人
S_BUDAT2 FOR ZTMM_ZTSCL-BUDAT2, "交接日期
S_ERNAM3 FOR ZTMM_ZTSCL-ERNAM3 NO INTERVALS NO-EXTENSION, "作废操作人
S_BUDAT3 FOR ZTMM_ZTSCL-BUDAT3. "作废日期SELECTION-SCREEN END OF BLOCK B_TS.
SELECTION-SCREEN END OF SCREEN 1300.
*应收分析屏幕
SELECTION-SCREEN BEGIN OF SCREEN 1400 AS SUBSCREEN.
SELECTION-SCREEN BEGIN OF BLOCK B_YSFX WITH FRAME TITLE TEXT-040.
PARAMETERS:    P_SDATE LIKE SY-DATUM OBLIGATORY DEFAULT SY-DATUM."开始日期
PARAMETERS:    P_EDATE LIKE SY-DATUM OBLIGATORY DEFAULT SY-DATUM."截止日期SELECTION-SCREEN END OF BLOCK B_YSFX.
SELECTION-SCREEN END OF SCREEN 1400.

调用自定义屏幕

*tabstrip定义
CONTROLS MYTABSTRIP TYPE TABSTRIP.START-OF-SELECTION.  MYTABSTRIP-ACTIVETAB = 'B_FP'.CALL SCREEN 100.

自定义屏幕

PBO

MODULE 0100_PAI_STATUS OUTPUT.SET PF-STATUS 'ST_SCREEN_100'.SET TITLEBAR 'T_TITLE'.
ENDMODULE.                    "status_0100 OUTPUT

PAI

MODULE 0100_PBO_USER_COMMAND INPUT.SAVE_OK = OK_CODE.CLEAR OK_CODE.CASE SAVE_OK.WHEN 'B_FP'.MYTABSTRIP-ACTIVETAB = SAVE_OK.G_NUMBER = 1200.WHEN 'B_TS'.MYTABSTRIP-ACTIVETAB = SAVE_OK.G_NUMBER = 1300.WHEN 'B_YSFX'.MYTABSTRIP-ACTIVETAB = SAVE_OK.G_NUMBER = 1400.WHEN 'T_EX'."执行PERFORM AUTHORIZATION_CHECK.CASE MYTABSTRIP-ACTIVETAB.WHEN 'B_FP'.IF R_FPCX = 'X'."发票查询PERFORM SUB_FPCX.ELSEIF R_SCTS = 'X'. "生成托收PERFORM SUB_INIT_DATA."数据初始化PERFORM SUB_SCTS.ENDIF.WHEN 'B_TS'.PERFORM SUB_INIT_DATA_TSDCL."数据初始化PERFORM SUB_TSDCL."托收单处理WHEN 'B_YSFX'.PERFORM SUB_YSFX.ENDCASE.ENDCASE.ENDMODULE.                    "user_command_0100 INPUT

ABAP:多页签的选择屏幕相关推荐

  1. ABAP PAI事件之前读取选择屏幕字段的值

    就是选择屏幕在PBO事件中需要使用到选择屏幕上某个字段的时候,直接用选择屏幕变量名是没办法获取到值的,因为系统只有在PAI中才会自动把值赋给选择屏幕的变量,这时候就可以使用函数DYNP_VALUES_ ...

  2. SAP ABAP EXCEL导出多个SHEET页签

    ABAP导出数据到EXCEL指定页签 . 通过如下方法指定SHEET页签. CALL METHOD OF       gv_book       'Sheets' = gv_sheet     EXP ...

  3. ABAP选择屏幕:动态选择屏幕

    导语:在做ALV报表的时候,碰见过用 RADIOBUTTON区分不同页签,或者是区分不同的选择屏幕字段的需求,这里简单的说一下,如何通过RADIOBUTTON来实现动态选择屏幕. 关键元素: 1. M ...

  4. ABAP选择屏幕建议

    选择屏幕是用户使用报表等大多数程序的第一步,选择屏幕的显示.操作非常丰富,看似简单,但是若不加以统一,一个项目中的程序将会是五花八门.为了改进用户体验,我在写程序的第一部,规范了选择屏幕的定义,设想如 ...

  5. ABAP选择屏幕的例子

    下面是一个典型的选择屏幕的典型例子. 1.设置选择屏幕参数. ***begin(end) of block使用屏幕元素逻辑块. SELECTION-SCREEN BEGIN OF BLOCK BK1 ...

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

    12.4.         SELECT-OPTIONS. 89 12.4.1.     输入ABAP程序默认值时,需要加上"=". 89 12.4.2.     选择条件内表多条 ...

  7. SAP屏幕设计器专题:页签控件(八)

    SO,此篇随笔用来讲解SAP屏幕中页签控件的使用. 一.运行SE38,新建一只程序 Z_SCREEN3,不用写任何代码,保存激活. 二.运行SE51,新建屏幕号0100,输入说明,点击"格式 ...

  8. 选择屏幕abap开发

    视频课程: 选择屏幕 内存: sap内存和abap内存 paramter 基本用法 测试程序源代码 *&-------------------------------------------- ...

  9. ABAP 选择屏幕标题和ALV标题的修改

    1.Selection Screen(选择屏幕)标题的修改. 然后生成选屏界面的标题,如图: 若是需要修改该标题,可按以下两步进行操作: (1)在ABAP编辑器页面,选择"转到"- ...

最新文章

  1. HTTP协议(HyperText Transfer Protocol,超文本传输协议)
  2. PhpExcel中文帮助手册|PhpExcel基本使用方法及常见问题解答
  3. 容器学习 之 容器的网络类型(十二)
  4. mysql忘了root密码_mysql忘记root密码怎么办
  5. 传感器是新兴的机器人技术革命的关键要素
  6. Windows Server 8 Beta 初体验之二:Hyper-v
  7. TINA电路仿真软件安装教程
  8. 中国高技术产业统计年鉴(1995-2021年)
  9. 无盘服务器架设之一:编译iPXE,用于网络,ISO,USB等无盘启动
  10. 系统加速精灵:全面提升CPU性能,让你的系统跑的更快!
  11. 正则匹配特殊符号及标点符号
  12. ubntu 五笔输入法 打不出词组
  13. 音视频开发(十九):运算符重载、继承、多态、模版
  14. Java 的守护线程是什么情况?
  15. C++入门学习笔记01
  16. 金立E6刷MIUI V5教程
  17. 关于RT thread系统节拍时钟的配置
  18. java开发人员macOS系统上需要安装软件以及常用快捷键
  19. 使用java怎么实现商品三级分类_如何实现列表三级分类---后端+前端
  20. 清北学堂noip2019集训D2——数据结构

热门文章

  1. UserBehavior用户行为分析
  2. vue 如何在 style 标签里使用变量(数据)
  3. 生鲜APP开发解决方案
  4. Qlikview Data Modeling---创建一个Key/Link Table
  5. 每日一招:什么样的股票才能越跌越买
  6. 偏差,残差,方差在机器学习中的区别
  7. 蚂蚁金服 Service Mesh 深度实践
  8. 电子游戏销售数据分析(基于Python+Tableau)
  9. (附源码)基于SSM框架的图片分享及评价网站设计与实现 毕业设计201524
  10. C# 开发ModBus的服务器程序 实现ModBus数据总站 搭建自定义的Modbus服务器 同时支持tcp和rtu...