`
Jack Wu
  • 浏览: 887478 次
  • 来自: ...
社区版块
存档分类
最新评论

ABAP--通过自定义类使用ALV(相应事件)的代码

阅读更多

Class Definition

*----------------------------------------------------------------------*
*       CLASS lcl_alv DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_alv DEFINITION.
  PUBLIC SECTION.

    METHODS select_alv IMPORTING amount TYPE i.

    METHODS display_alv.

    METHODS on_link_click
                FOR EVENT link_click OF cl_salv_events_table
                IMPORTING row column.

  PROTECTED SECTION.

    DATA t_alv TYPE STANDARD TABLE OF alv_tab.

    DATA: o_table   TYPE REF TO cl_salv_table,
          o_columns TYPE REF TO cl_salv_columns_table,
          o_column  TYPE REF TO cl_salv_column_table,
          o_events  TYPE REF TO cl_salv_events_table.

ENDCLASS.                    "lcl_alv DEFINITION

Class Implementation

*----------------------------------------------------------------------*
*       CLASS lcl_alv IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_alv IMPLEMENTATION.

  METHOD select_alv.

    SELECT *
      FROM alv_tab
      INTO TABLE t_alv
          UP TO amount ROWS.

  ENDMETHOD.                    "SELECT_ALV

  METHOD display_alv.

    TRY.
        cl_salv_table=>factory(
          IMPORTING
            r_salv_table = o_table
          CHANGING
            t_table      = t_alv ).
      CATCH cx_salv_msg.                                "#EC NO_HANDLER
    ENDTRY.

    o_columns = o_table->get_columns( ).
    o_columns->set_optimize( abap_true ).

    TRY.
        o_column ?= o_columns->get_column( 'CARRID' ).
        o_column->set_cell_type( if_salv_c_cell_type=>hotspot ).
      CATCH cx_salv_not_found.
    ENDTRY.

    o_events = o_table->get_event( ).

    SET HANDLER me->on_link_click FOR o_events.

    o_table->display( ).

  ENDMETHOD.                    "display_alv

  METHOD on_link_click.

    DATA: l_row_string TYPE string,
          l_col_string TYPE string,
          l_row        TYPE char128.

    MESSAGE i000(0k) WITH 'You Clicked on Line'
                           row
                           'Of Column'
                           column.

  ENDMETHOD.                    "on_single_click
ENDCLASS.                    "lcl_alv IMPLEMENTATION

Defining Objects

DATA o_alv TYPE REF TO lcl_alv.Instance Creation

START-OF-SELECTION.

  CREATE OBJECT o_alv.

Calling Methods

o_alv->select_alv( 30 ).
o_alv->display_alv( ).

分享到:
评论

相关推荐

    abap-ALV.rar_ABAP系统ALV_abap_abap开发alv

    ABAP(Advanced Business Application ...通过阅读“abap ALV.doc”文档,你可以更详细地了解到这些内容,并获得具体的代码示例和步骤指导。这份文档将帮助你理解和实践ABAP ALV开发,从而提升你在ABAP领域的专业技能。

    在ALV里编写回车事件

    3. **事件处理器**: 当特定事件发生时,程序中负责执行相应代码的部分称为事件处理器。 4. **回车事件**: 特指当用户在ALV列表中按下回车键时触发的事件。 #### 三、编写ALV回车事件的步骤 ##### 1. 定义类 首先,...

    SAP ABAP ALV分页显示

    通过以上代码,我们可以清晰地看到如何在SAP ABAP中实现ALV的分页功能。这种方法不仅提高了应用程序的性能,也提升了用户的体验。通过合理设计和优化,可以确保在处理大量数据时系统仍然保持良好的响应速度。此外,...

    alv abap sap 总结

    以上是 SAP ABAP 中 ALV 技术的基本使用方法,通过这些步骤,开发者可以构建出功能丰富的数据展示界面,满足不同业务需求。需要注意的是,SAP 不断更新其开发工具和技术,因此实际开发中可能需要参考最新的 SAP ABAP...

    abap_alv工具栏修改

    本文将详细介绍如何在ABAP_ALV工具栏上添加或移除按钮,以及如何编写相关的事件处理程序。 #### 二、基础知识概述 在开始之前,我们需要了解一些基础概念: - **GUI Status**:GUI状态是指ALV网格视图中的功能区或...

    在alv输出屏幕上增加按钮实现方法

    在 SAP ABAP 开发中,ALV (ABAP List...这个过程需要对 SAP ABAP 语言和 ALV 技术有深入的理解,包括内表操作、屏幕事件处理、数据库交互等。通过以上步骤,开发者可以自定义 ALV 功能,增强用户界面的交互性和功能性。

    SAP ABAP ALV教程

    这些设置可以自定义ALV表单的显示效果和交互方式。 在fields函数中,我们需要定义表单中的各个列的相关信息,例如列名、数据类型等。 在display_data函数中,我们需要显示ALV表单,例如使用REUSE_ALV_GRID_DISPLAY...

    SAP ABAP ALV总结

    ALV是一个基于GUI的报表生成器,它使用了一系列的函数模块和类来创建动态的、可自定义的列表。通过使用这些功能,开发人员可以快速高效地生成复杂的数据报表。 2. **编程双击事件**: 要为ALV报告编程处理双击...

    alv abap sap IBM培训资料

    对于ABAP和ALV,学员应掌握编写ABAP代码、调试技巧、使用SAP开发工具(如SE80)的能力。对于IBM相关部分,培训可能涉及IBM产品的安装、配置和性能调优。 6. **5+ALV**:这个文件名可能指的是ALV的五个关键组件或五...

    源代码(ALV 报表 F4 增删插改按钮功能).pdf

    同时,CL_GUI_ALV_GRID类提供了丰富的接口用于自定义ALV Grid的行为,包括增强F4功能。 了解这些知识点对于在SAP ABAP中开发和维护ALV报表及其F4功能至关重要。在实际操作中,开发人员需要对这些组件和概念有着深入...

    SAP ALV 教程

    本教程将详细解读SAP ABAP中使用ALV进行报表开发的过程,包括ALV表格的创建、显示方式、列宽调整等关键知识点。 首先,我们需要了解在SAP ABAP中创建ALV的基本步骤。根据教程内容,创建ALV报表的过程可以分为以下几...

    Programming dynamic ALV in WebDynpro for ABAP

    ### 编程动态 ALV 在 WebDynpro for ABAP 中的应用 #### 概述 本文旨在探讨如何在 WebDynpro for ABAP 中编程实现动态 ALV(Application List Viewer)。通过本教程,您将学会如何根据用户的选择动态地构建 ALV 的...

    ALV上加自己定义的按钮

    本文将详细探讨如何在SAP ALV中添加自定义按钮,并通过示例代码来解释具体的实现步骤。 ### 一、ALV概述 ALV是一种在SAP系统中用于展示数据列表的强大工具。它提供了高度灵活的数据展示方式,并且可以根据不同的...

    SAP自定义帮助搜索

    - **操作说明**:使用事务码SE37或SE38打开相应的ABAP程序,根据具体需求修改帮助出口的代码逻辑。 #### 四、示例代码解析 下面是一段示例代码,展示了如何实现自定义搜索帮助的逻辑。 ```abap FUNCTION ZF4IF_...

    SAP OO ALV技术介绍.pdf

    2. 需要自定义的事件类,并完成相应的事件响应代码; 3. 功能码响应通过屏幕PAI,不再是传递FORM名给ALV; 4. 预定义有默认的ALV状态栏,通过toolbar事件定制按钮。 OO ALV技术的实现步骤是: 1. 显示屏幕、容器;...

    ALV_Grid的函数中定义下拉列表

    在代码中,虽然没有具体展示如何调用`BCALV_EDIT_06`,但可以推测,在ALV初始化的某个阶段,开发者会注册这个CALLER_EXIT,并在相应的事件处理器中填充下拉列表的选项。这种方法尤其适合于那些有固定下拉列表选项的...

    ALV Report_ALVABAP_

    - **添加按钮**:你可以通过创建用户事件并绑定相应的ABAP代码,添加自定义的交互功能,如导出数据、打印等。 - **修改列宽和顺序**:通过设置`REDEFINE`或`APPEND`字段类别,可以调整列的宽度和顺序。 - **...

Global site tag (gtag.js) - Google Analytics