添加自定义的状态栏

一、创建自定义状态栏

​ 1、在一个 报表程序中,标准的GUI Status并不能满足我们的需求,有事需要在状态栏中添加自定义的按钮,所以需要创建一个自定义的状态栏添加到SALV中 ,

​ 2、通常会copy一个标准的pf status,然后在此基础上添加自定义按钮,或者删除不需要的标准按钮,比如从函数组KKBL中赋值一个到建立的程序下:

​ 3、然后添加4个自定义按钮:

二、实现与代码

通过SALV类CL_SALV_TABLE的方法SET_SCREEN_STATUS调用前面的STATUS

*&---------------------------------------------------------------------*
*& 一个简单的通过类CL_SALV_TABLE生成SALV的例子
*&---------------------------------------------------------------------*
REPORT zabap_salv3.
*
*----------------------------------------------------------------------*
*       CLASS lcl_report DEFINITION
*----------------------------------------------------------------------*
CLASS lcl_report DEFINITION.
*PUBLIC SECTION.
*
*   定义SALV输出内表TYPES: BEGIN OF ty_vbak,vbeln TYPE vbak-vbeln,erdat TYPE erdat,auart TYPE auart,kunnr TYPE kunnr,END OF ty_vbak.
*DATA: t_vbak TYPE STANDARD TABLE OF ty_vbak.
*
*   ALV referenceDATA: o_alv TYPE REF TO cl_salv_table.
*METHODS:
*     抽取数据get_data,
*
*     生成输出内容generate_output.
*
*$*$*.....CODE_ADD_1 - Begin..................................1..*$*$*
*
* 定义private method来设定SALV不同特性PRIVATE SECTION.METHODS:set_pf_status CHANGING co_alv TYPE REF TO cl_salv_table.
*$*$*.....CODE_ADD_1 - End....................................1..*$*$*ENDCLASS.                    "lcl_report DEFINITION*----------------------------------------------------------------------*
*       CLASS lcl_report IMPLEMENTATION
*----------------------------------------------------------------------*
* 类实现
CLASS lcl_report IMPLEMENTATION.
*METHOD get_data.
*   抽取数据SELECT vbelnerdatauartkunnrINTO TABLE t_vbakFROM vbakUP TO 20 ROWS.
*ENDMETHOD.                    "get_data*.......................................................................METHOD generate_output.
*   New ALV instance
*   We are calling the static Factory method which will give back
*   the ALV object reference.
*
* exception classDATA: lx_msg TYPE REF TO cx_salv_msg.TRY.cl_salv_table=>factory(IMPORTINGr_salv_table = o_alvCHANGINGt_table      = t_vbak ).CATCH cx_salv_msg INTO lx_msg.ENDTRY.
*
*$*$*.....CODE_ADD_2 - Begin..................................2..*$*$*
*
*    In this area we will call the methods which will set the
*      different properties to the ALV
*   调用status设置方法CALL METHOD set_pf_statusCHANGINGco_alv = o_alv.
*$*$*.....CODE_ADD_2 - End....................................2..*$*$*
*
*
*   调用Display方法将数据输出到屏幕上o_alv->display( ).
*ENDMETHOD.                    "generate_output
*
*$*$*.....CODE_ADD_3 - Begin..................................3..*$*$*
*
*    In this area we will implement the methods which are defined in
*      the class definition
* status设置方法实现METHOD set_pf_status.*   调用自定义pf statusco_alv->set_screen_status(pfstatus      =  'STANDARD_FULLSCREEN'"Status名称report        =  'ZABAP_SALV3'"程序名set_functions = co_alv->c_functions_all ).ENDMETHOD.
*$*$*.....CODE_ADD_3 - End....................................3..*$*$*
*
ENDCLASS.                    "lcl_report IMPLEMENTATIONSTART-OF-SELECTION.DATA: lo_report TYPE REF TO lcl_report.CREATE OBJECT lo_report.
* 抽取数据lo_report->get_data( ).
* 生成SALVlo_report->generate_output( ).

三、执行结果

三、SALV 添加自定义的状态栏相关推荐

  1. 微信小程序自定义状态栏

    首先修改 app.json文件中的 windows字段如下: {"pages": ["pages/index/index"],"window" ...

  2. Android 沉浸式状态栏攻略 让你的状态栏变色吧

    转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/48649563: 本文出自:[张鸿洋的博客] 一.概述 近期注意到QQ新版使用了 ...

  3. 怎么把android的状态栏改成蓝色,教程分享:如何实现Android沉浸式状态栏——教你让你的状态栏变个色!...

    一.概述 近期注意到QQ新版使用了沉浸式状态栏,ok,先声明一下:本篇博客效果下图: 关于这个状态栏变色到底叫「Immersive Mode」/「Translucent Bars」有兴趣可以去了解下. ...

  4. 【干货】Android系统定制基础篇:第十三部分(开放root权限、禁止应用旋转、隐藏状态栏和导航栏)

    一.Android开放root权限 Android 5.1 1.修改 su 源码(system\extras\su\su.c),注释下面代码: int main(int argc, char **ar ...

  5. Android实现沉浸式(透明)状态栏适配

    第一种讲解: 在Android系统4.4以前,状态栏的背景色和字体颜色都是不能改变的.但是4.4以后Google增加了改变状态栏背景透明的方法,可以通过两种方式来设置. 直接在Activity中设置W ...

  6. Android 9.0系统源码_SystemUI(三)系统状态图标控制

    前言 上一篇我们具体分析了系统状态栏StatusBar的创建过程,其中状态栏视图就存储在CollapsedStatusBarFragment中,这个视图被添加到id为status_bar_contai ...

  7. 传智播客Android视频教程——第三天

    传智播客Android视频教程--第三天 2012-03-29 查看应用输出的错误信息与如何部署应用到真实手机 软件安装或者运行错误,错误信息会打印在LogCat中. 可以筛选信息,pid.tag. ...

  8. android11SystemUI之状态栏

    Android 11 SystemUi之状态栏 状态栏的图标控制器 状态栏上的图标都是由一个接口来实现的,这个接口是 StatusBarIconController,它的实现类是 StatusBarI ...

  9. Android 4.4之后状态栏和导航栏细节美化(沉浸式状态栏)

    转载请注明出处:http://blog.csdn.net/demokui/article/details/54603284 本篇文章出自:[姜奎的博客] 1. 简介 其实标题我是打算叫"抢眼 ...

最新文章

  1. springboot下使用mybatis配置
  2. 三菱模拟量输入与输出程序_初学PLC是学习西门子还是三菱?
  3. java kryo register_java相关:Kryo框架使用方法代码示例
  4. 某些微型计算机使用Pentium,2010四川省计算机等级考试二级理论考试试题及答案...
  5. BZOJ1354: [Baltic2005]Bus Trip
  6. DragDrop 注册失败的解决方法 转
  7. 大数据开发笔记(四):Hive分区详解
  8. 政务大数据需要避免三个误区
  9. c语言课外读书笔记谭浩强,谭浩强C语言读书笔记
  10. Pr 视频效果:模糊与锐化
  11. django+layui图片上传(用户头像修改,实时预览)
  12. MCSA / Windows Server 2016 系列笔记 -开篇
  13. 万网如何修改dns服务器,万网域名如何修改DNS设置方法
  14. python人物关系可视化百年孤独_利用python对《乘风破浪的姐姐》可视化
  15. 解决Waiting for incoming connection with ide key xdebug错误
  16. 【有利可图网】PS教程:用PS合成立体特效的穿插照片效果
  17. GPRS模块与STM32的数据传输
  18. 更新conda出现:PackageNotInstalledError: Package is not installed in prefix. 的解决
  19. 从0开始学web-day2
  20. Wu反走样算法绘制圆(C++/MFC实现)

热门文章

  1. 有关水果蔬菜的类型网站
  2. 码头风云——5G降临
  3. NLP语料库构建(corpus)
  4. css如何实现10px字体
  5. Web 容器、HTTP 服务器 、Servlet 容器区别与联系
  6. python PIL读取图像转换为灰度图及二值图像
  7. 人脸识别门禁入主社区 新潮不代表不安全
  8. Lorenz系统Lyapunov指数图
  9. 前端开发入门:前端构建工具百度FIS
  10. powerdesigner画UML组件图初步