ABAP实现ALV表头的DEMO:

运行效果:

代码:

***********************************************************************
*TEST
***********************************************************************
REPORT ZTESTR1_XFL NO STANDARD PAGE HEADING
MESSAGE-ID LINE-SIZE LINE-COUNT .
************************************************************************
* Tables Definitions
************************************************************************
*TABLES:xxxxx. ************************************************************************
* Data Definitions
************************************************************************
DATA:BEGIN OF GT_ITAB OCCURS ,
NAME() TYPE C,
AGE TYPE I,
CLASS() TYPE C,
END OF GT_ITAB. TYPE-POOLS : SLIS.
DATA:GT_EVENT TYPE SLIS_T_EVENT,
GW_EVENT LIKE LINE OF GT_EVENT.
DATA:LISTHEADER TYPE SLIS_T_LISTHEADER,
WA_LISTHEADER LIKE LINE OF LISTHEADER.
DATA: GS_LAYOUT TYPE SLIS_LAYOUT_ALV,
GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE. ************************************************************************
* Selection Screen
************************************************************************ ************************************************************************
* Initialization
************************************************************************
INITIALIZATION. ************************************************************************
* At Selection Screen
************************************************************************
AT SELECTION-SCREEN. ************************************************************************
* At Selection Screen Output
************************************************************************
AT SELECTION-SCREEN OUTPUT. ************************************************************************
* Report Format
************************************************************************
TOP-OF-PAGE. END-OF-PAGE.
************************************************************************
* Main Process
************************************************************************
START-OF-SELECTION.
PERFORM GET_DATA.
PERFORM BUILD_EVENTS.
PERFORM FRM_TOP_OF_PAGE.
PERFORM CATA_LOG.
PERFORM ALV_SHOW. END-OF-SELECTION. *&---------------------------------------------------------------------*
*& Form GET_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM GET_DATA .
GT_ITAB-NAME = '张三'.
GT_ITAB-AGE = .
GT_ITAB-CLASS = 'Class1'.
APPEND GT_ITAB.
CLEAR GT_ITAB. GT_ITAB-NAME = '李四'.
GT_ITAB-AGE = .
GT_ITAB-CLASS = 'Class2'.
APPEND GT_ITAB.
CLEAR GT_ITAB. ENDFORM. " GET_DATA FORM BUILD_EVENTS.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE =
IMPORTING
ET_EVENTS = GT_EVENT
EXCEPTIONS
LIST_TYPE_WRONG =
OTHERS =
.
IF SY-SUBRC <> .
* Implement suitable error handling here
ENDIF. READ TABLE GT_EVENT WITH KEY NAME = 'TOP_OF_PAGE' INTO GW_EVENT.
IF SY-SUBRC = .
MOVE 'FRM_TOP_OF_PAGE' TO GW_EVENT-FORM.
MODIFY GT_EVENT FROM GW_EVENT INDEX SY-TABIX.
ENDIF. ENDFORM. FORM FRM_TOP_OF_PAGE.
DATA: H_DATUM() TYPE C,
H_UZEIT() TYPE C.
CLEAR:LISTHEADER,WA_LISTHEADER.
*标题
WA_LISTHEADER-TYP = 'H'.
WA_LISTHEADER-KEY = ''.
WA_LISTHEADER-INFO = 'XXX学校'.
APPEND WA_LISTHEADER TO LISTHEADER.
CLEAR:WA_LISTHEADER. *中标题
WA_LISTHEADER-TYP = 'S'.
WA_LISTHEADER-KEY = ''.
WA_LISTHEADER-INFO = '学生名单'.
APPEND WA_LISTHEADER TO LISTHEADER.
CLEAR:WA_LISTHEADER. WRITE SY-DATUM TO H_DATUM DD/MM/YYYY.
WRITE SY-UZEIT TO H_UZEIT USING EDIT MASK '__:__:__'.
*小标题
WA_LISTHEADER-TYP = 'A'.
WA_LISTHEADER-KEY = ''.
CONCATENATE 'Today:' H_DATUM 'Time:' H_UZEIT
INTO WA_LISTHEADER-INFO.
APPEND WA_LISTHEADER TO LISTHEADER.
CLEAR:WA_LISTHEADER. CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = LISTHEADER
* I_LOGO = ''
* I_END_OF_LIST_GRID =
* I_ALV_FORM = .
ENDFORM. *&---------------------------------------------------------------------*
*& Form CATA_LOG
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM CATA_LOG.
DEFINE FILEDCAT.
GT_FIELDCAT-FIELDNAME = &.
GT_FIELDCAT-SELTEXT_L = &.
APPEND GT_FIELDCAT.
END-OF-DEFINITION.
FILEDCAT 'NAME' '姓名'.
FILEDCAT 'AGE' '年龄'.
FILEDCAT 'CLASS' '班级'.
ENDFORM. " CATA_LOG *&---------------------------------------------------------------------*
*& Form ALV_SHOW
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM ALV_SHOW . GS_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
* 显示ALV的函数
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
IS_LAYOUT = GS_LAYOUT
IT_FIELDCAT = GT_FIELDCAT[]
IT_EVENTS = GT_EVENT
I_SAVE = 'A' "保存全局,特定變式
TABLES
T_OUTTAB = gt_itab
EXCEPTIONS
PROGRAM_ERROR =
OTHERS = . ENDFORM. " ALV_SHOW

  

ALV报表——表头实现的更多相关文章

  1. ALV报表——点击事件(二)

    目录 一.ALV点击事件(双击) 一.ALV点击事件(双击) 代码: *Report ZRFI001_XFL_TEST REPORT ZRFI001_XFL_TEST . *定义ALV所需要用到的类型 ...

  2. ALV报表——基础(一)

    目录 一.ALV的简介 二.程序实现 2.1.实现步骤 2.2.代码示例 三.Layout.Fieldcat相关属性,ALV输出函数 3.1.Layout相关属性 3.2.Fieldcat相关属性 3 ...

  3. JAVA操作Excel 可配置,动态 生成复杂表头 复杂的中国式报表表头

    转载:开源社区http://www.oschina.net/code/snippet_1424099_49530?p=2代码] [Java]代码 该代码实现了Excel复杂表头的生成 基于sql se ...

  4. ALV报表——发送Excel报表邮件

    ABAP发送报表邮件 运行效果: 代码: *&---------------------------------------------------------------------* *& ...

  5. ALV报表——选择屏幕选项卡

    ALV选择屏幕选项卡 运行效果: 代码: *&--------------------------------------------------------------------* *&a ...

  6. ALV报表——ALV颜色设置(三)

    目录 一.行 二.列 三.单元格 四.附ALV的颜色代码 一.行:用Layout相关属性设置 代码: *Report ZRFI001_XFL_TEST REPORT ZRFI001_XFL_TEST ...

  7. jquery 根据年 月设置报表表头

    function setTblHeadr(thisTime){ $("#datatable_ajax1 thead").empty(); //获取星期 var weekday=ne ...

  8. ALV报表——抓取工单长文

    ABAP抓取工单长文 运行效果: 代码: *&---------------------------------------------------------------------* *& ...

  9. ALV报表——选择屏幕变量赋值

    ABAP选择屏幕变量赋值 运行效果: 代码: *&---------------------------------------------------------------------* ...

随机推荐

  1. RNA剪接体 Spliceosome | 冷冻电镜 | 结构生物学

    冷冻电镜 为什么冷冻电镜 (Cryo-EM) 技术的发明可以获得2017诺贝尔化学奖?知乎看法 Press release: The Nobel Prize in Chemistry 2017 We ...

  2. 新零售下的 AI智能货柜

    公司有个智能货柜,通过微信扫码开门,拿货,自动扣款,挺智能的.还不错.研究一下原理,网上查了一下. 文章简介: 目前新零售风刮的蛮大,笔者进入该领域近一年,负责过无人便利店.智能货柜.智慧商超等产品, ...

  3. 数据库中的union与union all的区别

    Union因为要进行重复值扫描,所以效率低.如果合并没有刻意要删除重复行,那么就使用Union All  两个要联合的SQL语句 字段个数必须一样,而且字段类型要“相容”(一致): 如果我们需要将两个 ...

  4. mailgun php 邮件发送 实例

    步骤如下: 通过 composer 获取代码库 获取 API Key 以及 domain 编写代码发送邮件 1. 首先通过 composer 获取依赖代码库,参考官网给的命令 https://docu ...

  5. 教你玩转Linux—用户账号的管理

    用户账号的管理工作主要涉及到用户账号的添加.修改和删除.添加用户账号就是在系统中创建一个新账号,然后为新账号分配用户号.用户组.主目录和登录Shell等资源.刚添加的账号是被锁定的,无法使用. 1.添 ...

  6. JQuery中formSerialize()报错:对象不支持"formSerialize"属性或方法

    formSerialize()是jQuery的表单插件中提供的方法. formSerialize()的核心方法是:$.param(data); Form表单经过formSerialize(),被序列化 ...

  7. nginx奔溃自动重启Shell脚本

    # vi /usr/local/nginx/sbin/nginx_restart.sh 贴入一下代码: #!/bin/bash #www.xmsolink.com #Monitor nginx ser ...

  8. 三种构建方式:Makefile、scons、scons cmake+ninja

    三种构建方式: Makefile scons cmake+ninja https://ninja-build.org

  9. windows10 环境下的RabbitMQ安装步骤(图文)

    第一步:下载并安装erlang 原因:RabbitMQ服务端代码是使用并发式语言Erlang编写的,安装Rabbit MQ的前提是安装Erlang. 下载地址:http://www.erlang.or ...

  10. iOS电商类App研发学习总结

    一.涵盖知识点: 1.电商类App架构: https://www.cnblogs.com/loying/p/4801194.html 2.快速搭建电商平台: https://www.jianshu.c ...