tabtrip实现多页签ALV显示效果

  • Post author:
  • Post category:其他




1. 效果

1



2. 实现

  • 代码

    *&---------------------------------------------------------------------*
    * TABLES 申明表类型工作区/Work area for declaring table object types
    *&---------------------------------------------------------------------*
    TABLES: zfit002_h.
    
    *&---------------------------------------------------------------------*
    * TYPE-POOL 引入类型池/Introduce type pool
    *&---------------------------------------------------------------------*
    
    *&---------------------------------------------------------------------*
    * TYPES 定义数据类型/defines a standalone data type
    *&---------------------------------------------------------------------*
    
    *&---------------------------------------------------------------------*
    * CONSTANTS 申明常量/declares a constant data object
    *&---------------------------------------------------------------------*
    *&SPWIZARD: FUNCTION CODES FOR TABSTRIP 'TABSTRIP'
    CONSTANTS: BEGIN OF c_tabstrip,
                 tab1 LIKE sy-ucomm VALUE 'TABSTRIP_FC1',
                 tab2 LIKE sy-ucomm VALUE 'TABSTRIP_FC2',
                 tab3 LIKE sy-ucomm VALUE 'TABSTRIP_FC3',
                 tab4 LIKE sy-ucomm VALUE 'TABSTRIP_FC4',
                 tab5 LIKE sy-ucomm VALUE 'TABSTRIP_FC5',
               END OF c_tabstrip.
    
    *&---------------------------------------------------------------------*
    * DATA 申明全局变量/declares a variable of any data type
    * Declaration type:var, ref, struc, comp, itab, and range_tab
    *&---------------------------------------------------------------------*
    *&SPWIZARD: DATA FOR TABSTRIP 'TABSTRIP'
    CONTROLS:  tabstrip TYPE TABSTRIP.
    DATA: BEGIN OF g_tabstrip,
            subscreen   LIKE sy-dynnr,
            prog        LIKE sy-repid VALUE 'ZFIR005',
            pressed_tab LIKE sy-ucomm VALUE c_tabstrip-tab1,
          END OF g_tabstrip.
    DATA:      ok_code LIKE sy-ucomm.
    
    DATA: gt_zfit002_h   TYPE TABLE OF zfit002_h,
          gt_zfit002_i01 TYPE SORTED TABLE OF zfit002_i01 WITH UNIQUE KEY source_num source_id line_id,
          gt_zfit002_i02 TYPE SORTED TABLE OF zfit002_i02 WITH UNIQUE KEY source_num source_id line_id,
          gt_zfit002_i03 TYPE SORTED TABLE OF zfit002_i03 WITH UNIQUE KEY source_num source_id line_id,
          gt_zfit002_i04 TYPE SORTED TABLE OF zfit002_i04 WITH UNIQUE KEY source_num source_id line_id,
          gt_zfit002_i05 TYPE SORTED TABLE OF zfit002_i05 WITH UNIQUE KEY source_num source_id line_id.
    
    DATA: gt_zfit002_i01_show TYPE TABLE OF zfit002_i01,
          gt_zfit002_i02_show TYPE TABLE OF zfit002_i02,
          gt_zfit002_i03_show TYPE TABLE OF zfit002_i03,
          gt_zfit002_i04_show TYPE TABLE OF zfit002_i04,
          gt_zfit002_i05_show TYPE TABLE OF zfit002_i05.
    
    DATA: go_alv_header TYPE REF TO cl_salv_table,
          go_alv_item   TYPE REF TO cl_salv_table.
    
    DATA: go_item_container TYPE REF TO cl_gui_custom_container.
    
    DATA: gv_current_tab TYPE sy-ucomm.
    
    FIELD-SYMBOLS: <fs_dynamic_tab> TYPE ANY TABLE,
                   <fs_zfit002_h>   TYPE zfit002_h.
    
    *&---------------------------------------------------------------------*
    * DEFINE 定义全局宏/Define global macro
    *&---------------------------------------------------------------------*
    
    
    *&---------------------------------------------------------------------*
    * CLASS DEFINITION 定义类/Definition class
    *&---------------------------------------------------------------------*
    *----------------------------------------------------------------------*
    *       CLASS lcl_events DEFINITION
    *----------------------------------------------------------------------*
    *
    *----------------------------------------------------------------------*
    CLASS lcl_events DEFINITION.
      PUBLIC SECTION.
        METHODS: on_user_command        "定义设置SALV on_user_command属性的方法
          FOR EVENT added_function OF cl_salv_events_table
          IMPORTING e_salv_function.
    
        METHODS:
          on_double_click FOR EVENT double_click OF cl_salv_events_table IMPORTING row column.
    ENDCLASS.                    "lcl_events DEFINITION
    *&---------------------------------------------------------------------*
    * CLASS IMPLEMENTATION 实现类/Implementation class
    *&---------------------------------------------------------------------*
    *----------------------------------------------------------------------*
    *       CLASS lcl_events IMPLEMENTATION
    *----------------------------------------------------------------------*
    *
    *----------------------------------------------------------------------*
    CLASS lcl_events IMPLEMENTATION.
      METHOD on_user_command.
        PERFORM frm_on_user_command USING e_salv_function.
      ENDMETHOD.                   



版权声明:本文为qq_30797051原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。