在SAP开发中,有用户提出,在输入参数的屏幕中,根据用户的选择对某些输入框进行屏蔽,防止用户在不需要的地方输入参数。这需要用到SELECTION-SCREEN的事件。

下面的选择屏幕中,要求根据用户选择的单选按钮,对不同的参数输入栏进行控制,不允许用户输入。

*//===========================================================//*
*  PARAMETERS
*//===========================================================//*
*屏幕条件查询显示界面
SELECTION-SCREEN BEGIN OF BLOCK blk01 WITH FRAME TITLE text-001 .
PARAMETERS:
  p_d1 TYPE c RADIOBUTTON GROUP pz DEFAULT 'X'
                                   USER-COMMAND rad_click ,  " 物料凭证
  p_d2 TYPE c RADIOBUTTON GROUP pz .                         " 预留单
SELECTION-SCREEN  END OF BLOCK blk01 .

SELECTION-SCREEN BEGIN OF BLOCK blk02 WITH FRAME TITLE text-002 .
PARAMETERS:
  p_mjahr LIKE mkpf-mjahr DEFAULT sy-datum+0(4) MODIF ID sa ." 年度
SELECT-OPTIONS:
  s_bldat FOR mkpf-bldat MODIF ID sa ,                       " 物料凭证日期
  s_mblnr FOR mkpf-mblnr MODIF ID sa ,                       " 物料凭证号码
  s_rsdat FOR rkpf-rsdat MODIF ID sb ,                       " 预留单凭证日期
  s_rsnum FOR rkpf-rsnum MODIF ID sb ,                       " 预留号
  s_matnr FOR mseg-matnr,                                    " 物料号码
  s_bwart FOR mseg-bwart.                                    " 移动类型
SELECTION-SCREEN  END OF BLOCK blk02.

为了方便单选按钮的控制,我们对输入控件进行了分组,使用MODIF ID name(name只能为3个字符以内),对这一组参数进行屏蔽或打开。在本例程中组名为sa/sb。
还需要注意,我们希望屏幕上的radiobutton能够触发事件,因此需要在第一个RadioButton上加上USER-COMMAND name的代码,它会触发屏幕标准的事件。

* 处理输入屏幕的互相锁定
AT SELECTION-SCREEN OUTPUT .
  LOOP AT SCREEN .
    IF screen-group1 = 'SA' AND SCREEN-GROUP3 <> 'OPU' AND SCREEN-GROUP3 <> 'TXT'.
      IF p_d1 = 'X' .
        screen-input = '1' .
      ELSE.
        screen-input = '0' .
      ENDIF.
    ELSEIF screen-group1 = 'SB' AND SCREEN-GROUP3 <> 'OPU' AND SCREEN-GROUP3 <> 'TXT'.
      IF p_d2 = 'X' .
        screen-input = '1' .
      ELSE.
        screen-input = '0' .
      ENDIF.
    ENDIF.
    MODIFY SCREEN.
  ENDLOOP.

AT SELECTION-SCREEN OUTPUT .事件会被单选控件触发。

Screen的Group1是给用户编程使用的,在前面给控件编组以后,这里可以得到控件的组名称。

Group3是保留属性,通过跟踪,猜测它可能是控件的类型属性,对于TXT和OPU的控件,我们不需要改变它的INPUT属性,因此将它们排出在外。

详细可查看http://help.sap.com/saphelp_470/helpdata/EN/9f/dbab6f35c111d1829f0000e829fbfe/frameset.htm

ABAP:参数输入屏幕SELECTION-SCREEN中的事件相关推荐

  1. android onfling参数,Android 屏幕手势滑动中onFling()函数的技巧分析

    关于如何处理手势操作以及那四个基本固定的顺序我就不讲解了,这里直接跳到我们获得瞬间滑动后回调onFling()这个抽象函数时,应该如何根据参数比较准确的判断滑动方向.如果你没有前面的基础知识,你可以去 ...

  2. ABAP动态修改屏幕及屏幕字段结构SCREEN的字段含义

    一.屏幕字段结构SCREEN的字段含义 在SAP屏幕中,一个字段就像.NET中的一个控件,这个字段对应一个SCREEN结构,就像控件的多个属性. SE11可以查看SCREEN结构中的字段,只是没有备注 ...

  3. sql 解析字符串添加到临时表中 sql存储过程in 参数输入

    sql 解析字符串添加到临时表中  sql存储过程in 参数输入 解决方法 把字符串解析 添加到 临时表中 SELECT * into #临时表   FROM dbo.Func_SplitOneCol ...

  4. 处理输入屏幕的互相锁定

    在SAP开发中,有用户提出,在输入参数的屏幕中,根据用户的选择对某些输入框进行屏蔽,防止用户在不需要的地方输入参数.这需要用到SELECTION-SCREEN的事件. 下面的选择屏幕中,要求根据用户选 ...

  5. wince7 屏幕控制_WinCE中触摸屏驱动开发详解

    本文向您介绍WinCE中采用分层驱动程序结构实现的触摸屏驱动,包括对触摸屏驱动模型的讲解.触摸屏驱动程序的实现及接口实现等知识. 1.触摸屏驱动程序的模型 1.1分层触摸屏驱动程序结构 本触摸屏驱动采 ...

  6. linux进程泄露命令明文参数,sshpass 使Linux可以明文参数输入SSH密码(示例代码)

    sshpass 使Linux可以明文参数输入SSH密码 这几天配置一台服务器,在某云平台创建云服务器后,生成了巨长.巨复杂的一串密码,在输入几十次密码后,依然是密码错误.这时候就想如果密码是非交互式输 ...

  7. 屏幕序列Screen Sequences

    屏幕序列Screen Sequences. 337 Static Next Screen. 338 Dynamic Next Screen. 338 Leaving a Screen from a P ...

  8. 屏幕命令screen

    这里只是简单分享一下工作中的小技巧,因为我这边需要两台服务器之间拷贝一个160G大小内容的文件,为了避免scp时服务器中断导致拷贝失败,这里可以使用到屏幕命令screen,即使服务器中断也不会断开拷贝 ...

  9. java基础66 JavaScript中的事件、localtion对象、screen对象(网页知识)

    1.JavaScript中的事件注册 1.1.事件的注册方式 方式1:直接在html元素上注册<body onLoad="ready()"></body > ...

最新文章

  1. html左浮动不管用图片往下放,html - 如何在HTML / CSS中水平对齐图像(浮动和显示内联块不起作用) - 堆栈内存溢出...
  2. Linux虚拟机ip为127.0.0.1的处理
  3. 开发vue底部导航栏组件
  4. silverlight中如何将string(字符串)写入Resource(资源)?
  5. ASP.NET Core 中基于工厂的中间件激活
  6. ResNet原理和实现
  7. java 中webservice
  8. 开源组件 Ehcache中被曝严重漏洞,影响多款Jira产品
  9. mysql int 长度 范围_mysql int(M) M意义 和int长度
  10. 数控系统数据采集协同架构,集成马扎克(mazak)、西门子(Siemens)、海德汉(heidenhain)、广数、凯恩帝(knd)、三菱、海德汉、兄弟、哈斯、宝元、新代、发那科(Fanuc)、华中
  11. Java程序员技术栈
  12. Python 3个小练习
  13. rtd1296 mtd 设备驱动分析
  14. docker搭建searx_『颜值即正义』看小睿“自建搜索引擎”
  15. 如何看计算机几核,如何查看电脑CPU是几核的?,这几步你要了解
  16. 拼多多店铺怎么上榜单?
  17. 统筹规划题:“服装店4个小组15天最多做多少套衣服裤子”的思路
  18. 如何快速启动wine安装的软件
  19. 轻量级虚拟桌面基础架构(VDI) 解决方案降低 IT 成本并保护知识产权
  20. python读写文件的语句_用Python读写文件指南

热门文章

  1. hdu2149 巴什博奕
  2. 《那些年啊,那些事——一个程序员的奋斗史》——76
  3. 获取计算机中的硬件信息
  4. 场景多、变种快、粒度细,网易易盾是如何有效解决这些内容安全难题的?
  5. GNOME 3.31.91 发布,3.32 发布周期第二个 beta 版
  6. Chaincode for Operators(运营商的链码手册)
  7. 自己动手 从android硬件驱动到APP---(1)硬件驱动层
  8. 如何绕过浏览器的弹窗拦截机制
  9. JavaScript两种方法来定义一个函数
  10. cache目录没有权限