Loop at screen会loop处理屏幕上的每一个组件,并对其做相应的处理。

SELECTION-SCREEN: BEGIN OF BLOCK B1 WITH FRAME.
PARAMETERS S_DATE TYPE DATUM   DEFAULT SY-DATUM MODIF ID OO.
SELECTION-SCREEN: END OF BLOCK B1.

SELECTION-SCREEN: BEGIN OF BLOCK B2 WITH FRAME.
SELECT-OPTIONS: S_DATE2 FOR SY-DATUM  MODIF ID PP.
SELECTION-SCREEN: END OF BLOCK B2.

SELECTION-SCREEN: BEGIN OF BLOCK B3 WITH FRAME.
PARAMETERS : R1 RADIOBUTTON GROUP D1 DEFAULT 'X' USER-COMMAND SINGLECLICK,

R2 RADIOBUTTON GROUP D1 .
SELECTION-SCREEN: END OF BLOCK B3.

选择r1 的时候只显示B1;r2时候只显示B2

AT SELECTION-SCREEN OUTPUT.
  IF R1 = 'X'.
    LOOP AT SCREEN.
      IF SCREEN-GROUP1 = 'PP'.
        SCREEN-ACTIVE = '0'.
      ENDIF.
      MODIFY SCREEN.
    ENDLOOP.
  ELSEIF R2 = 'X'.
    LOOP AT SCREEN.
      IF SCREEN-GROUP1 = 'OO'.
        SCREEN-ACTIVE = '0'.
      ENDIF.
      MODIFY SCREEN.
    ENDLOOP.
  ENDIF.

  • Modiy屏幕的时候,如果屏幕有必输字段则不能修改,只有把必输项输入值后才能修改屏幕,需要有所取舍;
  • 注意:

PARAMETERS : R1 RADIOBUTTON GROUP D1 DEFAULT 'X' USER-COMMAND SINGLECLICK,  红色这一段话必须有,否则不能动态修改屏幕;选择一次单选框就会触发一次atselection-screen output,实现动态修改屏幕.

  • SCREEN结构解释:

在SAP屏幕中,一个字段就像.NET中的一个控件,这个 字段对应一个SCREEN结构,就像控件的多个属性。

SE11可以查看SCREEN结构中的字段,只是没有备注。

名称                  长度       说明

NAME               30          屏幕字段的名称

GROUP1            3            属于字段组1的字段

GROUP2            3            属于字段组2的字段

GROUP3            3            属于字段组3的字段

GROUP4            3            属于字段组4的字段

ACTIVE             1            可见并准备输入的字段

REQUIRED          1            字段输入是强制的,即该值为X是表示该字段必须输入

INPUT               1            字段准备输入

OUTPUT            1            字段仅用于显示

INTENSIFIED      1           高亮显示字段

INVISIBLE          1           禁用字段

LENGTH             1           减少字段输出长度

DISPLAY_3D       1           以三维框架显示字段

VALUE_HELP       1           显示有值帮助的字段

上述长度为1的字段,=1表示有效,=0则相反。  

ABAP modify screen:修改屏幕,实现隐藏、禁止输入字段的更多相关文章

  1. 【ABAP系列】SAP abap dialog screen屏幕参数简介

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP abap dialog ...

  2. WPF 修改屏幕DPI,会触发控件重新加载Unload/Load

    修改屏幕DPI,会触发控件的Unloaded/Loaded 现象/重现案例 对Unloaded/Loaded的印象: FrameworkElement, 第一次加载显示时,会触发Loaded.元素被释 ...

  3. [SAP ABAP开发技术总结]屏幕跳转

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

  4. ios-点击屏幕,隐藏键盘

    ios-点击屏幕,隐藏键盘 - (void)getFirstRegist{ //结束键盘编辑 __weak typeof(self)weakSelf = self; UITapGestureRecog ...

  5. Android 修改屏幕解锁方式

    Android 修改屏幕解锁方式 问题 在手机第一次开机的时候,运行手机激活的APP 在激活APP允许过程中,当用户按电源键的时候,屏幕黑掉,进入锁屏状态 手机默认的锁屏是滑动解锁 用户这个时候再一次 ...

  6. 【ABAP系列】SAP ABAP 刷新SCREEN的方法

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 刷新SCREE ...

  7. change可以重命名列名,也可能修改列的类型和约束,而modify只能修改列的数据类型。

    change 可以重命名列名,也可能修改列的数据类型,而modify只能修改列的数据类型. change 比modify功能多,如果要用change修改字段类型和约束,要加上新字段名,新字段名可以和原 ...

  8. ubuntu16.04 通过命令,修改屏幕分辨率

    ubuntu16.04 通过命令,修改屏幕分辨率 l185979505 2016-10-19 08:15:54 20293 收藏 5展开第一次写博客,,,好激动,,首先通过命令: xrandr 查看可 ...

  9. 修改MYSQL 表中的字段属性

    1.登录数据库 >mysql -u root -p 数据库名称 2.查询所有数据表 >show tables; 3.查询表的字段信息 >desc 表名称; 4.1.修改某个表的字段类 ...

随机推荐

  1. shell来start、stop、restart应用程序模板

    这里使用shell中的case语法: case分支语句格式如下: case $变量名 in 模式1) 命令列表 ;; 模式2) 命令列表 ;; *) ;; esac case行尾必须为单词“in”,每 ...

  2. tengine-2.1.0 + lua + base64

    参考:http://my.oschina.net/eduosi/blog/169606 安装 readline,lua 编译需要用到这个,centos 可以通过 yum 直接安装,如果不需要系统的,可 ...

  3. DSP中CMD文件

    DSP中CMD文件 (2012-12-26 20:54:17) 转载▼ 标签: 杂谈 分类: DSP FPGA DSP的存储器的地址范围,CMD是主要是根据那个来编的.CMD 它是用来分配rom和ra ...

  4. datagrid 动态列

    var options={}; $(function(){ var myNj = 9; //初始化 $("#disgrid").datagrid({ type: 'POST', n ...

  5. SpringMVC 拦截器

    类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理. 常用场景: 1.日志记录:记录请求信息的日志,以便进行信息监控.信息统计.计算PV(Page View)等. 2.权限 ...

  6. 【原创】C#搭建足球赛事资料库与预测平台(3) 基础数据表设计

            本博客所有文章分类的总目录:http://www.cnblogs.com/asxinyu/p/4288836.html 开源C#彩票数据资料库系列文章总目录:http://www.cn ...

  7. 前端们,gulp该用起来了,简单的demo入门——gulp系列(一)

    gulp.grunt前端自动化工具,只有用过才知道多么重要. 它们问世这么久了?你真的用过吗? 写个简单的less.watch任务的demo分享———— 1.准备: 安装全局node.npm,这个教程 ...

  8. IT168关于敏捷开发采访

    1.我们知道敏捷开发是一套流程和方法的持续改进,通过快速迭代的方式交付产品,从而控制和降低成本.但是在实行敏捷初期,往往看不到很好的效果.这里面,您觉得问题主要出在哪?团队应如何去解决问题?金根:我认 ...

  9. vertical-align两种应用场合

    vertical-align两种应用场合 (1)用在td/th中或display:table-cell元素中:让当前元素中的文本内容在竖直方向上居中    css部分:    .content{   ...

  10. Entity FrameWork 延迟加载的本质(一)

    1.集合的标准查询运算符方法,是来自于System.Linq.Enumerable里给IEnumerable接口添加的扩展方法 2.EF上下文里的DBSet<T>里的标准查询运算符方法,来 ...