Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7202572
  • 博文数量: 655
  • 博客积分: 10264
  • 博客等级: 上将
  • 技术积分: 8278
  • 用 户 组: 普通用户
  • 注册时间: 2007-06-04 17:47
个人简介

ABAP顾问

文章分类

全部博文(655)

文章存档

2017年(2)

2014年(8)

2013年(3)

2012年(2)

2011年(18)

2010年(102)

2009年(137)

2008年(274)

2007年(134)

分类:

2009-11-02 22:21:50

REPORT  z_barry_alv_header .

TABLES : t001.
TYPE-POOLS: slis.
DATA : w_repid LIKE sy-repid.
TYPES : BEGIN OF ty_comp.
        INCLUDE STRUCTURE t001.
TYPES : END OF ty_comp.
DATA: wa_layout  TYPE slis_layout_alv.
DATA: it_fieldcat TYPE slis_t_fieldcat_alv,
      wa_fieldcat TYPE slis_fieldcat_alv.
DATA : it_comp TYPE TABLE OF ty_comp WITH HEADER LINE.
INITIALIZATION.
  w_repid = sy-repid.
START-OF-SELECTION.
  SELECT * FROM t001 INTO TABLE it_comp.
  it_comp-butxt = '双击ALV的行'.

  CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
    EXPORTING
      i_program_name         = w_repid
      i_internal_tabname     = 'IT_COMP'
      i_structure_name       = 'T001'
      i_inclname             = w_repid
    CHANGING
      ct_fieldcat            = it_fieldcat[]
    EXCEPTIONS
      inconsistent_interface = 1
      program_error          = 2
      OTHERS                 = 3.
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      i_callback_program          = w_repid
      i_callback_html_top_of_page = 'HTML_TOP_OF_PAGE'
      i_callback_user_command     = 'USER_COMMAND'
      is_layout                   = wa_layout
      it_fieldcat                 = it_fieldcat
    TABLES
      t_outtab                    = it_comp
    EXCEPTIONS
      program_error               = 1
      OTHERS                      = 2.

*&---------------------------------------------------------------------*
*&      Form  html_top_of_page
*&---------------------------------------------------------------------*
FORM html_top_of_page USING w_doc TYPE REF TO cl_dd_document.
  DATA: code(255) TYPE c .
  DATA: sdydo_html_table TYPE sdydo_html_line OCCURS 0.
  DATA: wa LIKE LINE OF sdydo_html_table.
  CALL METHOD w_doc->set_document_background
    EXPORTING
      picture_id = 'Z_BTZ'.
  CLEAR code.
  REFRESH w_doc->html_table.
  wa-line = '' &
            '' &
            '测试ALVHeader显示HTML



'.
  APPEND wa TO w_doc->html_table.
  CONCATENATE ' '
              it_comp-butxt '



' INTO wa-line.
  APPEND wa TO w_doc->html_table.
  wa-line = ' '.
  APPEND wa TO w_doc->html_table.
ENDFORM.                    "HTML_TOP_OF_PAGE
*&---------------------------------------------------------------------*
*&      Form  user_command
*&---------------------------------------------------------------------*
FORM user_command USING r_ucomm LIKE sy-ucomm
                        rs_selfield TYPE slis_selfield.
  CASE r_ucomm.
    WHEN '&IC1'.
      READ TABLE it_comp INDEX rs_selfield-tabindex.
    WHEN 'EXIT'.
      LEAVE PROGRAM.
  ENDCASE.
ENDFORM. "user_com

阅读(4549) | 评论(3) | 转发(0) |
给主人留下些什么吧!~~

lanhuiqq2009-12-04 01:50:00

老白啊,想请教一个问题. ALV中某列的Edit/Display的模式,可否根据内容的不同而自动切换呢. 比如例子 BCALV_EDIT_08里面的,SMOKER这一列,可否做到当为X的时候为可Edit,当为空的时候为Display呢? 我研究了很久,但是都没有头绪. 不知你有否解决方法?

chinaunix网友2009-11-11 17:20:41

有一个问题想请教,如果是这样的ALV报表,想打印的话,目前是不能打印出HTML抬头内容的,但是有这个需求,能否实现?

chinaunix网友2009-11-11 17:14:17

学习了