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. ubuntu 12.04 安装sublime2

    add-apt-repository ppa:webupd8team/sublime-text-2 apt-get update apt-get install sublime-text 安装控制器: ...

  2. AES加密时抛出java.security.InvalidKeyException: Illegal key size or def

    原文:AES加密时抛出java.security.InvalidKeyException: Illegal key size or def 使用AES加密时,当密钥大于128时,代码会抛出 java. ...

  3. 浅尝key-value数据库(二)——MongoDB的优与劣

    浅尝key-value数据库(二)——MongoDB的优与劣 MongoDB的名字取自英文单词"humongous"的中间五个字母,是一个C++开发的基于分布式文件存储的数据库开源 ...

  4. php实现加好友功能

    思路: 1用户发送好友申请之后 把申请储存到申请数据表中,状态为 未验证 2 当用户登录时,查询申请表中是否有uid和被申请人id相同的,如果同意,更改状态,并把数据插入到对应的好友数据表否则,删除申 ...

  5. PHP - 自定义函数

    第7章 自定义函数 学习要点: 1.标准函数 2.自定义函数 3.文件包含 4.魔法常量 一般来讲,冗余的代码都是不好的.一而再,再而三地重写代码不仅浪费时间,从布局结构角度看也显得粗制滥造.与所有优 ...

  6. android如何用adb shell启动应用程序

    昨天研究了很久,可能由于基础比较菜吧,所以,没有搜到一个可以直接解决问题的,需要综合几个之后,问题得以解决,记下方法,为了方便自己之后遇到同样问题,也为了方便搜索同样问题的朋友. 主要用到了aapt和 ...

  7. VIM IDE

    打造VIM IDE(针对C语言开发者)   ================================使用vim打造IDE, 针对C语言开发者建议使用gvim================== ...

  8. TIA Portal V12不能添加新的CPU

    4核AMD 740,10G内存,Win7 X64,打开TIA Portal V12,依旧慢如牛,鼠标指针转啊转,TIA窗口写着 无响应... 真没志气,STM32要是玩转了,坚决不用这老牛. 上图为正 ...

  9. hdu1503

    #include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #inc ...

  10. 基于W5500+Yeelink的远程灯光控制设计

    概述 工具:物联网云平台Yeelink  DHT11温湿度传感器   W5500EVB 编译环境:Keil4 目的:通过以太网实时监控远程某个位置的温度和湿度 在W5500EVB端连接LED灯.通过W ...