ALV 添加自定义按钮 (REUSE_ALV_GRID_DISPLAY 一)
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 一)相关推荐
- Dynamics CRM2013 任务列表添加自定义按钮
任务列表的command bar 上面添加自定义按钮如下 要注意的是此处的列表不是任务实体而是活动实体,如果你是在任务实体的home栏上面加那你永远看不见按钮的显示,但如果是要在任务的表单界面上加按钮 ...
- laravel-admin 在列表页添加自定义按钮
我的个人博客:逐步前行STEP 为了添加自定义按钮,按官方文档分4步走: 1.先定义工具类app/Admin/Extensions/Tools/ShowArtwork.php: <?phpnam ...
- ueditor编辑器添加自定义按钮
一,ueditor的使用过程: 准备工具:将下载的ueditor文件考入项目中, 在jsp文件中引入ueditor.all.js,ueditor.config.js,ueditor.css,zh-cn ...
- Microsoft Power Platform MDA app添加自定义按钮
想在model driven app里面添加自定义按钮有两种方式,一种是直接在app编辑模式里面通过edit command bar方式编辑,这种目前因为没权限还没试过,后续试过再更新细节 还有一种方 ...
- [轉]fckeditor添加自定义按钮
轉自:http://25175.com/200609/25175/25175_html/2010-05/3362.html 在这个例子中,我们将创建一个工具栏按钮.插入当前日期,我们将命名新的插件&q ...
- 深入理解 SAP Fiori Elements 工作原理系列之二:如何给 SAP Fiori Elements 应用添加自定义按钮
这是 Jerry 2021 年的第 33 篇文章,也是汪子熙公众号总共第 309 篇原创文章. Jerry 的日常工作内容从 2020 年 8 月转到 Angular 前端开发之后,算是领略到了这个流 ...
- 给angularJs grid列上添加自定义按钮
由于项目需要在angular 显示的表格中添加按钮,多次查询资料终于找到解决方法.就是给columnDefs 上的列增加 cellTemplate,同时绑定对应的触发事件,代码如下 columnDef ...
- Django admin 页面添加自定义按钮 点击事件
基于 simpleui 开发, Simple UI 一款基于vue+element-ui的django admin现代化主题 普通admin 好像实现不了, Simpleui 官网:https://s ...
- 面向对象OO ALV添加按钮实现过程
1.定义类lcl_event_handler.定义方法用于实现类CL_GUI_ALV_GRID的事件TOOLBAR.实现类.实现方法: 2.创建类对象实例CREATE GR_EVENT_HANDLER ...
最新文章
- 数据结构-线性表的顺序结构
- angularJS 路由加载js controller 未定义 解决方案
- 港府拟修例禁止电子烟入口及销售 保障市民健康
- 用 LaTeX 排版编程技术书籍的一些个人经验
- SVM熟练到精通1:初识SVM
- java群发图文消息_使用Java语言开发微信公众平台(四)——图文消息的发送与响应...
- 某网站高度加密混淆的javascript的分析
- 如何创建一个数据科学项目? 1
- java ee监听器编程,java EE开发之Servlet第四课:监听器(Listener)
- 大四课程设计之基于RFID技术的考勤管理系统(二)读取COM口数据
- TensorFlow实现条件批归一化(Conditional Batch Normalization)
- memcache简单操作
- 局域网文件共享手机访问电脑文件软件
- Android 银行账号
- Java基础视频教程
- c语言程序输出s是什么,C语言中printf格式化输出函数
- 已成功与服务器建立连接,但是在登录前的握手期间发生错误
- 自学软件测试,缺少项目实战怎么办?
- HTTP Status 404 - The requested resource (/Test/loginSerlet) is not available.
- Java SE加强篇——超详细,Java入门,这一篇就够了