双表头ALV

效果:

 使用的ALV函数改变为:REUSE_ALV_LIST_DISPLAY

*&---------------------------------------------------------------------*
*& Report YPAN_05
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT ypan_05.
DATA : ps_layout       TYPE slis_layout_alv.
DATA: fieldcat    TYPE slis_t_fieldcat_alv WITH HEADER LINE,
      fieldcat_ln LIKE LINE OF fieldcat.
DATA: eventcat    TYPE slis_t_event,
      eventcat_ln LIKE LINE OF eventcat.

SELECT
  vbeln,
  posnr,
  matnr,
  matwa,
  matkl,
  zmeng,
  meins
FROM vbap INTO TABLE @DATA(lt_vbap) UP TO 10 ROWS.


*   设置布局
ps_layout-zebra = 'X'.


"设置fildcat
DEFINE set_fieldfcat.
  fieldcat-fieldname = &1. "字段名
  fieldcat-seltext_m = &2.   "字段描述
  fieldcat-edit = &3.
  fieldcat-outputlen = &4. "列宽
  fieldcat-just = &5. "显示位置
  IF &1 = 'VBELN'.
*      fieldcat-edit = 'X'.
      fieldcat-input = 'X'.
  ENDIF.
APPEND fieldcat.
END-OF-DEFINITION.

*   设置fieldcat
PERFORM set_fildcat.
"TOP OF PAGE
eventcat_ln-name = slis_ev_top_of_page.
eventcat_ln-form = 'TOP_OF_PAGE'.
APPEND eventcat_ln TO eventcat.
CLEAR eventcat_ln.
eventcat_ln-name =  slis_ev_top_of_list.
eventcat_ln-form = 'TOP_OF_LIST'.
APPEND eventcat_ln TO eventcat.

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
  EXPORTING
    i_callback_program = sy-repid
    is_layout          = ps_layout
    it_fieldcat        = fieldcat[]
    it_events          = eventcat
  TABLES
    t_outtab           = lt_vbap
  EXCEPTIONS
    program_error      = 1
    OTHERS             = 2.

*  &---------------------------------------------------------------------*
*  & Form SET_FILDCAT
*  &---------------------------------------------------------------------*
*  & text
*  &---------------------------------------------------------------------*
FORM set_fildcat .
  set_fieldfcat   'VBELN' '订单'     ''   '10' ''.
  set_fieldfcat   'POSNR' '行项目'   ''   '10' ''.
  set_fieldfcat   'MATNR' '物料'     ''   '10' ''.
  set_fieldfcat   'MATWA' '物料码'   ''   '10' ''.
  set_fieldfcat   'MATKL' '物料组'   ''   '10' ''.
  set_fieldfcat   'ZMENG' '数量'     ''  '10'  ''.
  set_fieldfcat   'MEINS' '单位'     ''  '10'  ''.
ENDFORM.

FORM top_of_page.
*-To display the headers for main list
  FORMAT COLOR COL_HEADING.
  WRITE: / sy-uline(210).
  WRITE: /   sy-vline,
            (19) '订单' CENTERED,
             sy-vline,
            (30)  ' 物料' CENTERED ,
             sy-vline,
            (19)  ' 数量' CENTERED,
             sy-vline.
  FORMAT COLOR OFF.
ENDFORM.                    "top_of_page
*&---------------------------------------------------------------------*
*&      Form  TOP_OF_LIST
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM top_of_list.
  DATA: l_year_month TYPE string.
  CONCATENATE sy-datum+0(4) '年' sy-datum+4(2) '月' INTO l_year_month.
  WRITE: /70(16) '汇总式总账' CENTERED.
  WRITE: /70(16)  l_year_month CENTERED.
  SKIP.

ENDFORM.                    "TOP_OF_LIST
FORM f_set_status USING p_extab TYPE slis_t_extab.
  SET TITLEBAR 'TITLE' WITH '项目余额结转功能开发'.
  SET PF-STATUS 'ALV_PF_STATUS' .
ENDFORM.

FORM f_user_command USING p_ucomm TYPE sy-ucomm
                          p_selfield TYPE slis_selfield .
  DATA: lr_grid TYPE REF TO cl_gui_alv_grid.
  CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
    IMPORTING
      e_grid = lr_grid.

  CALL METHOD lr_grid->register_edit_event
    EXPORTING
      i_event_id = cl_gui_alv_grid=>mc_evt_enter
    EXCEPTIONS
      error      = 1
      OTHERS     = 2.

  CALL METHOD lr_grid->check_changed_data.


  "REFRESH ALV
  lr_grid->refresh_table_display( is_stable = VALUE lvc_s_stbl( row = 'X'  col = 'X' )  ).
ENDFORM.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值