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. 重探 DFT

    感觉上次学习DFT简直是乱来了.不知道误导了多少人,这里深感抱歉. 这次我再看了看<算法导论>,觉得收获很大,终于粗略的知道DFT的原理了! 如何将两个多项式相乘 对于一个n次多项式,\( ...

  2. 项目优化经验分享(六)SVN冲突和处理

    上一篇博客我们分享了新增需求的确定思想<站在全局看问题>.今天我们来分享项目开发中SVN冲突的解决经验:SVN冲突和处理! 引言 开发过项目的人都知道,公司开发一个项目都会使用到版本号控制 ...

  3. oracle忘记密码,修改密码,解锁

    忘记密码修改密码: alter user system identified by values abc111; 修改后的用户名system,密码abc111. 解锁: cmd->输入 :sql ...

  4. 基于visual Studio2013解决C语言竞赛题之1032平方和

          题目 解决代码及点评 /* 编程序将一个正整数写成其它两个正整数的平方和,若不能成立时输出"NO".例如 5 = 1^2 + 2^2 , 25 ...

  5. 13-(1-4)进程管道关于popen(-r-w)及pipe的程序使用实例

    #include<unistd.h> #include<stdlib.h> #include<stdio.h> #include<string.h> # ...

  6. 经典排序算法 - 基数排序Radix sort

    经典排序算法 - 基数排序Radix sort 原理类似桶排序,这里总是须要10个桶,多次使用 首先以个位数的值进行装桶,即个位数为1则放入1号桶,为9则放入9号桶,临时忽视十位数 比如 待排序数组[ ...

  7. 【SICP感应】3 级数据和符号数据

    在本书的第二章学习时,有一个问题我一直很困扰,那是2.2.4举例节.因为没有华丽的输出模式书,它只能有一个对的英文字母.两三个月的这浅浅的学校前Common Lisp同样是真实的,当.了非常赞的线条, ...

  8. Web端server推送技术原理分析及dwr框架简单的使用

    1 背景 "server推送技术"(ServerPushing)是近期Web技术中最热门的一个流行术语.它是继"Ajax"之后又一个倍受追捧的Web技术.&qu ...

  9. java-多线程安全问题

    1. 安全问题产生原因 多个线程操作共享数据. 操作共享数据的线程代码有多条.当一个线程在执行操作共享数据的多条代码过程中,其他线程参与了计算,就会产生线程安全问题. 2. 解决方案 java中用同步 ...

  10. 如何制定AxureRP设计体系

    经常有朋友问我,如何在从来没有用过AxureRP的公司或者团队里面开始使用AxureRP做原型设计?这个问题对个体来说不存在,因为个人学习使用AxureRP时非常快速的,基本试着做几个原型实例就能把整 ...