ABAP - Function ALV 10 增加表头

  • 有些需求会要求在ALV增加表头,大概长这样 
  • REUSE_ALV_GRID_DISPLAY_LVC制造表头只需要加个传入参数I_CALLBACK_HTML_TOP_OF_PAGE并作处理就好了。
    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,Status
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
        EXPORTING
          i_callback_program          = sy-repid
          i_callback_pf_status_set    = 'FRM_SET_STATUS'
          i_callback_html_top_of_page = 'FRM_TOP_OF_PAGE'
          i_html_height_top           = 20  "抬头高度
          is_layout_lvc               = gs_layout
          it_fieldcat_lvc             = gt_fieldcat
        TABLES
          t_outtab                    = gt_data[]
        EXCEPTIONS
          program_error               = 1
          OTHERS                      = 2.
    ENDFORM.
    
    FORM frm_top_of_page USING cl_dd TYPE REF TO cl_dd_document.
      DATA: lv_index TYPE i.
      DATA: lv_html  TYPE string.
      DATA: lv_sum   TYPE string.
    
      lv_sum = lines( gt_data ).
      lv_html =  |<HTML><CENTER><H3>学生成绩报表</H3></CENTER></HTML>|
               & |出表人:{ sy-uname }<br/>|
               & |出表日期: { sy-datum }<br/>|
               & |报表条数:{ lv_sum }<br/> |.
    
     cl_dd->html_insert( EXPORTING
                           contents = lv_html
                         CHANGING
                           position = lv_index
                        ).
    
    ENDFORM.
    
    FORM frm_set_status USING p_extab TYPE slis_t_extab.
      SET PF-STATUS 'STANDARD'.
    ENDFORM.

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【C++入门到精通】哈希 (STL) _ unordered_map _ unordered_set [ C++入门 ]

阅读导航 前言一、unordered系列容器二、unordered_map1. unordered_map简介⭕函数特点 2. unordered_map接口- 构造函数- unordered_map的容量- unordered_map的迭代器- unordered_map的元素访问- unordered_map的修改操作- unordered_map的桶操作 三、unordered_set1. unorde…

安全运营中心(SOC)综合指南

什么是安全运营中心&#xff08;SOC&#xff09; 安全运营中心&#xff0c;也称为信息安全运营中心 &#xff08;ISOC&#xff09;&#xff0c;是结构良好的网络安全战略的核心。安全运营中心是一个集中式枢纽&#xff0c;无论是在组织内部还是外包&#xff0c;都致力于对整个…

配电网重构知识及matlab实现

配网重构中&#xff0c;很重要的一个约束条件为配网应随时保持开环、辐射的状态&#xff1a; 配电网系统是属于闭环设计但是开环运行的系统&#xff0c;因此&#xff0c;在开关的开闭过程中&#xff0c;随时保持配电网的开环状态时很重要。Mendoza等利用图论&#xff0c;尤其是…

安全防御-第六次

内容安全 攻击可能只是一个点&#xff0c;防御需要全方面进行 DFI和DPI技术--- 深度检测技术 DPI --- 深度包检测技术--- 主要针对完整的数据包&#xff08;数据包分片&#xff0c;分段需要重组&#xff09;&#xff0c;之后对数据包的内容进行识别。&#xff08;应用层&…

【Web安全靶场】sqli-labs-master 1-20 BASIC-Injection

sqli-labs-master 1-20 BASIC-Injection 文章目录 sqli-labs-master 1-20 BASIC-Injection第一关-报错注入第二关-报错注入第三关-报错注入第四关-报错注入第五关-报错注入-双查询注入第六关-报错注入-双查询注入第七关-outfile写入webshell第八关-布尔盲注第九关-时间盲注第十…

LeetCode 刷题 [C++] 第240题.搜索二维矩阵 II

题目描述 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性&#xff1a; 每行的元素从左到右升序排列。 每列的元素从上到下升序排列。 题目分析 通过分析矩阵的特点发现&#xff0c;其左下角和右上角可以看作一个“二叉搜索树的根节…

Unity开发一个FPS游戏

在之前的文章Unity 3D Input System的使用-CSDN博客中,我介绍了如何用Input System来实现一个FPS游戏的移动控制,这里将进一步完善这个游戏。 以下是游戏的演示效果: fps_demo 添加武器模型 首先是增加主角玩家的武器,我们可以在网上搜索到很多免费的3D资源,例如在以下网…

物联网APP开发:技术、挑战与前景

随着科技的快速发展&#xff0c;物联网&#xff08;IoT&#xff09;已经成为当今世界的重要趋势。物联网是将物理世界的各种“事物”与互联网连接起来&#xff0c;通过智能设备、传感器和执行器实现数据的收集、交换和处理&#xff0c;以改善生活和工作的方式。物联网APP是实现…

贪心算法

贪心算法 例题1、股票买卖题目信息思路题解 2、货仓选址题目信息思路题解 3、糖果传递题目信息思路题解 4、雷达设备题目信息思路题解 例题 1、股票买卖 题目信息 思路 相邻两天&#xff0c;后>前&#xff0c;则交易一次 题解 #include <bits/stdc.h> #define en…

【从零开始学习重要知识点 | 第一篇】快速了解什么是幂等性以及常见解决方案

前言&#xff1a; 当我们在设计和实现分布式系统时&#xff0c;幂等性是一个非常重要的概念。幂等性可以简单地理解为&#xff1a;对于同一操作&#xff0c;不论执行多少次&#xff0c;产生的影响都是相同的。这个概念在分布式系统中非常重要&#xff0c;因为在这种环境下&…

如何使用ArcGIS Pro为栅格图添加坐标信息

在某些时候&#xff0c;我们从网上获取的资源是一张普通的栅格图&#xff0c;没有任何的坐标信息&#xff0c;如果想要和带坐标信息的数据一起使用就需要先添加坐标信息&#xff0c;在GIS上&#xff0c;我们把这个过程叫做地理配准&#xff0c;这里为大家介绍一下地理配准的方法…

【JavaEE】_前端POST请求借助form表单向后端传参

目录 1. 前端POST请求借助form表单向后端传参 2. 关于parameter方法获取参数的优先性问题 前端向后端传参通常有三种方法&#xff1a; 第一种&#xff1a;使用GET请求的query string部分向后端传参&#xff1a; 本专栏中已经详述了前端使用GET请求的query string向后端传参…

【严格递增】2972统计移除递增子数组的数目 II

作者推荐 动态规划的时间复杂度优化 本文涉及知识点 严格递增 子数组 LeetCode2972. 统计移除递增子数组的数目 II 给你一个下标从 0 开始的 正 整数数组 nums 。 如果 nums 的一个子数组满足&#xff1a;移除这个子数组后剩余元素 严格递增 &#xff0c;那么我们称这个子…

ESP32语音转文字齐护百度在线语音识别

一、导入(10分钟&#xff09; 学习目的 二、新授(70分钟) 1.预展示结果(5分钟) 2.本节课所用的软硬件(5分钟) 4.图形化块介绍(10分钟) 5.单个模块的简单使用(10分钟) 6.在线语音转换工具逻辑分析(10分钟) 7.在线语音转换工具分步实现(30分钟) 三、巩固练习(5分钟) 四、课堂小结…

【论文复现】——一种新的鲁棒三维点云平面拟合方法

目录 一、算法原理1、论文概述2、参考文献二、代码实现三、结果展示本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的GPT爬虫。 一、算法原理 1、论文概述 针对三维点云中的异常值和粗差点对平面拟合精度产生的影响,文章提出一…

[Mac软件]Adobe Substance 3D Stager 2.1.4 3D场景搭建工具

应用介绍 Adobe Substance 3D Stager&#xff0c;您设备齐全的虚拟工作室。在这个直观的舞台工具中构建和组装 3D 场景。设置资产、材质、灯光和相机。导出和共享媒体&#xff0c;从图像到 Web 和 AR 体验。 处理您的最终图像 Substance 3D Stager 可让您在上下文中做出创造性…

【无标题】积鼎CFD VirtualFlow:航空及汽车燃油晃动流体仿真计算及试验对比

图1 汽车储液罐内的液体晃动 燃油晃动&#xff0c;作为航空、航海及汽车工业中一个重要的物理现象&#xff0c;一直以来都受到广泛关注。在飞行器、船舶或汽车的运行过程中&#xff0c;由于外部扰动或内部燃料的消耗&#xff0c;油箱内的燃油会产生晃动。这种晃动不仅会影响燃…

[Flutter]设置应用包名、名称、版本号、最低支持版本、Icon、启动页以及环境判断、平台判断和打包

一、设置应用包名 在Flutter开发中&#xff0c;修改应用程序的包名&#xff08;也称作Application ID&#xff09;涉及几个步骤&#xff0c;因为包名是在项目的Android和iOS平台代码中分别配置的。请按照以下步骤操作&#xff1a; 1.Android Flutter工程中全局搜索替换包名 …

SpringMVC 学习(九)之拦截器

目录 1 拦截器介绍 2 创建一个拦截器类 3 配置拦截器 1 拦截器介绍 在 SpringMVC 中&#xff0c;拦截器 (Interceptor) 是一种用于拦截 HTTP 请求并在请求处理之前或之后执行自定义逻辑的组件。拦截器可以用于实现以下功能&#xff1a; 权限验证&#xff1a;在请求处理之前…

第五节:Vben Admin权限-前端控制方式

系列文章目录 第一节:Vben Admin介绍和初次运行 第二节:Vben Admin 登录逻辑梳理和对接后端准备 第三节:Vben Admin登录对接后端login接口 第四节:Vben Admin登录对接后端getUserInfo接口 第五节:Vben Admin权限-前端控制方式 文章目录 系列文章目录前言一、Vben Admin权…