在function方式的ALV中,实现增强功能。
例如,想要在ALV界面通过某个按钮完成ALV数据的下载。这个需求有很多实现的方式,我这里给出一种比较少见的做法。
每一个标准的用'REUSE_ALV_GRID_DISPLAY'实现的ALV,执行后都会跳转到一个标准的屏幕。我们可以去观察这个screen的GUI Status—‘STANDARD_FULLSCREEN’。上面有不少的按钮,每个按钮都有一个功能代码。如‘&ALL’ ‘&SAL’这种。我的想法是,按这个按钮的时候激发我在程序中代码,实现ALV的user exit。
做法(以下载按钮为例):
Step 1:
DATA: it_event_test TYPE slis_t_event_exit,
it_event_test_wa TYPE slis_event_exit.
it_event_test_wa-ucomm = '%PC '.
it_event_test_wa-before = 'X'.
*it_event_test_wa-after = 'X'.
APPEND it_event_test_wa TO it_event_test.
Step 2:
FORM. mycommand USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
IF r_ucomm = '%PC '.
此处添加增强的代码
ENDIF.
ENDFORM.
Step 3:
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program= g_repid
is_layout= gs_layout
it_fieldcat= gt_fieldcat[]
i_grid_title= l_text
i_save= 'A'
is_variant= gs_variant
i_callback_user_command = 'MYCOMMAND'
it_event_exit= it_event_test
TABLES
t_outtab= gt_data[].
分享到:
相关推荐
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING i_interface_check = '' i_callback_program = sy-repid is_layout = layout it_fieldcat = fieldcat[] i_callback_pf_status_set = 'PF_STATUS_SET' i_...
描述中提到“ABAP ALV总结,ALV格式,REUSE_ALV_GRID_DISPLAY_LVC函数使用”,这表明我们将重点关注ALV的基本概念、数据格式以及如何通过REUSE_ALV_GRID_DISPLAY_LVC函数来实现ALV的显示。 ALV格式通常涉及如何组织...
总结来说,自定义ALV按钮的关键在于理解GUI状态的概念,以及如何通过`SET PF-STATUS`和`CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'`的参数设置来控制这些状态。同时,编写响应事件的处理程序是实现按钮功能的核心。...
然而,在某些应用场景下,ALV界面中预设的一些功能按钮可能并不符合特定业务流程的需求,比如用户可能不需要打印、导出或者某些高级查询功能,这些不必要的按钮不仅占用了屏幕空间,还可能引起用户的混淆。...
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING i_callback_program = sy-repid i_callback_event = 'OUTPUT' i_structure_name = 'ZT_DATA' TABLES t_outtab = lt_data EXCEPTIONS ... ``` ##### 3、...
在ALV上下文中,我们主要会使用到两个关键的Function模块:`REUSE_ALV_GRID_DISPLAY` 和 `REUSE_ALV_LIST_DISPLAY`。这两个函数分别用于在屏幕内和弹出窗口中显示ALV表格。 首先,我们需要准备输入数据结构。ALV将...
3. **ALV调用**:通过调用函数`REUSE_ALV_GRID_DISPLAY`来显示`IT_ZZP2`中的数据。此函数接收多个参数,包括字段目录(`IT_FIELDCAT`)、回调程序ID(`GD_REPID`)以及输出表(`T_OUTTAB`)等。 4. **分页控制**:使用`SET...
CALL FUNCTION \'REUSE_ALV_GRID_DISPLAY\' EXPORTING i_interface_check = \'\' 接口一致性检查 i_callback_program = sy-repid 当前程序名 is_layout = is_layout 输出样式 it_fieldcat = fieldcat[] 字段...
这通常通过在`CALL REPORT`或`CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'`等语句中使用`SET_EDIT_MASK`方法来实现。例如: ``` DATA: ls_edit_mask TYPE lvc_s_fdef, lv_fieldname LIKE LINE OF it_fieldname. ls...
* BALVSD11:使用了REUSE_ALV_FIELDCATALOG_MERGE和REUSE_ALV_LIST_DISPLAY等FM。 * BALVHD01:使用了REUSE_ALV_VARIANT_DEFAULT_GET、REUSE_ALV_FIELDCATALOG_MERGE、REUSE_ALV_EVENTS_GET等FM,用于显示分级层次式...
- `CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'`: 调用标准函数来显示ALV网格,并传递容器名称和数据表。 2. **ALV的列布局设置**: - `DATA: WA_LAYOUT TYPE LVC_S_LAYO`: 创建一个`LVC_S_LAYO`类型的变量来存储列...
#### 一、FUNCTION 'REUSE_ALV_GRID_DISPLAY'概述 在SAP系统中,ALV(Application List Viewer)是用于显示列表数据的强大工具,它不仅支持基本的数据展示,还提供了丰富的自定义选项。本文将重点介绍`REUSE_ALV_...
- **步骤**: 在调用`REUSE_ALV_GRID_DISPLAY`函数模块时,需要传递参数`I_CALLBACK_PF_STATUS_SET`,并将其设置为你在上一步创建的GUI状态的名称。 - **代码示例**: ```abap * Form set_pf_status FORM set_pf_...
通过ITAB(内部表)传递数据到ALV,可以使用FUNCTION MODULE 'REUSE_ALV_GRID_DISPLAY'或使用CL_GUI_ALV_GRID类的SET_TABLE_FOR_FIRST_DISPLAY方法。 3. **交互性**:ALV支持用户交互,如单击、双击和拖放操作。...
8. **REUSE_ALV_GRID_DISPLAY**:用于显示网格视图,不同于列表视图,网格视图通常提供更紧凑的数据展示。 9. **REUSE_ALV_POPUP_TO_SELECT**:用于打开弹出窗口供用户选择。 要使用这些函数模块,需遵循一定的步骤...
接下来,我们将通过一个具体的示例来进一步了解如何使用`REUSE_ALV_GRID_DISPLAY`函数模块创建一个简单的ALV报表。示例程序名为`Z_ALV_TEST01`,其主要步骤包括: 1. **初始化数据结构**:定义数据表结构,如`IT_...
- **调用ALV初始化函数**:使用`CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'`或`CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'`来初始化ALV。这一步会设置基本的ALV参数,如标题、行选择等。 - **传递数据给ALV**:通过...
- `CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'` - `EXPORTING` - `i_callback_program = sy-repid` - `i_grid_display = 'B'` - `TABLES` - `t_outtab = it_table` - `t_layout = gv_layout` - `CHANGING` - `...
例如,通过调用FUNCTION MODULE 'REUSE_ALV_GRID_DISPLAY',可以在屏幕上调用一个标准的ALV表格,并传递必要的数据结构和配置参数。 描述中的"实战例子"可能涵盖如何生成ALV表格、添加自定义列、处理用户交互事件等...
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC' EXPORTING ... TABLES ... SORT_FIELDS = wa_sort SORT_ASCENDING = lv_sort_ascending. ``` **2.2 隐藏不必要的标准按钮** **2.2.1 先在显示ALV的子FORM里定义...