ABAP:多页签的选择屏幕
在程序中创建一个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:多页签的选择屏幕相关推荐
- ABAP PAI事件之前读取选择屏幕字段的值
就是选择屏幕在PBO事件中需要使用到选择屏幕上某个字段的时候,直接用选择屏幕变量名是没办法获取到值的,因为系统只有在PAI中才会自动把值赋给选择屏幕的变量,这时候就可以使用函数DYNP_VALUES_ ...
- SAP ABAP EXCEL导出多个SHEET页签
ABAP导出数据到EXCEL指定页签 . 通过如下方法指定SHEET页签. CALL METHOD OF gv_book 'Sheets' = gv_sheet EXP ...
- ABAP选择屏幕:动态选择屏幕
导语:在做ALV报表的时候,碰见过用 RADIOBUTTON区分不同页签,或者是区分不同的选择屏幕字段的需求,这里简单的说一下,如何通过RADIOBUTTON来实现动态选择屏幕. 关键元素: 1. M ...
- ABAP选择屏幕建议
选择屏幕是用户使用报表等大多数程序的第一步,选择屏幕的显示.操作非常丰富,看似简单,但是若不加以统一,一个项目中的程序将会是五花八门.为了改进用户体验,我在写程序的第一部,规范了选择屏幕的定义,设想如 ...
- ABAP选择屏幕的例子
下面是一个典型的选择屏幕的典型例子. 1.设置选择屏幕参数. ***begin(end) of block使用屏幕元素逻辑块. SELECTION-SCREEN BEGIN OF BLOCK BK1 ...
- [SAP ABAP开发技术总结]选择屏幕——SELECT-OPTIONS
12.4. SELECT-OPTIONS. 89 12.4.1. 输入ABAP程序默认值时,需要加上"=". 89 12.4.2. 选择条件内表多条 ...
- SAP屏幕设计器专题:页签控件(八)
SO,此篇随笔用来讲解SAP屏幕中页签控件的使用. 一.运行SE38,新建一只程序 Z_SCREEN3,不用写任何代码,保存激活. 二.运行SE51,新建屏幕号0100,输入说明,点击"格式 ...
- 选择屏幕abap开发
视频课程: 选择屏幕 内存: sap内存和abap内存 paramter 基本用法 测试程序源代码 *&-------------------------------------------- ...
- ABAP 选择屏幕标题和ALV标题的修改
1.Selection Screen(选择屏幕)标题的修改. 然后生成选屏界面的标题,如图: 若是需要修改该标题,可按以下两步进行操作: (1)在ABAP编辑器页面,选择"转到"- ...
最新文章
- HTTP协议(HyperText Transfer Protocol,超文本传输协议)
- PhpExcel中文帮助手册|PhpExcel基本使用方法及常见问题解答
- 容器学习 之 容器的网络类型(十二)
- mysql忘了root密码_mysql忘记root密码怎么办
- 传感器是新兴的机器人技术革命的关键要素
- Windows Server 8 Beta 初体验之二:Hyper-v
- TINA电路仿真软件安装教程
- 中国高技术产业统计年鉴(1995-2021年)
- 无盘服务器架设之一:编译iPXE,用于网络,ISO,USB等无盘启动
- 系统加速精灵:全面提升CPU性能,让你的系统跑的更快!
- 正则匹配特殊符号及标点符号
- ubntu 五笔输入法 打不出词组
- 音视频开发(十九):运算符重载、继承、多态、模版
- Java 的守护线程是什么情况?
- C++入门学习笔记01
- 金立E6刷MIUI V5教程
- 关于RT thread系统节拍时钟的配置
- java开发人员macOS系统上需要安装软件以及常用快捷键
- 使用java怎么实现商品三级分类_如何实现列表三级分类---后端+前端
- 清北学堂noip2019集训D2——数据结构
热门文章
- UserBehavior用户行为分析
- vue 如何在 style 标签里使用变量(数据)
- 生鲜APP开发解决方案
- Qlikview Data Modeling---创建一个Key/Link Table
- 每日一招:什么样的股票才能越跌越买
- 偏差,残差,方差在机器学习中的区别
- 蚂蚁金服 Service Mesh 深度实践
- 电子游戏销售数据分析(基于Python+Tableau)
- (附源码)基于SSM框架的图片分享及评价网站设计与实现 毕业设计201524
- C# 开发ModBus的服务器程序 实现ModBus数据总站 搭建自定义的Modbus服务器 同时支持tcp和rtu...