ALV抬头显示

该博客介绍了如何在SAP ABAP中利用REUSE_ALV_GRID_DISPLAY_LVC函数来生成一个ALV报告,并通过设置I_CALLBACK_HTML_TOP_OF_PAGE参数来自定义表头。内容包括定义制表人、制表日期、报表说明以及页面布局调整,从而实现个性化报表展示。

想制作如下图所示的ALV表头,需要用到 I_CALLBACK_HTML_TOP_OF_PAGE = 'ALV_TOP_OF_PAGE':

 

*ALV显示
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
    EXPORTING
      i_callback_program          = sy-repid
      i_callback_pf_status_set    = 'FRM_SET_STATUS'
      i_callback_user_command     = 'FRM_USER_COMMAND'
      i_callback_html_top_of_page = 'ALV_TOP_OF_PAGE'
      i_html_height_top           = 25  "抬头高度
      is_layout_lvc               = gs_layout
      it_fieldcat_lvc             = gt_fieldcat
      i_save                      = 'A'
    TABLES
      t_outtab                    = gt_data
    EXCEPTIONS
      program_error               = 1
      OTHERS                      = 2.

*&---------------------------------------------------------------------*
*& Form alv_top_of_page
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
FORM alv_top_of_page USING cl_dd TYPE REF TO cl_dd_document.
  DATA: m_p     TYPE i.
  DATA: m_buff  TYPE string.
  DATA: all_sum TYPE string.
  " 定义登录日期
  DATA: l_date  TYPE string .
  DATA: l_name  TYPE string.
  DATA: text    TYPE sdydo_text_element.
  DATA: area2   TYPE REF TO cl_dd_area.
  "  定义制表人
  l_name = sy-uname .
  " 拼接制表日期
  CONCATENATE sy-datum+0(4) '.' sy-datum+4(2) '.' sy-datum+6(2) '.' INTO l_date .
  " 数据计数
  all_sum = lines( gt_data ).

 " 开始输出表头标题
  m_buff = '<HTML><CENTER><H2>报表</H2></CENTER></HTML><br/>' .
  CALL METHOD cl_dd->html_insert
    EXPORTING
      contents = m_buff
    CHANGING
      position = m_p.

  " 输出制表人和制表日期
  CONCATENATE '出表人:' l_name '<br/>'  '出表日期:' l_date INTO m_buff .
  CALL METHOD cl_dd->html_insert
    EXPORTING
      contents = m_buff
    CHANGING
      position = m_p.

  " add_text
  text = '此报表为内部资料'.
  CALL METHOD cl_dd->add_text EXPORTING text = text.

  " 把区域一分为二
  CALL METHOD cl_dd->vertical_split
    EXPORTING
      split_area  = cl_dd
      split_width = '30%'
    IMPORTING
      right_area  = area2.

  " 页面右侧
  m_buff =  '<P ALIGN = RIGHT >' && '单位:人民币'.
  CALL METHOD area2->html_insert
    EXPORTING
      contents = m_buff
    CHANGING
      position = m_p.

ENDFORM.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值