(1). 用TCODE:se41,se80,se90(Programming Library-->Programming SubObjects--> Gui Status.)等都可以,拷贝一个标准的GUI status( 拷贝程序SAPLKKBL中的'STANDARD' GUI status)到你的程序.
然后写PBO写代码:
DATA: I_QMEL LIKE MAKT OCCURS 0.
DATA V_REPID TYPE REPID.
SELECT * FROM MAKT INTO TABLE I_QMEL.
V_REPID = SY-REPID.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = V_REPID
I_CALLBACK_PF_STATUS_SET = 'SET_PF_STATUS'
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
I_STRUCTURE_NAME = 'MAKT'
TABLES
T_OUTTAB = I_QMEL
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.
然后可以通过修改gui_status删除按扭或着增加按扭
在 'REUSE_ALV_GRID_DISPLAY' 中有
I_CALLBACK_PF_STATUS_SET = 'SET_PF_STATUS'
。这里的I_CALLBACK_PF_STATUS_SET 是否是类似语句:SET PF_STATUS ‘STATUS1’ ?
如果是的话,那么自己创建一个用户STATUS1,不就可以替代那个标准的状态栏了吗?

(2).通过代码写,要自己建类和方法.可以通过示例代码学习.BCALV_GRID_08.
然后要在pbo里调用下再激活下gui_status就可以了.

*&-------------------------------------------------------------------
*& Form set_pf_status
*&-------------------------------------------------------------------
FORM set_pf_status USING rt_extab TYPE slis_t_extab.
SET PF-STATUS 'ALV_PF_STATUS'.
ENDFORM. "Set_pf_status
此FORM的作用是在标准的ALV工具栏上添加自定义的按钮
该名称必须和FUNCTION 参数I_CALLBACK_PF_STATUS_SET = 'SET_PF_STATUS'对应起来,即FORM的名称和变量名称要一样.
GUI STATUS 'ALV_PF_STATUS'是自己定义的,因为自定义后会把标准的ALV工具栏覆盖,所以还要把标准工具栏复制过来.
方法如下:
T-CODE :SE90 Program Library-- GUI Status
program name:SAPLKKBL GUI Status:STANDARD_FULLSCREEN 标准的ALV工具栏名称,F8运行,选择菜单栏GUI Status---COPY,最后输入你的程序名以及你自定义的GUI Status名,此例即为ALV_PF_STATUS,再添加按钮.

范例:

*&-------------------------------------------------------------------
*& Form ALV_USER_COMMAND
*&-------------------------------------------------------------------
* -->R_UCOMM text
* -->RS_SELFIELD text
*----------------------------------------------------------------------*
form ALV_USER_COMMAND using r_ucomm like sy-ucomm
rs_selfield type slis_selfield. "响应ALV点击自定义按钮之后的事件
case r_ucomm.
when 'EXIT2'. "在set pf-status '9100'.的屏幕状态里面自定义的按钮名称
LEAVE TO SCREEN 0.
WHEN '&DATA_SAVE'. "修改屏幕字段物料描述MAKTX,此时的&DATA_SAVE是标准GUI的参数,I_CALLBACK_PF_STATUS_SET 不要进行设置
LOOP AT IT_MATNR.
READ TABLE IT_MATNR_OLD ASSIGNING <MATNR> 
WITH KEY MATNR = IT_MATNR-MATNR.
CHECK IT_MATNR-MAKTX <> <matnr>-MAKTX.
UPDATE MAKT SET MAKTX = IT_MATNR-MAKTX WHERE MATNR = IT_MATNR-MATNR
AND SPRAS = 'M'.
ENDLOOP.
WHEN '&IC1'."表示双击
CHECK rs_selfield-tabindex > 0.
READ TABLE IT_MATNR INDEX rs_selfield-tabindex.
SET PARAMETER ID : 'MAT' FIELD IT_MATNR-MATNR.
CALL TRANSACTION 'MM03' AND SKIP FIRST SCREEN.
endcase.
rs_selfield-fieldname表示双击的字段名,有时候有用.
endform. "ALV_USER_COMMAND

sap Status状态栏设计相关推荐

  1. SAP SD里CDS view对status的设计

    SAP S4CRM One Order redesign的CDS view也参考了SD里的CDS view对状态字段的处理:

  2. MFC对话框中的工具栏、状态栏设计小结

    对网上的资料结合自己的实践的总结,由于大部分都是网上先辈们的经验,这里只是直接将内容拿来,格式优化一下更易读而已. 对话框中建立工具栏的方法 工具栏中包含了一组用于执行命令的按钮,每个按钮都用一个图标 ...

  3. Android Status(状态栏) 着色

    方案一 将状态栏透明 代码设置 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {//5.0及以上View decorVie ...

  4. SAP Spartacus layout设计原理

    layout包含sections,sections包含slot. 文件路径:C:\Code\SPA\spartacus\projects\storefrontlib\src\recipes\confi ...

  5. SAP 银行存款科目设计的几种思路探讨

    (1)方案一: 每个银行账户对应一个会计科目,会计科目描述显示银行账户相关信息. 缺点:容易造成科目臃肿,时间长了,不适用于大型联合企业. (2)方案二: 每个银行账户对应一套开户行.账户标识. 开户 ...

  6. Java基础之扩展GUI——添加状态栏(Sketcher 1 with a status bar)

    控制台程序. 为了显示各个应用程序参数的状态,并且将各个参数显示在各自的面板中,在应用程序窗口的底部添加状态栏是常见且非常方便的方式. 定义状态栏时没有Swing类可用,所以必须自己建立StatusB ...

  7. SAP SD基础知识之组织架构设计-Shipping Point篇

    SAP SD基础知识之组织架构设计-Shipping Point篇 今天博主项目上不太忙,关键用户在做单元测试,那就再写一篇吧,作为组织架构设计的完结篇. Shipping Point,即装运点,同信 ...

  8. SAP UI的加载动画效果和幽灵设计(Ghost Design)

    这是Jerry 2021年的第 14 篇文章,也是汪子熙公众号总共第 285 篇原创文章. 在本篇文章之前,Jerry 印象最深的幽灵,应该要算<星际争霸I>里人族能够隐形的空中单位 Wr ...

  9. SAP MM IM层面盘点流程中偷懒技巧之设计

    SAP MM IM 层面盘点流程中偷懒技巧之设计 大家知道,SAP IM层面的盘点,标准流程是:创建盘点凭证,录入盘点结果,差异清账处理. 常用的事务代码如下: MI01 – 创建盘点凭证: MI02 ...

最新文章

  1. IC卡读卡器web开发,支持IE,Chrome,Firefox,Safari,Opera等主流浏览 器
  2. Windows Phone 7 cs页面添加样式
  3. 准备开始在51上写博了。
  4. linux 读书笔记
  5. Excel较大规模数据处理实例(可直接用)python实现
  6. 查看数据库中的字段所在的表中或某值所在的表和字段
  7. 2018大华软件大赛模拟赛第4题 (某股票操盘手账户里有N支股票,股价互不等)
  8. OpenGL ES总结(三)OpenGL通过计算纹理坐标来显示一张图片
  9. 13、细说装饰器与闭包
  10. 一文看懂人工智能产业链!
  11. access统计班级人数_[access查询]access查询分段统计人数
  12. 2022年10月 使用win11系统自带远程桌面,远程控制VMware虚拟机系统
  13. Microsoft SQL Server 数据库使用(二)
  14. [Mitchell 机器学习读书笔记]——人工神经网络
  15. 虹科云课堂 | 干货不断!汽车专题直播月本周课程预告
  16. 设编号为1,2,… n的n个人围坐一圈,约定编号为k(1=k=n)的人从1开始报数,数到m 的那个人出列,它的下一位又从1开始报数,数到m的那个人又出列,依次类推,直到所有人出列为止,由此产生一个
  17. ios14测试版兼容软件,iOS14测试版抢先体验教程!你的iPhone可以更新吗?【附iOS14独有彩蛋】...
  18. b500k电位器引脚接法_电位器引脚含义是什么
  19. python爬虫天气实例_Python爬虫实例扒取2345天气预报
  20. 人工智能时代,最容易被人工智能取代的职位是什么

热门文章

  1. 思维、视角、设计丨产品经理的三板斧
  2. 90后招你惹你了?去你的佛系!
  3. 【NLP】【七】fasttext源码解析
  4. 学习python:练习3.随机生成200个序列号存入文件
  5. 性能分布式NewLife.XCode对无限数据的支持
  6. 邮件防伪SPF,反垃圾邮件
  7. Linq中的Where与SkipWhile
  8. flash开发中如何实现界面代码分离
  9. ASP.NET介绍及C#基本语法(一)
  10. 细说多线程(六) —— 异步 SqlCommand