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

3564

被折叠的 条评论
为什么被折叠?



