ABAP SALV-页眉、页脚

01 功能说明

上篇:ABAP SALV-合计、小计

本系列将通过模拟用户与开发者之间的对话场景,来逐步演示SALV的使用。在本篇中,我们将继续上一篇内容,以解决用户提出的另外两个需求:页眉 、 页脚 。让我们来看看是如何实现的吧。

赶快动手试一试,掌握它的用法。

02 功能效果

第10天 用户说:页眉

需要在抬头显示报表名称、执行日期。

  IF p_day10 EQ 'X'.
    DATA lo_header_grid TYPE REF TO cl_salv_form_layout_grid.

    CREATE OBJECT lo_header_grid.
    lo_header_grid->create_header_information( row = 1 column = 1 text = sy-title ).

    lo_header_grid->create_action_information( row = 2 column = 1 text = sy-datum ).


    go_salv->set_top_of_list( lo_header_grid ).
    ...
  ENDIF.

在这里插入图片描述

第11天 用户说:页脚

需要在末尾显示公司名称、地址信息。

 IF p_day11 EQ 'X'.
   DATA lo_footer_grid TYPE REF TO cl_salv_form_layout_grid.
   DATA lo_layout_flow TYPE REF TO cl_salv_form_layout_flow.

   CREATE OBJECT lo_footer_grid.
   lo_layout_flow = lo_footer_grid->create_flow( row = 3 column = 1 ).
   lo_layout_flow->create_text( text = '公司名称:上海xxx公司' ).
   lo_layout_flow = lo_footer_grid->create_flow( row = 3 column = 2 ).
   lo_layout_flow->create_text( text = '公司地址:上海市xxx区xxx' ).

   go_salv->set_end_of_list( lo_footer_grid ).
   ...
 ENDIF.

在这里插入图片描述

03 源码分享

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE t1.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(79) day01 .
SELECTION-SCREEN END OF LINE.
...
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(79) day10 .
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(79) day11 .
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK b1.

SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE t2.
PARAMETERS p_day01 AS CHECKBOX DEFAULT 'X' .  "01、基本展示
...
PARAMETERS p_day10 AS CHECKBOX DEFAULT 'X' .  "10、添加页眉
PARAMETERS p_day11 AS CHECKBOX DEFAULT 'X' .  "11、添加页脚
SELECTION-SCREEN END OF BLOCK b2.

INITIALIZATION.
  sy-title = 'ABAP SALV演示程序-公众号(ABAP猿)'.
  t1 = '用户说'.
  t2 = '你来做'.
  day01 = '01、从表SPFLI获取数据,并进行基本展示。'.
  ...
  day10 = '10、需要在抬头显示报表名称、执行日期。'.
  day11 = '11、需要在末尾显示公司名称、地址信息。'.

  %_p_day01_%_app_%-text = '01、基本展示'.
  ...
  %_p_day10_%_app_%-text = '10、添加页眉'.
  %_p_day11_%_app_%-text = '11、添加页脚'.

START-OF-SELECTION.
*------------------------------------*
  CHECK p_day01 EQ 'X'.
  DATA gt_spfli TYPE TABLE OF spfli.
  SELECT * FROM spfli INTO TABLE gt_spfli UP TO 30 ROWS.

  DATA go_salv TYPE REF TO cl_salv_table.
  cl_salv_table=>factory(
   IMPORTING
     r_salv_table = go_salv
   CHANGING
     t_table      = gt_spfli ).
  ...
*------------------------------------*
  ...
*------------------------------------*
  IF p_day10 EQ 'X'.
    DATA lo_header_grid TYPE REF TO cl_salv_form_layout_grid.

    CREATE OBJECT lo_header_grid.
    lo_header_grid->create_header_information( row = 1 column = 1 text = sy-title ).
    lo_header_grid->create_action_information( row = 2 column = 1 text = sy-datum ).

    go_salv->set_top_of_list( lo_header_grid ).
    ...
  ENDIF.
*------------------------------------*
  IF p_day11 EQ 'X'.
    DATA lo_footer_grid TYPE REF TO cl_salv_form_layout_grid.
    DATA lo_layout_flow TYPE REF TO cl_salv_form_layout_flow.

    CREATE OBJECT lo_footer_grid.
    lo_layout_flow = lo_footer_grid->create_flow( row = 3 column = 1 ).
    lo_layout_flow->create_text( text = '公司名称:上海xxx公司' ).
    lo_layout_flow = lo_footer_grid->create_flow( row = 3 column = 2 ).
    lo_layout_flow->create_text( text = '公司地址:上海市xxx区xxx' ).

    go_salv->set_end_of_list( lo_footer_grid ).
    ...
  ENDIF.
*------------------------------------*
  go_salv->display( ).

04 关注我

更多干货请扫码关注微信公众号:ABAP猿
在这里插入图片描述

  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值