ABAP ALV 多行表头

ABAP ALV多行表头(合并列,合并单元格)

效果展示:

代码:

REPORT ztest_002.

*&---------------------------------------------------------------------*
* TABLES 申明表类型工作区/Work area for declaring table object types
*&---------------------------------------------------------------------*


*&---------------------------------------------------------------------*
* TYPE-POOL 引入类型池/Introduce type pool
*&---------------------------------------------------------------------*


*&---------------------------------------------------------------------*
* TYPES 定义数据类型/defines a standalone data type
*&---------------------------------------------------------------------*
TYPES: BEGIN OF t_check_styles,
         matnr TYPE mara-matnr,
         ersda TYPE mara-ersda,
         ernam TYPE mara-ernam,
         laeda TYPE mara-laeda,
         aenam TYPE mara-aenam,
         vpsta TYPE mara-vpsta,
         pstat TYPE mara-pstat,
         lvorm TYPE mara-lvorm,
         mtart TYPE mara-mtart,
         mbrsh TYPE mara-mbrsh,
         matkl TYPE mara-matkl,
         bismt TYPE mara-bismt,
       END OF t_check_styles.

*&---------------------------------------------------------------------*
* CONSTANTS 申明常量/declares a constant data object
*&---------------------------------------------------------------------*


*&---------------------------------------------------------------------*
* DATA 申明全局变量/declares a variable of any data type
* Declaration type:var, ref, struc, comp, itab, and range_tab
*&---------------------------------------------------------------------*

INCLUDE <cl_alv_control>.
INCLUDE <icon>.

DATA ok_code TYPE sy-ucomm.
DATA gt_main TYPE TABLE OF t_check_styles.

FIELD-SYMBOLS <fs_styles>        TYPE t_check_styles.
DATA : lt_fieldcatalog  TYPE lvc_t_fcat.

FIELD-SYMBOLS  <fs_cat> TYPE lvc_s_fcat.

CLASS zcl_gui_alv_grid DEFINITION DEFERRED .
DATA it_col_merge        TYPE lvc_t_co01.
DATA wa_col_merge        TYPE lvc_s_co01.
DATA: g_custom_container TYPE REF TO cl_gui_custom_container.
DATA  g_alv_grid         TYPE REF TO zcl_gui_alv_grid.
CLASS cl_gui_cfw DEFINITION LOAD.

DATA: x_save,                     "for Parameter I_SAVE
      gs_variant TYPE disvariant. "for parameter IS_VARIANT
DATA gs_layout TYPE lvc_s_layo.   " Layout
DATA wa_style  TYPE lvc_s_styl.

*&---------------------------------------------------------------------*
* DEFINE 定义全局宏/Define global macro
*&---------------------------------------------------------------------*


*&---------------------------------------------------------------------*
* CLASS DEFINITION 定义类/Definition class
*&---------------------------------------------------------------------*
CLASS zcl_gui_alv_grid DEFINITION INHERITING FROM cl_gui_alv_grid.

  "Implement CL GUI ALV GRID method
  PUBLIC SECTION.
    "Horizontal merge method
    METHODS z_set_merge_horiz
      IMPORTING
        row           TYPE i
        value         TYPE lvc_value
      CHANGING
        tab_col_merge TYPE lvc_t_co01.
    "Vertical merge method
    METHODS z_set_merge_vert
      IMPORTING
        row           TYPE i
        value         TYPE lvc_value
      CHANGING
        tab_col_merge TYPE lvc_t_co01.

    METHODS z_set_header_value
      IMPORTING
        row   TYPE i
        col   TYPE i
        value TYPE lvc_value.

    "Change output to CL_GUI_ALV_GRID display method
    METHODS z_display.
    "Sets the cell style method
    METHODS z_set_cell_style
      IMPORTING
        row    TYPE i OPTIONAL
        col    TYPE i OPTIONAL
        style  TYPE lvc_style
        style2 TYPE lvc_style OPTIONAL.
    "Set fixed columns/rows method
    METHODS z_set_fixed_col_row
      IMPORTING
        col TYPE i
        row TYPE i.
    "Initialize cell style method
    METHODS z_init_cell_styles.
ENDCLASS.                    "ZCL_GUI_ALV_GRID DEFINITION

*&---------------------------------------------------------------------*
* CLASS IMPLEMENTATION 实现类/Implementation class
*&---------------------------------------------------------------------*
CLASS zcl_gui_alv_grid IMPLEMENTATION.
  METHOD z_set_merge_horiz.
* ROW - row whose columns are to be merged
* tab_col_merge - Columns to be merged
    FIELD-SYMBOLS <fs_cols> TYPE lvc_s_co01.
    FIELD-SYMBOLS <fs_data> TYPE lvc_s_data.
    DATA outputlen TYPE i.

    SORT tab_col_merge.
* Columns to merge
    LOOP AT tab_col_merge ASSIGNING <fs_cols>.
* data verification
      IF <fs_cols>-col_id    LE 0.                CONTINUE. ENDIF.
      IF <fs_cols>-outputlen LE <fs_cols>-col_id. CONTINUE. ENDIF.
      outputlen = <fs_cols>-outputlen - <fs_cols>-col_id.
      LOOP AT mt_data ASSIGNING <fs_data>
      WHERE row_pos = row  AND
      ( col_pos BETWEEN <fs_cols>-col_id AND
      <fs_cols>-outputlen ).
* Set how far to merge From column in length
* starting with the 1st column
        IF <fs_data>-col_pos = <fs_cols>-col_id.
          <fs_data>-mergehoriz = outputlen.
* with all others who belong together
* the value has to go out because it comes from the 1st column
* and the merge indicator must also go!
          <fs_data>-value = value.
        ELSE.
          CLEAR <fs_data>-mergehoriz.
          CLEAR <fs_data>-value.
        ENDIF.
      ENDLOOP.
    ENDLOOP.
  ENDMETHOD.                    "Z_SET_MERGE_HORIZ

  METHOD z_set_merge_vert.
* ROW - row whose columns are to be merged
* tab_col_merge - Columns to be merged
    FIELD-SYMBOLS <fs_cols> TYPE lvc_s_co01.
    FIELD-SYMBOLS <fs_data> TYPE lvc_s_data.
    DATA outputlen TYPE i.

    SORT tab_col_merge.
* Columns to merge
    LOOP AT tab_col_merge ASSIGNING <fs_cols>.
* data verification
      IF <fs_cols>-col_id    LE 0.                CONTINUE. ENDIF.
      IF <fs_cols>-outputlen LE <fs_cols>-col_id. CONTINUE. ENDIF.
      outputlen = <fs_cols>-outputlen - <fs_cols>-col_id.
      LOOP AT mt_data ASSIGNING <fs_data>
      WHERE row_pos = row  AND
      ( col_pos BETWEEN <fs_cols>-col_id AND
      <fs_cols>-outputlen ).
* Set how far to merge From column in length
* starting with the 1st column
        IF <fs_data>-col_pos = <fs_cols>-col_id.
          <fs_data>-mergevert = outputlen.
* with all others who belong together
* the value has to go out because it comes from the 1st column
* and the merge indicator must also go!
          <fs_data>-value = value.
        ELSE.
          CLEAR <fs_data>-mergevert.
          CLEAR <fs_data>-value.
        ENDIF.
      ENDLOOP.
    ENDLOOP.
  ENDMETHOD.                    "Z_SET_MERGE_VERT

  METHOD z_set_header_value.
    FIELD-SYMBOLS <fs_data> TYPE lvc_s_data.

    LOOP AT mt_data ASSIGNING <fs_data>
    WHERE row_pos = row  AND col_pos = col.
      <fs_data>-value = value.
    ENDLOOP.
  ENDMETHOD.                    "z_set_header_value

  METHOD z_display.
    DATA lv_stable TYPE lvc_s_stbl.
    DATA lv_soft   TYPE c.

    CALL METHOD me->set_data_table
      CHANGING
        data_table = mt_data[].

    CALL METHOD set_auto_redraw
      EXPORTING
        enable = 1.
  ENDMETHOD.                    "Z_DISPLAY

  METHOD z_set_cell_style.
    FIELD-SYMBOLS <fs_data> TYPE lvc_s_data.
    IF row IS INITIAL.
      IF col IS INITIAL.
* Both empty -> nothing to do.
        EXIT.
      ELSE.
* Column only set complete column
        LOOP AT mt_data ASSIGNING <fs_data>
        WHERE col_pos = col.
          <fs_data>-style  = <fs_data>-style + style.
          <fs_data>-style2 = <fs_data>-style2 + style2.
        ENDLOOP.
      ENDIF.
    ELSE.
      IF col IS INITIAL.
* Enter line only -> set complete line
        LOOP AT mt_data ASSIGNING <fs_data>
        WHERE row_pos = row.
          <fs_data>-style  = <fs_data>-style + style.
          <fs_data>-style2 = <fs_data>-style2 + style2.
        ENDLOOP.
      ELSE.
        READ TABLE mt_data ASSIGNING <fs_data>
        WITH KEY row_pos = row
        col_pos = col.
        IF sy-subrc EQ 0.
          <fs_data>-style  = <fs_data>-style + style.
          <fs_data>-style2 = <fs_data>-style2 + style2.
        ELSE.
          EXIT.
        ENDIF.
      ENDIF.
    ENDIF.
  ENDMETHOD.                    "Z_SET_CELL_STYLE

  METHOD z_set_fixed_col_row.
    me->set_fixed_cols( col ).
    me->set_fixed_rows( row ).
  ENDMETHOD.                    "Z_SET_FIXED_COL_ROW

  METHOD z_init_cell_styles.
    FIELD-SYMBOLS <fs_data> TYPE lvc_s_data.
* init style
    LOOP AT mt_data ASSIGNING <fs_data>.
      <fs_data>-style = 0.
    ENDLOOP.
  ENDMETHOD.                    "Z_INIT_CELL_STYLES
ENDCLASS .                    "ZCL_GUI_ALV_GRID IMPLEMENTATION

*&---------------------------------------------------------------------*
* SELECTION-SCREEN 定义选择屏幕/Define selection screen
*&---------------------------------------------------------------------*


*&=====================================================================*
* PRE-EXECUTION EVENTS/程序执行前事件
*======================================================================*
INITIALIZATION.                     "初始化事件:运行事务代码后执行一次


AT SELECTION-SCREEN OUTPUT.                "PBO事件:屏幕输出前处理逻辑


AT SELECTION-SCREEN.    "PAI事件:屏幕值变化后处理逻辑,自动触发一次PBO


*AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_MATNR.    "自定义F4处理逻辑


*&=====================================================================*
* PROGRAM EXECUTION EVENTS/ 程序执行事件                               *
*======================================================================*
START-OF-SELECTION.                                           "数据处理
  PERFORM frm_get_data.       "Get Data

END-OF-SELECTION.                                             "数据执行
  IF gt_main[] IS NOT INITIAL.
    CALL SCREEN 0200.
  ELSE.
    MESSAGE 'NO DATA' TYPE 'S' DISPLAY LIKE 'E'.
  ENDIF.

*&=====================================================================*
* DEFINE SUBROUTINE/定义子程序                                         *
*======================================================================*

FORM frm_get_data.
  "添加两个初始行用作Title行
  APPEND INITIAL LINE TO gt_main.
  APPEND INITIAL LINE TO gt_main.

  "新增需要显示的数据
  SELECT * FROM mara
  APPENDING CORRESPONDING FIELDS OF TABLE gt_main
  UP TO 30 ROWS.

ENDFORM.                    "FRM_GET_DATA
*&---------------------------------------------------------------------*
*&      Form  FRM_INIT_OBJECT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM frm_init_object .
  IF g_custom_container  IS INITIAL.
    CREATE OBJECT g_custom_container
      EXPORTING
        container_name = 'CONTAINER'.

    CREATE OBJECT g_alv_grid
      EXPORTING
        i_parent = g_custom_container.
  ENDIF.
ENDFORM.                    "FRM_INIT_OBJECT
*&---------------------------------------------------------------------*
*&      Form  FRM_FILL_LAYOUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM frm_fill_layout .

  gs_layout-stylefname = 'CELL'.
  gs_layout-no_headers = 'X'.
  gs_layout-cwidth_opt = 'X'.
  gs_layout-no_toolbar = 'X'.


ENDFORM.                    "FRM_FILL_LAYOUT
*&---------------------------------------------------------------------*
*&      Form  FRM_FILL_FIELDCAT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM frm_fill_fieldcat .
  REFRESH lt_fieldcatalog.
  PERFORM frm_set_field USING 'MATNR' 'MARA' 'MATNR' '物料编码'.
  PERFORM frm_set_field USING 'ERSDA' 'MARA' 'ERSDA' '创建日期'.
  PERFORM frm_set_field USING 'ERNAM' 'MARA' 'ERNAM' '创建对象的人员名称'.
  PERFORM frm_set_field USING 'LAEDA' 'MARA' 'LAEDA' '上次更改的日期'.
  PERFORM frm_set_field USING 'AENAM' 'MARA' 'AENAM' '对象更改人员的名称 '.
  PERFORM frm_set_field USING 'VPSTA' 'MARA' 'VPSTA' '维护全部物料状态'.
  PERFORM frm_set_field USING 'PSTAT' 'MARA' 'PSTAT' '维护状态'.
  PERFORM frm_set_field USING 'LVORM' 'MARA' 'LVORM' '在客户级标记要删除的物料'.
  PERFORM frm_set_field USING 'MTART' 'MARA' 'MTART' '商品类型'.
  PERFORM frm_set_field USING 'MBRSH' 'MARA' 'MBRSH' '行业领域'.
  PERFORM frm_set_field USING 'MATKL' 'MARA' 'MATKL' '物料组'.
  PERFORM frm_set_field USING 'BISMT' 'MARA' 'BISMT' '旧商品编码'.
ENDFORM.                    "FRM_FILL_FIELDCAT
*&---------------------------------------------------------------------*
*&      Form  FRM_DISPLAY_ALV
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM frm_display_alv .
*
  CALL METHOD g_alv_grid->set_table_for_first_display
    EXPORTING
      is_variant      = gs_variant
      i_save          = x_save
      is_layout       = gs_layout
    CHANGING
      it_fieldcatalog = lt_fieldcatalog
      it_outtab       = gt_main.

ENDFORM.                    "FRM_DISPLAY_ALV
*&---------------------------------------------------------------------*
*&      Form  SET_CELL_STYLE
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM set_merge_vert .
  "开始纵向合并单元格
*-----------------------第一列-----------------------*
  "合并1-2行
  CLEAR: wa_col_merge,it_col_merge.
  wa_col_merge-col_id    = 1.
  wa_col_merge-outputlen = 2.
  APPEND wa_col_merge TO it_col_merge.

  CALL METHOD g_alv_grid->z_set_merge_vert
    EXPORTING
      row           = 1
      value         = '合并1-2行'
    CHANGING
      tab_col_merge = it_col_merge.

  "设置Style
  wa_style-style     = alv_style_font_bold
  + alv_style_align_center_center
  + alv_style_color_key.

  CALL METHOD g_alv_grid->z_set_cell_style
    EXPORTING
      row   = 1
      col   = 1
      style = wa_style-style.

ENDFORM.                    "SET_MERGE_VERT
*&---------------------------------------------------------------------*
*&      Form  SET_MERGE_HORIZ
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM set_merge_horiz .
  "开始横向合并单元格
*-----------------------合并第一行-----------------------*
  "合并4-8列
  CLEAR: wa_col_merge,it_col_merge.
  wa_col_merge-col_id    = 4.
  wa_col_merge-outputlen = 8.
  APPEND wa_col_merge TO it_col_merge.

  CALL METHOD g_alv_grid->z_set_merge_horiz
    EXPORTING
      row           = 1
      value         = '横向4-8列'
    CHANGING
      tab_col_merge = it_col_merge.

  "合并10-12列
  CLEAR: wa_col_merge,it_col_merge.
  wa_col_merge-col_id    = 10.
  wa_col_merge-outputlen = 12.
  APPEND wa_col_merge TO it_col_merge.

  CALL METHOD g_alv_grid->z_set_merge_horiz
    EXPORTING
      row           = 1
      value         = '横向10-12列'
    CHANGING
      tab_col_merge = it_col_merge.

  "设置Style
  wa_style-style     = alv_style_font_bold.

  CALL METHOD g_alv_grid->z_set_cell_style
    EXPORTING
      row   = 1
      col   = 3
      style = wa_style-style.

  CALL METHOD g_alv_grid->z_set_cell_style
    EXPORTING
      row   = 1
      col   = 4
      style = wa_style-style.

  CALL METHOD g_alv_grid->z_set_cell_style
    EXPORTING
      row   = 1
      col   = 9
      style = wa_style-style.

  CALL METHOD g_alv_grid->z_set_cell_style
    EXPORTING
      row   = 1
      col   = 10
      style = wa_style-style.

*-----------------------合并第二行-----------------------*
  "合并4-7列
  CLEAR: wa_col_merge,it_col_merge.
  wa_col_merge-col_id    = 4.
  wa_col_merge-outputlen = 7.
  APPEND wa_col_merge TO it_col_merge.

  CALL METHOD g_alv_grid->z_set_merge_horiz
    EXPORTING
      row           = 2
      value         = '合并4-7列'
    CHANGING
      tab_col_merge = it_col_merge.

  "合并10-12列
  CLEAR: wa_col_merge,it_col_merge.
  wa_col_merge-col_id    = 10.
  wa_col_merge-outputlen = 12.
  APPEND wa_col_merge TO it_col_merge.

  CALL METHOD g_alv_grid->z_set_merge_horiz
    EXPORTING
      row           = 2
      value         = '合并10-12列'
    CHANGING
      tab_col_merge = it_col_merge.

  "设置Style
  wa_style-style     = alv_style_color_group +
  alv_style_align_center_center.

  CALL METHOD g_alv_grid->z_set_cell_style
    EXPORTING
      col   = 3
      style = wa_style-style.

  wa_style-style     = alv_style_color_heading +
  alv_style_align_center_center.

  CALL METHOD g_alv_grid->z_set_cell_style
    EXPORTING
      col   = 4
      style = wa_style-style.


  CALL METHOD g_alv_grid->z_set_cell_style
    EXPORTING
      col   = 5
      style = wa_style-style.

  CALL METHOD g_alv_grid->z_set_cell_style
    EXPORTING
      col   = 6
      style = wa_style-style.

  CALL METHOD g_alv_grid->z_set_cell_style
    EXPORTING
      col   = 7
      style = wa_style-style.
  CALL METHOD g_alv_grid->z_set_cell_style
    EXPORTING
      col   = 8
      style = wa_style-style.

  wa_style-style     = alv_style_color_total +
  alv_style_align_center_center.

  CALL METHOD g_alv_grid->z_set_cell_style
    EXPORTING
      col   = 9
      style = wa_style-style.


  wa_style-style     = alv_style_color_negative +
  alv_style_align_center_center.

  CALL METHOD g_alv_grid->z_set_cell_style
    EXPORTING
      col   = 10
      style = wa_style-style.

  CALL METHOD g_alv_grid->z_set_cell_style
    EXPORTING
      col   = 11
      style = wa_style-style.


  CALL METHOD g_alv_grid->z_set_cell_style
    EXPORTING
      col   = 12
      style = wa_style-style.

  CALL METHOD g_alv_grid->z_set_cell_style
    EXPORTING
      col   = 13
      style = wa_style-style.

  wa_style-style     = alv_style_color_positive +
  alv_style_align_center_center.

  CALL METHOD g_alv_grid->z_set_cell_style
    EXPORTING
      col   = 14
      style = wa_style-style.

  CALL METHOD g_alv_grid->z_set_cell_style
    EXPORTING
      col   = 15
      style = wa_style-style.

  wa_style-style     = alv_style_color_int_background +
  alv_style_align_center_center.

  CALL METHOD g_alv_grid->z_set_cell_style
    EXPORTING
      col   = 16
      style = wa_style-style.

  wa_style-style     = alv_style_color_positive +
  alv_style_align_center_center +
  alv_style_font_italic.


  CALL METHOD g_alv_grid->z_set_cell_style
    EXPORTING
      row   = 4
      col   = 2
      style = wa_style-style.

  g_alv_grid->z_set_fixed_col_row(
  EXPORTING col = 3
    row = 3 ).

ENDFORM.                    "SET_MERGE_HORIZ

*&---------------------------------------------------------------------*
*& Module STATUS_0200 OUTPUT
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
MODULE status_0200 OUTPUT.
  SET PF-STATUS '0200'.
  SET TITLEBAR '0200'.
ENDMODULE.                    "STATUS_0200 OUTPUT

*&---------------------------------------------------------------------*
*& Module INIT_ALV_0200 OUTPUT
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
MODULE init_alv_0200 OUTPUT.
  PERFORM frm_init_object.
  PERFORM frm_fill_fieldcat.
  PERFORM frm_fill_layout.
  PERFORM frm_display_alv .
  PERFORM set_merge_vert.  "Vertical merger
  PERFORM set_merge_horiz. "Horizontal merge
  PERFORM set_other_headername.   "设置其他抬头文本
  g_alv_grid->z_display( ).
ENDMODULE.                    "INIT_ALV_0200 OUTPUT

*&---------------------------------------------------------------------*
*&      Module  USER_COMMAND_0200  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE user_command_0200 INPUT.
* button event response
  cl_gui_cfw=>dispatch( ).

  CASE ok_code.
    WHEN '&F03'.
      SET SCREEN 0. LEAVE SCREEN.
    WHEN '&F15'.
      SET SCREEN 0. LEAVE SCREEN.
    WHEN '&F12'.
      SET SCREEN 0. LEAVE SCREEN.
  ENDCASE.
ENDMODULE.                    "USER_COMMAND_0200 INPUT
*&---------------------------------------------------------------------*
*&      Form  SET_OTHER_HEADERNAME
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM set_other_headername .
  CALL METHOD g_alv_grid->z_set_header_value
    EXPORTING
      col   = 2
      row   = 1
      value = '1-2文本'.

  CALL METHOD g_alv_grid->z_set_header_value
    EXPORTING
      col   = 2
      row   = 2
      value = '2-2文本'.

  CALL METHOD g_alv_grid->z_set_header_value
    EXPORTING
      col   = 3
      row   = 1
      value = '1-3文本'.

  CALL METHOD g_alv_grid->z_set_header_value
    EXPORTING
      col   = 3
      row   = 2
      value = '2-3文本'.

  CALL METHOD g_alv_grid->z_set_header_value
    EXPORTING
      col   = 8
      row   = 2
      value = '2-8文本'.

  CALL METHOD g_alv_grid->z_set_header_value
    EXPORTING
      col   = 9
      row   = 1
      value = '1-9文本'.

  CALL METHOD g_alv_grid->z_set_header_value
    EXPORTING
      col   = 9
      row   = 2
      value = '2-9文本'.

ENDFORM.                    " SET_OTHER_HEADERNAME
*&---------------------------------------------------------------------*
*&      Form  FRM_SET_FIELD
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->P_0673   text
*      -->P_0674   text
*      -->P_0675   text
*      -->P_0676   text
*----------------------------------------------------------------------*
FORM frm_set_field  USING    VALUE(p1)
      VALUE(p2)
      VALUE(p3)
      VALUE(p4).
  DATA : ls_fieldcatalog  TYPE lvc_s_fcat.

  ls_fieldcatalog-fieldname = p1.
  ls_fieldcatalog-ref_table = p2.
  ls_fieldcatalog-ref_field = p3.
  ls_fieldcatalog-scrtext_s = p4.
  ls_fieldcatalog-scrtext_m = p4.
  ls_fieldcatalog-scrtext_l = p4.

  APPEND ls_fieldcatalog TO lt_fieldcatalog.
ENDFORM.                    " FRM_SET_FIELD

-------------------------------------------------------------------------------------

创建屏幕 200、

屏幕代码:

PROCESS BEFORE OUTPUT.
  MODULE status_0200.
  MODULE init_alv_0200.
*
PROCESS AFTER INPUT.
  MODULE user_command_0200.

创建:自定义控件CONTAINER

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值