今天做的一个项目中用到将SELECTION-SCREEN 展开和收起的功能,现总结如下:
首先
include <icon>.因为要用到 icon_data_area_expand 和icon_data_area_collapse
这两个图标,
其次:就干脆贴代码显示算了,语言能力太差了。
*&———————————————————————*
*& Report  ZVOL_SCREEN_COLLAPSE
*&
*&———————————————————————*
*&
*&
*&———————————————————————*
REPORT  ZVOL_SCREEN_COLLAPSE.
include <icon>.
SELECTION-SCREEN:BEGIN OF BLOCK bk1 WITH FRAME TITLE text-001.
SELECTION-SCREEN : PUSHBUTTON 50(10) volcano USER-COMMAND pbvol modif id NEW.
SELECTION-SCREEN:BEGIN OF LINE.
PARAMETERS: r1 RADIOBUTTON  GROUP gr1.
SELECTION-SCREEN:COMMENT 4(10)  text-002 for field r1 modif id new.
PARAMETERS: R2 RADIOBUTTON  GROUP gr1.
SELECTION-SCREEN:COMMENT 17(10)  text-003 for field r1 modif id new.
SELECTION-SCREEN:END OF LINE.
SELECTION-SCREEN:BEGIN OF LINE.
PARAMETERS : c1 AS CHECKBOX DEFAULT ‘X’ modif id old.
SELECTION-SCREEN:COMMENT 4(20)  text-004 modif id old.
PARAMETERS: V_TEXT(4) TYPE C modif id old.
SELECTION-SCREEN:end OF LINE.
SELECTION-SCREEN:END OF BLOCK bk1.
DATA : FULL(1).
AT SELECTION-SCREEN.
  IF SY-UCOMM EQ ‘PBVOL’.
IF FULL EQ SPACE.
      FULL = ‘X’.
    ELSE.
      FULL = ‘ ‘.
    ENDIF.
  ELSE.
    EXIT.
  ENDIF.
AT SELECTION-SCREEN OUTPUT.
*
IF FULL EQ  ‘X’.
    LOOP AT SCREEN.
      if screen-group1 = ‘OLD’.
        screen-active    = ‘0′.
        screen-input     = ‘0′.
        screen-output    = ‘0′.
        modify screen.
      endif.
    ENDLOOP.
    CALL FUNCTION ‘ICON_CREATE’
 EXPORTING
   NAME                        = icon_data_area_expand
*   TEXT                        = ‘niha’
   INFO                         = ‘expand’
      ADD_STDINF                  = ‘ ‘
 IMPORTING
   RESULT                      = volcano
        .
ELSE.
    LOOP AT SCREEN.
      if screen-group1 = ‘OLD’.
        screen-active    = ‘1′.
        screen-input     = ‘1′.
        screen-output    = ‘1′.
        modify screen.
      endif.
    ENDLOOP.
    CALL FUNCTION ‘ICON_CREATE’
 EXPORTING
   NAME                        = icon_data_area_collapse
*   TEXT                        = ‘niha’
  INFO                         = ‘collapse’
  ADD_STDINF                  = ‘ ‘
 IMPORTING
   RESULT                      = volcano
        .
ENDIF.
几点注意事项:
1.modif id ,就是modification group id,会自动的 system table screen 的group1  里面。
2.对于FM icon_create 里面的RESULT = VOLCANO ,其中的VOLCANO就是你要改变图标的这个屏幕字段名称,
INFO  = ‘collapse’ ,就是鼠标移到这个图标的附近时要显示的文字。
其余大家可以自己试验吧。
3.如果你发现你要显示的图标是一线乱7八拐的字符,那是因为你的字段长度太短了,不信你可以将
PUSHBUTTON 50(20) volcano
里面的20改为10,或更小试试?

SAP 选择屏幕的收起与展开(Collapse and Expand)相关推荐

  1. SAP选择屏幕开发(一)

    用户通过屏幕操作来实现与SAP的数据交互,而SAP的屏幕开发一般分为两种,一种是通过SAP ABAP语法创建屏幕元素,称之为选择屏幕,选择屏幕主要是用来输入查询参数:第二种是通过SAP的屏幕编辑器开发 ...

  2. SAP选择屏幕中实现三级联动下拉框效果

    TYPE-POOLS:VRM. DATA: NAME TYPE VRM_ID. DATA:NUM TYPE I. "根据PRODH字段长度判断 某行属于哪一级 DATA:LOADED TYP ...

  3. SAP 选择屏幕下拉框实现

    选择屏幕: DATA:vid TYPE vrm_id , "屏幕字段(可以是单个的I/O空间或者是Table Control中的一个单元格)list TYPE vrm_values,valu ...

  4. SAP 选择屏幕中定义按钮 pushbutton

    SELECTION-SCREEN PUSHBUTTON 1(22) BUT1 USER-COMMAND DOWNLOAD. " 定义搜索按钮 在选择屏幕定义按钮 INITIALIZATION ...

  5. 【测试】SAP选择屏幕界面配图实现

    需求:需要在生产实际查询报表选择界面中显示相应的流程图,如何实现. 准备工作:需要利用事务代码SMW0上传流程图图片,这里以某样图代替. 代码实现: *&------------------- ...

  6. sap 选择屏幕 设定动态标题

    转载自:https://blog.csdn.net/xiaoxiaoanhong/article/details/53640850 SET TITLEBAR 'TITLBAR' WITH 'TITLE ...

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

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

  8. SAP ABAP 动态选择屏幕

    常规实现方式: 1. 动态控制属性,使用如下语句代码控制. 2. 标准模块实现的free selection 3. 结合逻辑数据库的动态选择屏幕 具体实现: 第一种大致通过如下代码实现 AT SELE ...

  9. SAP变式-选择屏幕变式属性及应用场景

    目录 仅用于后台处理 保护变式 仅在目录中显示 系统变式 变式字段属性 保护字段 隐藏字段 保存无值的字段 GPA关闭 要求的字段 选择变量,选项,变量名称 仅用于后台处理 前台执行程序不可选,后台作 ...

最新文章

  1. 上海中考-哪些区是“地狱模式”?——2019上海中考数据观
  2. vue ...mapMutations 的第一个参数默认为 数据对象state
  3. String是值传递还是引用传递
  4. 观、砺、破——我的算法之道
  5. mac10.14.1回收windows系统盘
  6. 【Uvalive 2531】 The K-League (最大流-类似公平分配问题)
  7. 《云网络:数字经济的连接》图书发布会将于7月16日在杭举行
  8. 正则表达式应用(以手机号为例)
  9. java 火星坐标转wgs84_火星坐标系与WGS84坐标系转换
  10. java中执行ddl语句,DDL(数据定义语言)
  11. 湖北民院OJ 计算球体体积
  12. 师父韩晋文先生传授的八卦掌套路
  13. Java虚拟机(JVM源码):编译OpenJDK源码
  14. 运放放大倍数计算公式_独家秘笈|运算放大器分析
  15. 分享一个音乐API接口
  16. oracle+ebs+om+流程,Oracle EBS OM Order is not eligible for booking
  17. 整机压力测试_app的压力测试怎么做呢?
  18. 百度UEditor编辑器,合入PHP网站
  19. webpack-es6转es5
  20. 昂达vi40精英版刷Linux,昂达VI40精英版 中文Recovery卡刷教程

热门文章

  1. GIT常用的基础命令
  2. 治标更治本,如何从根源防护DDoS***
  3. 备注 2013 11 19
  4. mysql严重查询速度的问题一则
  5. XP的DNS服务器(BIND)配置
  6. orcale存储过程学习之路--创建空存储过程(二)
  7. CAS权属线粗细修改
  8. 分享周鸿祎的《如何建立一个“铁打的营盘”》
  9. WindDbug应用
  10. shiro 散列加盐(salt) 次数的效果