ABAP实现ALV表头的DEMO:

效果:

源代码:

 *&---------------------------------------------------------------------*
*& Report Z_ALV_DEMO
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------* REPORT Z_ALV_DEMO NO STANDARD PAGE HEADING. TABLES ZEMP_TEST. DATA: IT_ZEMP TYPE STANDARD TABLE OF ZEMP_TEST,
IW_ZEMP TYPE ZEMP_TEST. TYPE-POOLS : SLIS.
DATA :
IT_EVENT TYPE SLIS_T_EVENT, "不能有表头,否则会RUNTIME ERROR
IT_LISTHEADER TYPE SLIS_T_LISTHEADER. PARAMETERS P_DEPT TYPE ZEMP_TEST-EDEPT. START-OF-SELECTION. PERFORM FRM_GET_EVENT. PERFORM FRM_GET_DATA. PERFORM FRM_COMMENT_BUILD. PERFORM FRM_ALV_DISPLAY. *&---------------------------------------------------------------------*
*& Form FRM_GET_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM FRM_GET_DATA . SELECT *
FROM ZEMP_TEST
INTO TABLE IT_ZEMP
WHERE EDEPT = P_DEPT. IF SY-SUBRC <> .
MESSAGE S001() WITH '不存在符合条件的数据' DISPLAY LIKE 'E'.
STOP.
ENDIF. ENDFORM. " FRM_GET_DATA *&---------------------------------------------------------------------*
*& Form FRM_ALV_DISPLAY
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM FRM_ALV_DISPLAY .
DATA LW_REPID TYPE SY-REPID.
LW_REPID = SY-REPID. CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER = ' '
* I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = LW_REPID
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = ' '
* I_CALLBACK_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_END_OF_LIST = ' '
I_STRUCTURE_NAME = 'ZEMP_TEST'
* I_BACKGROUND_ID = ' '
I_GRID_TITLE = 'ALV DEMO'
* I_GRID_SETTINGS =
* IS_LAYOUT =
* IT_FIELDCAT =
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
* IT_SORT =
* IT_FILTER =
* IS_SEL_HIDE =
* I_DEFAULT = 'X'
* I_SAVE = ' '
* IS_VARIANT =
IT_EVENTS = IT_EVENT
* IT_EVENT_EXIT =
* IS_PRINT =
* IS_REPREP_ID =
* I_SCREEN_START_COLUMN = 0
* I_SCREEN_START_LINE = 0
* I_SCREEN_END_COLUMN = 0
* I_SCREEN_END_LINE = 0
* I_HTML_HEIGHT_TOP = 0
* I_HTML_HEIGHT_END = 0
* IT_ALV_GRAPHICS =
* IT_HYPERLINK =
* IT_ADD_FIELDCAT =
* IT_EXCEPT_QINFO =
* IR_SALV_FULLSCREEN_ADAPTER =
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = IT_ZEMP
* EXCEPTIONS
* PROGRAM_ERROR = 1
* OTHERS = 2
.
IF SY-SUBRC <> .
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF. ENDFORM. " FRM_ALV_DISPLAY
*&---------------------------------------------------------------------*
*& Form FRM_GET_EVENT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM FRM_GET_EVENT . * EVENTS
*SLIS_EV_ITEM_DATA_EXPAND TYPE SLIS_FORMNAME VALUE 'ITEM_DATA_EXPAND',
*SLIS_EV_REPREP_SEL_MODIFY TYPE SLIS_FORMNAME VALUE 'REPREP_SEL_MODIFY',
*SLIS_EV_CALLER_EXIT_AT_START TYPE SLIS_FORMNAME VALUE 'CALLER_EXIT',
*SLIS_EV_USER_COMMAND TYPE SLIS_FORMNAME VALUE 'USER_COMMAND',
*SLIS_EV_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE',
*SLIS_EV_DATA_CHANGED TYPE SLIS_FORMNAME VALUE 'DATA_CHANGED',
*SLIS_EV_TOP_OF_COVERPAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_COVERPAGE',
*SLIS_EV_END_OF_COVERPAGE TYPE SLIS_FORMNAME VALUE 'END_OF_COVERPAGE',
*SLIS_EV_FOREIGN_TOP_OF_PAGE TYPE SLIS_FORMNAME
* VALUE 'FOREIGN_TOP_OF_PAGE',
*SLIS_EV_FOREIGN_END_OF_PAGE TYPE SLIS_FORMNAME
* VALUE 'FOREIGN_END_OF_PAGE',
*SLIS_EV_PF_STATUS_SET TYPE SLIS_FORMNAME VALUE 'PF_STATUS_SET',
*SLIS_EV_LIST_MODIFY TYPE SLIS_FORMNAME VALUE 'LIST_MODIFY',
*SLIS_EV_TOP_OF_LIST TYPE SLIS_FORMNAME VALUE 'TOP_OF_LIST',
*SLIS_EV_END_OF_PAGE TYPE SLIS_FORMNAME VALUE 'END_OF_PAGE',
*SLIS_EV_END_OF_LIST TYPE SLIS_FORMNAME VALUE 'END_OF_LIST',
*SLIS_EV_AFTER_LINE_OUTPUT TYPE SLIS_FORMNAME VALUE 'AFTER_LINE_OUTPUT',
*SLIS_EV_BEFORE_LINE_OUTPUT TYPE SLIS_FORMNAME VALUE
* 'BEFORE_LINE_OUTPUT',
*SLIS_EV_SUBTOTAL_TEXT TYPE SLIS_FORMNAME VALUE 'SUBTOTAL_TEXT',
*SLIS_EV_GROUPLEVEL_CHANGE TYPE SLIS_FORMNAME VALUE
* 'GROUPLEVEL_CHANGE',
*SLIS_EV_CONTEXT_MENU TYPE SLIS_FORMNAME VALUE 'CONTEXT_MENU'. DATA: FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'FRM_TOP_OF_PAGE'. DATA L_EVENTS TYPE SLIS_ALV_EVENT. CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE =
IMPORTING
ET_EVENTS = IT_EVENT
EXCEPTIONS
LIST_TYPE_WRONG =
OTHERS = .
IF SY-SUBRC <> .
MESSAGE ID SY-MSGID TYPE SY-MSGTY
NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
* 在事件(字段名:NAME)为"TOP_OF_PAGE"的行中
*将FORM名(字段名:FORM)设为"FRM_TOP_OF_PAGE"
* 这样,系统就会自动PERFORM FRM_TOP_OF_PAGE.
CLEAR L_EVENTS.
READ TABLE IT_EVENT
WITH KEY NAME = SLIS_EV_TOP_OF_PAGE
INTO L_EVENTS. IF SY-SUBRC = .
MOVE FORMNAME_TOP_OF_PAGE TO L_EVENTS-FORM.
MODIFY IT_EVENT FROM L_EVENTS INDEX SY-TABIX.
ELSE.
L_EVENTS-FORM = FORMNAME_TOP_OF_PAGE.
L_EVENTS-NAME = FORMNAME_TOP_OF_PAGE.
APPEND L_EVENTS TO IT_EVENT.
ENDIF. ENDFORM. " FRM_GET_EVENT *&---------------------------------------------------------------------*
*& Form FRM_TOP_OF_PAGE
*&---------------------------------------------------------------------*
* 表头
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM FRM_TOP_OF_PAGE.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = IT_LISTHEADER
I_LOGO = 'ENJOYSAP_LOGO'
* I_END_OF_LIST_GRID =
* I_ALV_FORM =
.
* "TCODE:OAOR,CLASS
* NAME:PICTURES,CLASS TYPE :OT,执行,可以看到所有的PICTURE ENDFORM. "FRM_TOP_OF_PAGE
*&---------------------------------------------------------------------*
*& Form FRM_COMMENT_BUILD
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM FRM_COMMENT_BUILD .
DATA LW_LISTHEADER TYPE SLIS_LISTHEADER. CLEAR: IT_LISTHEADER, LW_LISTHEADER. LW_LISTHEADER-TYP = 'H'.
LW_LISTHEADER-INFO = 'ALV DEMO'.
APPEND LW_LISTHEADER TO IT_LISTHEADER. CLEAR LW_LISTHEADER.
LW_LISTHEADER-TYP = 'S'.
LW_LISTHEADER-KEY = '用户:'.
LW_LISTHEADER-INFO = SY-UNAME.
APPEND LW_LISTHEADER TO IT_LISTHEADER. CLEAR LW_LISTHEADER.
LW_LISTHEADER-TYP = 'S'.
LW_LISTHEADER-KEY = '日期:'.
LW_LISTHEADER-INFO = SY-DATUM.
APPEND LW_LISTHEADER TO IT_LISTHEADER. ENDFORM. " FRM_COMMENT_BUILD

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

  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 颜色设置(行,列,单元格)

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

  7. ABAP ALV DEMO示例源码

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

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

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

  9. ALV表头HTML实现

    FORM frm_html_top_of_page USING cl_dd TYPE REF TO cl_dd_document. DATA: m_p TYPE i. DATA: m_buff TYP ...

随机推荐

  1. #Leet Code# Convert Sorted Array to Binary Search Tree

    描述:递归 代码: class Solution: # @param num, a list of integers # @return a tree node def sortedArrayToBS ...

  2. 基于h5+ajax实现的手机定位

    因朋友需要,之前看了下关于h5的手机定位,目前写了个demo在这里贴出来,感兴趣的朋友可以看一下. 目前的版本只是demo,仍有几个问题需要完善一下,问题如下: 1,如何将经纬度等数据发送到被定位人看 ...

  3. ASP.NET State Service服务

    ASP.NET State Service服务是用来管理 Session 的,正常来说,Session 位于IIS进程中(其实可以理解成在服务器的内存中),当IIS重启或程序池回收会自动清空Sessi ...

  4. aspx、ashx以及cs的关系,viewState

    aspx和ashx关系:aspx就是一种特殊的ashx,aspx对应的类是page,它是实现了IHttpHandler接口,所以说aspx是高级的HttpHandler.aspx中帮我们封装了很多操作 ...

  5. BZOJ 1612: [Usaco2008 Jan]Cow Contest奶牛的比赛

    Description FJ的N(1 <= N <= 100)头奶牛们最近参加了场程序设计竞赛:).在赛场上,奶牛们按1..N依次编号.每头奶牛的编程能力不尽相同,并且没有哪两头奶牛的水平 ...

  6. 设计模式之装饰(Decorator)模式 代码详解

    /** * Created with IntelliJ IDEA. * User: HYY * Date: 13-10-27 * Time: 下午10:49 * To change this temp ...

  7. *[hackerrank]Tree Covering

    https://www.hackerrank.com/contests/illuminati/challenges/tree-covering 这道题先是在上次交流讨论了一下,然后两位百度的朋友先写完 ...

  8. 机器学习10大经典算法.doc

    详见 F:\工程硕士\d电子书\26 数据挖掘 小结: 1. C4.5 C4.5算法是机器学习算法中的一种分类决策树算法,其核心算法是ID3算法.  C4.5算法继承了ID3算法的优点,并在以下几方面 ...

  9. Linux 日常使用指令大全

    001.日常维护常用查询命令 #top    显示系统进程 #clear  清理屏幕信息 #cat /etc/redhat-release  查看系统版本信息 #cat /proc/version   ...

  10. oracle查询转换_view merge

    oracle对于子查询的支持做的很好,oracle optimizer会对inline view进行query transfomation,即视图合并,不过也经常带来意想不到的问题.下面是一个inli ...