一、SLIS定义的ALV的事件名称
* Events
slis_ev_item_data_expand type slis_formname value 'ITEM_DATA_EXPAND',
slis_ev_reprep_sel_modify type slis_formname value 'REPREP_SEL_MODIFY',
slis_ev_caller_exit_at_start type slis_formname value 'CALLER_EXIT',
slis_ev_user_command type slis_formname value 'USER_COMMAND',
slis_ev_top_of_page type slis_formname value 'TOP_OF_PAGE',
slis_ev_data_changed type slis_formname value 'DATA_CHANGED',
slis_ev_top_of_coverpage type slis_formname value 'TOP_OF_COVERPAGE',
slis_ev_end_of_coverpage type slis_formname value 'END_OF_COVERPAGE',
slis_ev_foreign_top_of_page type slis_formname value 'FOREIGN_TOP_OF_PAGE',
slis_ev_foreign_end_of_page type slis_formname value 'FOREIGN_END_OF_PAGE',
slis_ev_pf_status_set type slis_formname value 'PF_STATUS_SET',
slis_ev_list_modify type slis_formname value 'LIST_MODIFY',
slis_ev_top_of_list type slis_formname value 'TOP_OF_LIST',
slis_ev_end_of_page type slis_formname value 'END_OF_PAGE',
slis_ev_end_of_list type slis_formname value 'END_OF_LIST',
slis_ev_after_line_output type slis_formname value 'AFTER_LINE_OUTPUT',
slis_ev_before_line_output type slis_formname value 'BEFORE_LINE_OUTPUT',
slis_ev_subtotal_text type slis_formname value 'SUBTOTAL_TEXT',
slis_ev_context_menu type slis_formname value 'CONTEXT_MENU'.
二、和事件相关的函数
2.1 获取所有事件到内表
data ct_events type slis_t_event.
call function 'REUSE_ALV_EVENTS_GET'
exporting
i_list_type = 4
importing
et_events = ct_events
exceptions
list_type_wrong = 1
others = 2.
注意: i_list_type值说明:
0 = simple list REUSE_ALV_LIST_DISPLAY
1 = hierarchcal-sequential list REUSE_ALV_HIERSEQ_LIST_DISPLAY
2 = simple block list REUSE_ALV_BLOCK_LIST_APPEND
3 = hierarchical-sequential block list REUSE_ALV_BLOCK_LIST_HS_APPEND
4 =simple grid REUSE_ALV_GRID_DISPLAY
2.2 获取所有事件名称
REUSE_ALV_EVENT_NAMES_GET
三、CL_GUI_ALV_GRID的事件和 REUSE_ALV_GRID_DISPLAY定义的子过程对应关系
CL_GUI_GRID's Event |
REUSE_ALV_GRID_DISPLAY函数设置的用户定义子过程 |
end_of_list |
callback_html_end_of_list |
callback_end_of_list |
print_end_of_list |
callback_end_of_list |
end_of_page |
callback_end_of_page |
top_of_page |
callback_html_top_of_page |
callback_top_of_page |
print_top_of_page |
callback_top_of_page |
user_command |
callback_user_command |
data_changed |
callback_data_changed |
after_user_command |
callback_user_command(注意:根据函数设置先后触发CL_GUI_GRID的"TOP_OF_PAGE"和"END_OF_LIST"事件) |
before_user_command |
callback_user_command |
after_refresh |
无,系统根据选中设置grid的行选中处理 call method gt_grid-grid->set_selected_rows exporting it_index_rows = lt_rows. |
double_click |
callback_user_command |
hotspot_click(同double_click) |
callback_user_command |
subtotal_text |
callback_subtotal_text |
context_menu_request |
callback_context_menu |
more links: http://www.saptechnical.com/Tutorials/ALV/Subtotals/Define.htm
分享到:
相关推荐
- `CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'`: 调用标准函数来显示ALV网格,并传递容器名称和数据表。 2. **ALV的列布局设置**: - `DATA: WA_LAYOUT TYPE LVC_S_LAYO`: 创建一个`LVC_S_LAYO`类型的变量来存储列...
OO ALV技术相比于标准函数REUSE_ALV_GRID_DISPLAY和REUSE_ALV_GRID_DISPLAY_LVC具有更多的灵活性和可扩展性,可以满足更多的报表需求。 OO ALV技术的实现主要涉及到以下几个方面: 1. 容器类的实例化:通过创建...
1. **激活ALV函数库**:在ABAP程序中包含所需的ABAP类和函数模块,如CL_GUI_ALV_GRID和REUSE_ALV_GRID_DISPLAY。 2. **创建数据结构**:定义用于存储数据库查询结果的数据结构。 3. **填充数据**:执行SQL查询,将...
此外,教程可能还会介绍如何使用其他相关类和接口,如`IF_GUI_ALV_COLUMN`(用于定义列行为)、`IF_ABAP_ALV_GRID_DISPLAY`(用于显示和控制ALV行为)等,以及如何实现个性化定制,如更改颜色、添加按钮、自定义排序...
通过ITAB(内部表)传递数据到ALV,可以使用FUNCTION MODULE 'REUSE_ALV_GRID_DISPLAY'或使用CL_GUI_ALV_GRID类的SET_TABLE_FOR_FIRST_DISPLAY方法。 3. **交互性**:ALV支持用户交互,如单击、双击和拖放操作。...
- **调用ALV初始化函数**:使用`CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'`或`CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'`来初始化ALV。这一步会设置基本的ALV参数,如标题、行选择等。 - **传递数据给ALV**:通过...
该方法的参数与函数REUSE_ALV_GRID_DISPLAY_LVC非常类似,大多数参数甚至一样,如is_layout、it_fieldcatalog等。 OO ALV技术与函数ALV最主要的不同点是: 1. 需要画一个屏幕,在屏幕上画一个容器(即ALV所显示的...
通过调用`REUSE_ALV_GRID_DISPLAY`函数模块,可以快速生成简单的ALV网格报告。你需要先创建字段目录(Field Catalog),然后传递必要的数据表和配置参数。 2. **ALV Example Program ALV Grid Control**: 示例程序...
例如,通过调用FUNCTION MODULE 'REUSE_ALV_GRID_DISPLAY',可以在屏幕上调用一个标准的ALV表格,并传递必要的数据结构和配置参数。 描述中的"实战例子"可能涵盖如何生成ALV表格、添加自定义列、处理用户交互事件等...
- `REUSE_ALV_GRID_DISPLAY`:这是一个函数模块,用于快速实现ALV显示,适用于简单的报表需求。 3. **ALV的工作原理**: - 数据准备:在ABAP代码中,你需要先将数据填充到内部表中,这是ALV显示的基础。 - ALV...
SAP提供了两种方式来使用ALV:传统的函数模块调用(如`REUSE_ALV_GRID_DISPLAY`)和ABAP Objects(如`CL_GUI_ALV_GRID`类)。ABAP Objects提供了更高级的功能和更好的面向对象编程支持,但也需要更多的代码量。 ...
创建ALV通常涉及调用`REUSE_ALV_GRID_DISPLAY`函数模块,传入必要的参数,如数据表、标题等。然后可以通过`SET_TABLE_FOR_FIRST_DISPLAY`方法设置列属性,如列标题、宽度和数据类型。 3. **ALV交互性**: ALV支持...
2. 调用方法:ALV可以通过多种方式调用,例如通过`REUSE_ALV_GRID_DISPLAY`、`CALL_REPORT_OUTPUT`等函数模块,或者使用CL_GUI_ALV_GRID类。 3. 示例代码:提供的DEMO代码展示了如何在SAP ABAP程序中集成ALV并进行...
1. **初始化ALV**: 使用函数模块`REUSE_ALV_GRID_DISPLAY`或`CL_GUI_ALV_GRID`来初始化ALV。这一步会设置基本的ALV属性,如列宽、表头、行样式等。 2. **定义数据结构**: 需要定义一个内部表,用于存储要显示的数据...
例如,`REUSE_ALV_GRID_DISPLAY`函数模块常用于屏幕内建ALV的分页,而自定义ALV时,可以使用`CL_GUI_ALV_GRID`类的成员方法。在SMARTFORMS中,可能需要编写自己的ABAP代码来处理分页逻辑,这可能涉及到遍历数据库...
3. **ALV编程接口**:SAP提供了多个ALV相关的类和函数模块,如CL_GUI_ALV_GRID和REUSE_ALV_GRID_DISPLAY,用于在ABAP程序中集成ALV。开发者需要学习如何使用这些接口来定制ALV的行为,例如添加自定义按钮、处理用户...
实现ALV报表通常涉及创建表结构,调用REUSE_ALV_GRID_DISPLAY或CL_GUI_ALV_GRID类,设置热键,以及添加小计。 - **FM ALV与OO ALV比较**:FM ALV基于函数模块,而OO ALV使用面向对象的CL_GUI_ALV_GRID类,后者提供...
- 了解如何使用REPORT或FUNCTION模块来集成ALV,例如REUSE_ALV_GRID_DISPLAY。 6. **对象编程(Object-Oriented Programming)**: - ABAP支持面向对象编程,包括类、对象、继承、多态等概念。 - 创建和使用ABAP...