ABAP - Function ALV 06 红绿黄灯

  • 实际开发中会有一些需求要求添加红绿黄灯列,例如ALVZ中交货单是否已完成拣配、未拣配、未完成拣配等状态进行红绿灯的显示,以求达到ALV简洁明了的目的,显示效果如下图所示。

  •  完成这一功能只需要在结构定义时添加一个字段然后赋值即可。字段类型参考ICONNAME
TYPES:BEGIN OF ty_data,light  TYPE iconname,        END OF ty_data.DATA gw_data TYPE ty_data.gw_data-light =  icon_red_light.    "表示红灯gw_data-light =  ICON_yellow_LIGHT. "表示黄灯gw_data-light =  ICON_green_LIGHT.  "表示绿灯



  • 完整代码
TYPES:BEGIN OF ty_data,sel    TYPE char1,light  TYPE iconname,name   TYPE char10,score  TYPE p LENGTH 2 DECIMALS 1,remark TYPE c LENGTH 20,END OF ty_data.DATA gt_data TYPE TABLE OF ty_data.
DATA gw_data TYPE ty_data.** Layout  变量定义
DATA gs_layout   TYPE lvc_s_layo.** Fieldcat 变量定义
DATA:gt_fieldcat TYPE lvc_t_fcat,gs_fieldcat LIKE LINE OF gt_fieldcat.** FieldCat的宏
DATA gv_pos TYPE i.DEFINE %%add_fieldcat.gv_pos = gv_pos + 1.gs_fieldcat-col_pos = gv_pos.gs_fieldcat-fieldname = &1.gs_fieldcat-scrtext_m = &2.CASE &1.WHEN 'SEL'.gs_fieldcat-checkbox = 'X'. "当做选择框显示gs_fieldcat-edit     = 'X'. "该字段可以编辑ENDCASE.APPEND gs_fieldcat TO gt_fieldcat.CLEAR gs_fieldcat.
END-OF-DEFINITION.START-OF-SELECTION.PERFORM get_data.PERFORM dis_falv.FORM get_data.gt_data[] = VALUE #(( sel = '' light = '' name = 'TOM'    score = '58')( sel = '' light = '' name = 'JEERY'  score = '98')( sel = '' light = '' name = 'MASTER' score = '68')).LOOP AT gt_data INTO gw_data.IF gw_data-score < 60.gw_data-light =  icon_red_light.gw_data-remark = '不及格'.ELSEIF gw_data-score >= 60 AND  gw_data-score < 85.gw_data-light =  ICON_yellow_LIGHT.gw_data-remark = '良好'.ELSEIF gw_data-score >= 85.gw_data-light =  ICON_green_LIGHT.gw_data-remark = '优秀'.ENDIF.MODIFY gt_data FROM gw_data.ENDLOOP.
ENDFORM.FORM dis_falv.
** Fieldcat字段映射处理%%add_fieldcat:'SEL'      '选择',  "( 前面字段值不可变 后面字段描述可变 每一行都是)'LIGHT'    '状态','REMARK'   '备注','NAME'     '姓名','SCORE'    '分数'.** Layout布局处理gs_layout-cwidth_opt = 'X'.     "自动优化列宽 (可以使用**在一行代码面前注释掉 看看ALV会有什么效果)gs_layout-zebra = 'X'.          "斑马纹输出** 调用FunctionALV需要传入的参数:展示数据,FieldCat,Layout,StatusCALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'EXPORTINGi_callback_program       = sy-repidi_callback_pf_status_set = 'FRM_SET_STATUS'is_layout_lvc            = gs_layoutit_fieldcat_lvc          = gt_fieldcatTABLESt_outtab                 = gt_data[]EXCEPTIONSprogram_error            = 1OTHERS                   = 2.
ENDFORM.FORM frm_set_status USING p_extab TYPE slis_t_extab.SET PF-STATUS 'STANDARD'.
ENDFORM.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/491293.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STM32 系统滴答时钟启动过程 SysTick_Config

STM32 系统滴答时钟启动过程 SysTick_Config 1. 系统滴答时钟1.1 简介1.2 配置1.3 启动和更新 1. 系统滴答时钟 1.1 简介 SysTick&#xff1a;系统滴答时钟&#xff0c;属于Cortex-M4内核中的一个外设&#xff0c;24bit向下递减计数。 Systick定时器常用来做延时&#xff0c;…

排列组合简单详解(附10题)(会员版)

非会员,不用注册会员也能看! https://blog.csdn.net/Runcode8/article/details/136274861https://blog.csdn.net/Runcode8/article/details/136274861 一、认识C,P,A: A.排列 A(x,y)=(x!)/[(x-y)!]=x(x-1)...(x-y+1) P.排列 P(x,y)=A(x,y) C.组合 C(x,…

NXP实战笔记(九):S32K3xx基于RTD-SDK在S32DS上配置 CRCIRQPower

目录 1、CRC概述 1.1、CRC配置 1.2、代码示例 2、INTCTRL 3、Power 1、CRC概述 硬件CRC产生16或者32bit的&#xff0c;S32K3提供了可编程多项式与其他参数需求。 CRC图示如下 1.1、CRC配置 暂时DMA不怎么会用&#xff0c;所以没有启用DMA CRC的选择 这点需要十分注意&…

Vue | (六)使用Vue脚手架(下)| 尚硅谷Vue2.0+Vue3.0全套教程

文章目录 &#x1f4da;Vue 中的自定义事件&#x1f407;使用方法&#x1f407;案例练习&#x1f407;TodoList案例优化 &#x1f4da;全局事件总线&#x1f407;使用方法&#x1f407;案例练习&#x1f407;TodoList案例优化 &#x1f4da;消息订阅与发布&#x1f407;使用方法…

RK3568平台开发系列讲解(Linux系统篇)字符设备驱动:主设备和次设备

🚀返回专栏总目录 文章目录 一、主设备和次设备的概念二、设备号的分配和释放沉淀、分享、成长,让自己和他人都能有所收获!😄 字符设备通过字符(一个接一个的字符)以流方式向用户程序传递数据,就像串行端口那样。字符设备驱动通过/dev目录下的特殊文件公开设备的属性和…

知乎万赞:为什么我不建议你转行学python?_为什么不建议学python

写在前面 本文的目的很简单&#xff0c;一句话&#xff1a; 用最少的时间&#xff0c;最高效率&#xff0c;让你清楚&#xff1a;想要拿到python offer&#xff0c;你需要做什么&#xff1f;你该怎么做&#xff1f;如果你不具备这些条件&#xff0c;我不建议你转行学python&a…

linux系统git常规操作

Git命令常规操作 常用命令说明常用操作示意图文件的状态变化周期 添加文件跟踪文件会添加到.git的隐藏目录由工作区提交到本地仓库查看git的状态提交后的git目录状态 删除文件重命名暂存区数据查看历史记录还原历史数据还原未来数据标签使用对比数据 常用命令说明 命令命令说明…

C++ //练习 8.9 使用你为8.1.2节(第281页)第一个练习所编写的函数打印一个istringstream对象的内容。

C Primer&#xff08;第5版&#xff09; 练习 8.9 练习 8.9 使用你为8.1.2节&#xff08;第281页&#xff09;第一个练习所编写的函数打印一个istringstream对象的内容。 环境&#xff1a;Linux Ubuntu&#xff08;云服务器&#xff09; 工具&#xff1a;vim 代码块 /*****…

8.网络游戏逆向分析与漏洞攻防-游戏网络架构逆向分析-游戏底层功能对接类GameProc的实现

内容参考于&#xff1a;易道云信息技术研究院VIP课 上一个内容&#xff1a;通过逆向分析确定游戏明文接收数据过程 码云地址&#xff08;master 分支&#xff09;&#xff1a;https://gitee.com/dye_your_fingers/titan 码云版本号&#xff1a;bcf7559184863febdcad819e48aaa…

C语言中的函数设计与调用优化

大家好&#xff0c;今天给大家介绍C语言中的函数设计与调用优化&#xff0c;文章末尾附有分享大家一个资料包&#xff0c;差不多150多G。里面学习内容、面经、项目都比较新也比较全&#xff01;可进群免费领取。 一、引言 在C语言中&#xff0c;函数是代码组织的基本单元&…

面向企业 SaaS 应用程序的应用程序性能管理

企业应用程序需要高度的可扩展性来满足庞大的最终用户群&#xff0c;这些组织中的 IT 团队面临的首要问题是监控正常运行时间并确保其业务应用程序的良好性能&#xff0c;为了解决这些问题&#xff0c;企业需要对端到端应用程序性能管理工具进行战略投资&#xff0c;使 IT 运营…

wcf 简单实践 数据绑定 数据更新ui

1.概要 2.代码 2.1 xaml <Window x:Class"WpfApp3.MainWindow"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d"http://schemas.microsoft.com/expr…