sap Status状态栏设计
(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状态栏设计相关推荐
- SAP SD里CDS view对status的设计
SAP S4CRM One Order redesign的CDS view也参考了SD里的CDS view对状态字段的处理:
- MFC对话框中的工具栏、状态栏设计小结
对网上的资料结合自己的实践的总结,由于大部分都是网上先辈们的经验,这里只是直接将内容拿来,格式优化一下更易读而已. 对话框中建立工具栏的方法 工具栏中包含了一组用于执行命令的按钮,每个按钮都用一个图标 ...
- Android Status(状态栏) 着色
方案一 将状态栏透明 代码设置 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {//5.0及以上View decorVie ...
- SAP Spartacus layout设计原理
layout包含sections,sections包含slot. 文件路径:C:\Code\SPA\spartacus\projects\storefrontlib\src\recipes\confi ...
- SAP 银行存款科目设计的几种思路探讨
(1)方案一: 每个银行账户对应一个会计科目,会计科目描述显示银行账户相关信息. 缺点:容易造成科目臃肿,时间长了,不适用于大型联合企业. (2)方案二: 每个银行账户对应一套开户行.账户标识. 开户 ...
- Java基础之扩展GUI——添加状态栏(Sketcher 1 with a status bar)
控制台程序. 为了显示各个应用程序参数的状态,并且将各个参数显示在各自的面板中,在应用程序窗口的底部添加状态栏是常见且非常方便的方式. 定义状态栏时没有Swing类可用,所以必须自己建立StatusB ...
- SAP SD基础知识之组织架构设计-Shipping Point篇
SAP SD基础知识之组织架构设计-Shipping Point篇 今天博主项目上不太忙,关键用户在做单元测试,那就再写一篇吧,作为组织架构设计的完结篇. Shipping Point,即装运点,同信 ...
- SAP UI的加载动画效果和幽灵设计(Ghost Design)
这是Jerry 2021年的第 14 篇文章,也是汪子熙公众号总共第 285 篇原创文章. 在本篇文章之前,Jerry 印象最深的幽灵,应该要算<星际争霸I>里人族能够隐形的空中单位 Wr ...
- SAP MM IM层面盘点流程中偷懒技巧之设计
SAP MM IM 层面盘点流程中偷懒技巧之设计 大家知道,SAP IM层面的盘点,标准流程是:创建盘点凭证,录入盘点结果,差异清账处理. 常用的事务代码如下: MI01 – 创建盘点凭证: MI02 ...
最新文章
- IC卡读卡器web开发,支持IE,Chrome,Firefox,Safari,Opera等主流浏览 器
- Windows Phone 7 cs页面添加样式
- 准备开始在51上写博了。
- linux 读书笔记
- Excel较大规模数据处理实例(可直接用)python实现
- 查看数据库中的字段所在的表中或某值所在的表和字段
- 2018大华软件大赛模拟赛第4题 (某股票操盘手账户里有N支股票,股价互不等)
- OpenGL ES总结(三)OpenGL通过计算纹理坐标来显示一张图片
- 13、细说装饰器与闭包
- 一文看懂人工智能产业链!
- access统计班级人数_[access查询]access查询分段统计人数
- 2022年10月 使用win11系统自带远程桌面,远程控制VMware虚拟机系统
- Microsoft SQL Server 数据库使用(二)
- [Mitchell 机器学习读书笔记]——人工神经网络
- 虹科云课堂 | 干货不断!汽车专题直播月本周课程预告
- 设编号为1,2,… n的n个人围坐一圈,约定编号为k(1=k=n)的人从1开始报数,数到m 的那个人出列,它的下一位又从1开始报数,数到m的那个人又出列,依次类推,直到所有人出列为止,由此产生一个
- ios14测试版兼容软件,iOS14测试版抢先体验教程!你的iPhone可以更新吗?【附iOS14独有彩蛋】...
- b500k电位器引脚接法_电位器引脚含义是什么
- python爬虫天气实例_Python爬虫实例扒取2345天气预报
- 人工智能时代,最容易被人工智能取代的职位是什么