1、目的:SAP ABAP ALV控件中添加一个按钮。

2、ALV控件中添加一个自定义的按钮,使用的ALV控件是:REUSE_ALV_GRID_DISPLAY

按下图去标准代码 SLVC_FULLSCREEN 中拷贝一个“GUI状态”过来,改一个自己的名字100(注意这个名字,后面代码中也要写),把它激活。

3、加一个自己的按钮,再把它激活一次:

4、ALV的代码如下:

FORM FRM_DISPLAY_ALV .DATA: LT_FIELDCAT        TYPE SLIS_T_FIELDCAT_ALV ,LS_FIELDCAT        TYPE SLIS_FIELDCAT_ALV ,WS_FIELDGROUPS_TAB TYPE SLIS_T_SP_GROUP_ALV,WS_LAYOUT          TYPE SLIS_LAYOUT_ALV,WS_SORTFIELDS_TAB  TYPE SLIS_T_SORTINFO_ALV WITH HEADER LINE,WS_EVENTS          TYPE SLIS_T_EVENT.DATA: lv_pos TYPE I VALUE 0.DATA: TITLE TYPE LVC_TITLE.DATA: COLOR TYPE SLIS_T_SPECIALCOL_ALV WITH HEADER LINE.DEFINE macro_fieldcat.lv_pos = lv_pos + 1.ls_fieldcat-col_pos       =  lv_pos.ls_fieldcat-tabname       = 'GT_BASIC'.ls_fieldcat-fieldname     = &1.ls_fieldcat-seltext_l     = &2.ls_fieldcat-inttype       = &3.ls_fieldcat-intlen        = &4.append ls_fieldcat to lt_fieldcat .clear ls_fieldcat.END-OF-DEFINITION.macro_fieldcat:'Z_REC_NO' '唯一的全局标识符 ' '' '','Z_REC_DATE' '创建日期' '' '','Z_REC_TIME' '创建时间' '' '','Z_REC_USER' '创建人 ' '' '','LIFNR' '供应商编号 ' '' '','KTOKK' '账户组' '' '','NAME1' '供应商名称1' '' '','BU_SORT1' '搜索词1' '' '','BU_SORT2' '搜索词2' '' '','STREET' '街道' '' '','HOUSE_NUM1' '门牌号 ' '' '','POST_CODE1' '邮政编码' '' '','COUNTRY' '国家' '' '','REGION' '地区' '' '','CITY1' '城市' '' '','LANGU' '语言' '' '','VERKF' '联系人 ' '' '','TEL_NUMBER' '电话' '' '','FAX_NUMBER' '传真' '' '','SMTP_ADDR' '电子邮箱' '' '','TAXTYPE' '税号类别' '' '','TAXNUM' '税号' '' '','GROUP_FEATURE' '专业类别' '' '','TYPE' '处理结果(S:成功,E:失败,X:不处理)' '' '','MESSAGE' '消息文本' '' '','MDATE' '处理日期' '' '','MTIME' '处理时间' '' '','MUSER' '处理人' '' ''.WS_LAYOUT-ZEBRA             = 'X'.WS_LAYOUT-GET_SELINFOS      = 'X'.WS_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.WS_LAYOUT-DETAIL_POPUP      = 'X'.*******排序
*  WS_SORTFIELDS_TAB-FIELDNAME = 'ERDAT'.
*  WS_SORTFIELDS_TAB-UP = 'X'.
*  APPEND WS_SORTFIELDS_TAB.
*  CLEAR WS_SORTFIELDS_TAB.CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'EXPORTINGI_CALLBACK_PROGRAM        = SY-REPIDI_CALLBACK_PF_STATUS_SET  = 'ALV_STATUS_SET'I_CALLBACK_USER_COMMAND   = 'FRM_USER_COMMAND'IS_LAYOUT               = WS_LAYOUTIT_FIELDCAT             = LT_FIELDCATIT_SPECIAL_GROUPS       = WS_FIELDGROUPS_TAB[]IT_SORT                 = WS_SORTFIELDS_TAB[]IT_EVENTS               = WS_EVENTS[]I_GRID_TITLE            = TITLEI_DEFAULT               = 'X'I_SAVE                  = 'A'TABLEST_OUTTAB                = GT_BASICEXCEPTIONSPROGRAM_ERROR           = 1OTHERS                  = 2.ENDFORM.FORM ALV_STATUS_SET USING PT_EXTAB TYPE SLIS_T_EXTAB.CLEAR: PT_EXTAB[].SET PF-STATUS '100'.ENDFORM.FORM FRM_USER_COMMAND  USING R_UCOMM LIKE SY-UCOMM  RS_SELFIELD TYPE SLIS_SELFIELD.CASE R_UCOMM.WHEN '&GO'.LEAVE PROGRAM.WHEN OTHERS.ENDCASE.
ENDFORM.                   

注意:

1、I_CALLBACK_PROGRAM = SY-REPID 参数 一定要存在,博主就是把它搞掉了,一直显示不出这个按钮来。

2、GUI的名称是100,一定要在这里  SET PF-STATUS '100'. 同名。

3、 I_CALLBACK_PF_STATUS_SET  = 'ALV_STATUS_SET' 这里在设置自己的GUI。

4、 I_CALLBACK_USER_COMMAND   = 'FRM_USER_COMMAND' 这里指定自己按钮响应的功能代码。

ALV 添加自定义按钮 (REUSE_ALV_GRID_DISPLAY 一)相关推荐

  1. Dynamics CRM2013 任务列表添加自定义按钮

    任务列表的command bar 上面添加自定义按钮如下 要注意的是此处的列表不是任务实体而是活动实体,如果你是在任务实体的home栏上面加那你永远看不见按钮的显示,但如果是要在任务的表单界面上加按钮 ...

  2. laravel-admin 在列表页添加自定义按钮

    我的个人博客:逐步前行STEP 为了添加自定义按钮,按官方文档分4步走: 1.先定义工具类app/Admin/Extensions/Tools/ShowArtwork.php: <?phpnam ...

  3. ueditor编辑器添加自定义按钮

    一,ueditor的使用过程: 准备工具:将下载的ueditor文件考入项目中, 在jsp文件中引入ueditor.all.js,ueditor.config.js,ueditor.css,zh-cn ...

  4. Microsoft Power Platform MDA app添加自定义按钮

    想在model driven app里面添加自定义按钮有两种方式,一种是直接在app编辑模式里面通过edit command bar方式编辑,这种目前因为没权限还没试过,后续试过再更新细节 还有一种方 ...

  5. [轉]fckeditor添加自定义按钮

    轉自:http://25175.com/200609/25175/25175_html/2010-05/3362.html 在这个例子中,我们将创建一个工具栏按钮.插入当前日期,我们将命名新的插件&q ...

  6. 深入理解 SAP Fiori Elements 工作原理系列之二:如何给 SAP Fiori Elements 应用添加自定义按钮

    这是 Jerry 2021 年的第 33 篇文章,也是汪子熙公众号总共第 309 篇原创文章. Jerry 的日常工作内容从 2020 年 8 月转到 Angular 前端开发之后,算是领略到了这个流 ...

  7. 给angularJs grid列上添加自定义按钮

    由于项目需要在angular 显示的表格中添加按钮,多次查询资料终于找到解决方法.就是给columnDefs 上的列增加 cellTemplate,同时绑定对应的触发事件,代码如下 columnDef ...

  8. Django admin 页面添加自定义按钮 点击事件

    基于 simpleui 开发, Simple UI 一款基于vue+element-ui的django admin现代化主题 普通admin 好像实现不了, Simpleui 官网:https://s ...

  9. 面向对象OO ALV添加按钮实现过程

    1.定义类lcl_event_handler.定义方法用于实现类CL_GUI_ALV_GRID的事件TOOLBAR.实现类.实现方法: 2.创建类对象实例CREATE GR_EVENT_HANDLER ...

最新文章

  1. 数据结构-线性表的顺序结构
  2. angularJS 路由加载js controller 未定义 解决方案
  3. 港府拟修例禁止电子烟入口及销售 保障市民健康
  4. 用 LaTeX 排版编程技术书籍的一些个人经验
  5. SVM熟练到精通1:初识SVM
  6. java群发图文消息_使用Java语言开发微信公众平台(四)——图文消息的发送与响应...
  7. 某网站高度加密混淆的javascript的分析
  8. 如何创建一个数据科学项目? 1
  9. java ee监听器编程,java EE开发之Servlet第四课:监听器(Listener)
  10. 大四课程设计之基于RFID技术的考勤管理系统(二)读取COM口数据
  11. TensorFlow实现条件批归一化(Conditional Batch Normalization)
  12. memcache简单操作
  13. 局域网文件共享手机访问电脑文件软件
  14. Android 银行账号
  15. Java基础视频教程
  16. c语言程序输出s是什么,C语言中printf格式化输出函数
  17. 已成功与服务器建立连接,但是在登录前的握手期间发生错误
  18. 自学软件测试,缺少项目实战怎么办?
  19. HTTP Status 404 - The requested resource (/Test/loginSerlet) is not available.
  20. Java SE加强篇——超详细,Java入门,这一篇就够了

热门文章

  1. 初识C++ - 常量表达式函数
  2. 语义分割|学习记录(5)Pytorch官方实现的FCN网络结构
  3. Ribbon和Feign区别在哪
  4. 7-113 特立独行的幸福 (20 分) C语言
  5. 各种浏览器的USERAGENT格式(useragent)
  6. 从iphone3到iphone4的程序界面。
  7. URL、URN、URI 三者之间区别和联系
  8. 详解CSS伪类与伪元素
  9. IE浏览器过期,自动跳转至Edge解决办法
  10. promise 全网最详解释,包括各方法和手动实现Promises/A+ 规范(1)