A standard SAP ALV list report will show only one line header, but there will be a requirement someday for you to create a multiple lines header in your ALV list report and in order to do this, you must first set the no_colhead
property to “X” in the ALV Layout, this code is to exclude the standard ALV columns and after that we replace the columns text by using WRITE command at the top of page event.

Okay now let’s create a small ALV report that will display multiple lines header.

1. Execute TCODE SE38, and name the program Zmultipleheader

2. Copy and paste this code below.

*&---------------------------------------------------------------------*

*& Report  ZMULTIPLEHEADER

*&

*&---------------------------------------------------------------------*

*&

*&

*&---------------------------------------------------------------------*

REPORT  ZMULTIPLEHEADER.

TYPE-POOLS: slis, icon.

DATA: ld_fieldcat  TYPE  slis_fieldcat_alv.

DATA: t_alv_fieldcat      TYPE slis_t_fieldcat_alv WITH HEADER LINE,

Alv_Layout TYPE SLIS_LAYOUT_ALV .

DATA : it_fld TYPE slis_t_fieldcat_alv ,

it_evt TYPE slis_t_event     ,

wa_fld TYPE slis_fieldcat_alv   ,

wa_evt TYPE slis_alv_event      ,

wa_lay TYPE slis_layout_alv     .

data:

BEGIN OF itab OCCURS 0,

carrid like sflight-carrid,

connid like sflight-connid,

planetype like sflight-planetype,

seatsmax like sflight-seatsmax,

END OF itab.

START-OF-SELECTION.

"We are using table sflight to populate the internal

"table

SELECT carrid connid planetype seatsmax

FROM sflight

INTO TABLE itab.

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

IMPORTING

et_events = it_evt.

READ TABLE it_evt INTO wa_evt

WITH KEY name = slis_ev_after_line_output .

wa_evt-form = slis_ev_after_line_output .

MODIFY it_evt FROM wa_evt INDEX sy-tabix .

READ TABLE it_evt INTO wa_evt

WITH KEY name = slis_ev_top_of_page .

wa_evt-form = slis_ev_top_of_page .

MODIFY it_evt FROM wa_evt INDEX sy-tabix .

CLEAR: ld_fieldcat.

ld_fieldcat-tabname       = 'ITAB'.

ld_fieldcat-fieldname     = 'CARRID'.

ld_fieldcat-ref_tabname   = 'SFLIGHT'.

ld_fieldcat-outputlen     = '10'.

APPEND ld_fieldcat TO t_alv_fieldcat.

CLEAR ld_fieldcat.

CLEAR: ld_fieldcat.

ld_fieldcat-tabname       = 'ITAB'.

ld_fieldcat-fieldname     = 'CONNID'.

ld_fieldcat-ref_tabname   = 'SFLIGHT'.

ld_fieldcat-outputlen     = '10'.

APPEND ld_fieldcat TO t_alv_fieldcat.

CLEAR ld_fieldcat.

CLEAR: ld_fieldcat.

ld_fieldcat-tabname       = 'ITAB'.

ld_fieldcat-fieldname     = 'PLANETYPE'.

ld_fieldcat-ref_tabname   = 'SFLIGHT'.

ld_fieldcat-outputlen     = '10'.

APPEND ld_fieldcat TO t_alv_fieldcat.

CLEAR ld_fieldcat.

CLEAR: ld_fieldcat.

ld_fieldcat-tabname       = 'ITAB'.

ld_fieldcat-fieldname     = 'SEATSMAX'.

ld_fieldcat-ref_tabname   = 'SFLIGHT'.

ld_fieldcat-outputlen     = '10'.

APPEND ld_fieldcat TO t_alv_fieldcat.

CLEAR ld_fieldcat.

"This is where we exclude the standard ALV columns

ALV_LAYOUT-no_colhead = 'X' .

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

EXPORTING

IS_LAYOUT = ALV_LAYOUT

i_bypassing_buffer = 'X'

i_callback_program = sy-repid

it_fieldcat        = t_alv_fieldcat[]

it_events          =  it_evt

i_save             = 'A'

TABLES

t_outtab           = ITAB. "internal table

IF SY-SUBRC <> 0.

* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

FORM top_of_page .

"Uline for creating a horizontal line

ULINE AT 1(45) .

"Format color for header background

FORMAT COLOR 7 .

"This is where we manually create the header text,

"in this example I'm using 2 lines header, if you

"want to have 3 lines header or more, you can just

"add new write command.

WRITE: / sy-vline , 02 'CARRID AND CONNID',

23 SY-VLINE, 25 'PLANE & SEATS MAX', 45 SY-VLINE.

WRITE: / sy-vline , 02 'CARRID' ,12 sy-vline, 14 'CONNID',

23 SY-VLINE, 25 'PLANE ', 34 SY-VLINE, 36 'SEATS MAX', 45 SY-VLINE.

ENDFORM.

3. Here’s the multiple header result.

abap alv multiple header using write的更多相关文章

  1. 【ABAP系列】SAP ABAP ALV里日期类型的F4帮助

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP ALV里日期类 ...

  2. 【ABAP系列】SAP ABAP ALV合计或者小计 添加自定义文本

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP ABAP ALV合计或者小计 ...

  3. 【ABAP系列】SAP ABAP ALV中设置CHECKBOX同时选中事件

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP ABAP ALV中设置CHE ...

  4. 【ABAP系列】SAP ABAP ALV设置背景图片

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP abap ALV设置背景图片 ...

  5. 【ABAP系列】SAP ABAP ALV中的TOP_OF_PAGE添加任意图标

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP ABAP ALV中的TOP_ ...

  6. ABAP ALV单个单元格状态编辑

    *&---------------------------------------------------------------------* *& Report  ZPPR0024 ...

  7. ABAP ALV 颜色设置(行,列,单元格)

    BCALV_EDIT_03 http://blog.sina.com.cn/s/blog_a87b19300102who3.html 关于ALV表格颜色,这种需求在项目中会经常用到. 列颜色 列的颜色 ...

  8. ABAP ALV DEMO示例源码

    关于ALV表格颜色,感觉这种需求在项目中用到的时候不是很多,但是前一段时间面试的时候,面试官问了我关于ALV单元格颜色的问题. 以前了解过一点,回答的不是很好,后来百度了一下,大概了解了一些,今天工作 ...

  9. ABAP ALV表头的实现

    ABAP实现ALV表头的DEMO: 效果: 源代码: *&------------------------------------------------------------------- ...

随机推荐

  1. apache一键安装脚本

    近期在玩apache,首先安装apace要配置apr.apr-util,pcre,而配置这些基本都是千篇一律.所谓程序猿的精神就是降低反复性的劳动,以下请看我写的apache安装脚本: 这个脚本我也放 ...

  2. 关于SSH框架设计的一些理解

    近期在学习企业开发领域非常流行的SSH框架(Struts.Hibernate.Spring).因为之前有做过原生的Servlet+JSP的项目,所以在学习过程中我会跟原生开发模式进行对照,在这里我把自 ...

  3. 时间运算函数 CATT_ADD_TO_TIME

  4. 类作为返回类型 ,具有java特点-封装等 而且应用起来很方便。

    public class StudentDao { public Student getStudent(){ Student stu = new Student(); stu.setName(&quo ...

  5. Eclipse相关集锦第二季

    Eclipse相关的问题第二季开始了,这些问题都是我平时遇到的,然后记录下来备忘,帮助到别人最好不过了. 1.Unable to execute dex: GC overhead limit exce ...

  6. OpenRisc-35-基于orpsoc,eCos的sd card controller的测试实验

    引言 之前,曾经在orpsoc的平台上,测试验证过其sd card controller的linux的驱动,但是并不是很完美,经过努力,终于在eCos下完成了其全部功能的验证,包括驱动层验证,文件系统 ...

  7. HDU 4544 湫湫系列故事――消灭兔子

    HDU 4544 Tags: 数据结构,贪心 Analysis: 将兔子的血量从大到小排序,将箭的杀伤力从大到小排序,对于每一个兔子血量, 将比他大的杀伤力大的剑压入优先队列,优先队列自己重写,让它每 ...

  8. clearcase常用命令

    版本控制工具学习 http://www.itpxpj.com/course.do?method=getAllCourseInFront&classTypeId=21 1.[ClearCase] ...

  9. makefile 必知必会

    Makefile 必知必会 Makefile的根本任务是根据规则生成目标文件. 规则 一条规则包含三个:目标文件,目标文件依赖的文件,更新(或生成)目标文件的命令. 规则: <目标文件>: ...

  10. 基于visual Studio2013解决C语言竞赛题之1068指针数组

        题目 解决代码及点评 /* 68. 在主函数中输入10个不等长的字符串,用另一函数对它们排序. 然后在主函数中输出这10个已排好序的字符串,用指针数组完成. */ #inclu ...