`
zjut_xiongfeng
  • 浏览: 285030 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

reuse_alv_grid_display 工具条增强

OO 
阅读更多

以下针对于FM:REUSE_ALV_GRID_DISPLAY的ALV,以添加一个按钮为例,修改OO ALV工具条的方式大致相同。
1、创建一个GUI status
首先在程序中创建一个工具条,一般是希望在标准工具条基础上进行修改,可以到函数组SALV中copy标准GUI status到自己的程序下,假如copy过来名字改为0100.
根据需要,添加自定义按钮、相应ICON和功能码BUTTON1,也可删除某些按钮不需要的按钮,保存激活。

2、在call function REUSE_ALV_GRID_DISPLAY时,传入参数I_CALLBACK_PF_STATUS_SET = 'SET_PF_STATUS'
'SET_PF_STATUS'是一个Form的名字,可以任意写,然后在程序中添加'SET_PF_STATUS'这个Form,这其实是PBO过程,代码很简单,如下
*&--------------------------------------------------------------------*
*& Form set_pf_status
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
FORM SET_PF_STATUS USING RT_EXTAB TYPE SLIS_T_EXTAB.
SET PF-STATUS '0100' .
ENDFORM. "set_pf_status
其实如果在第一步,没有删除按钮,而又不想显示出来的话,还可以在这个form中写代码滤掉,如下意思是不显示排序的两个按钮。
*&--------------------------------------------------------------------*
*& Form set_pf_status
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
FORM SET_PF_STATUS USING RT_EXTAB TYPE SLIS_T_EXTAB.
DATA: BEGIN OF EX_TAB OCCURS 0,
FCODE LIKE SY-UCOMM,
END OF EX_TAB.
EX_TAB-FCODE = '&ODN'. APPEND EX_TAB.”升序
EX_TAB-FCODE = '&OUP'. APPEND EX_TAB.”降序
SET PF-STATUS 'STANDARD' EXCLUDING EX_TAB.
ENDFORM. "set_pf_status
需要注意的是,需要传入参数I_CALLBACK_PROGRAM = I_REPID "否则的话,系统找不到'SET_PF_STATUS'这个form,也就无法执行这个Form了。
3、添加一个按钮,肯定要添加按钮事件在call function REUSE_ALV_GRID_DISPLAY时,传入参数I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
同样USER_COMMAND这是个Form名字,可以任意取名,是个PAI的事件响应Form,在代码中实现这个form,可如下
*&--------------------------------------------------------------------*
*& Form user_command
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM
RS_SELFIELD TYPE SLIS_SELFIELD.
CASE R_UCOMM.
WHEN 'BUTTON1'.”BUTTON1是那个自定义按钮的功能码。
PERFORM FRM_button1."执行相应处理
when others.
ENDCASE.
ENDFORM. "user_command
综上是在ALV toolbar上添加一个按钮,并处理按钮事件的例子,按这个思路,删除或者滤掉ALV toolbar上的按钮也好办了,可以在自定义的GUI status直接删除,或者在set_pf_staus这个form中使用excluding来做都行。
注意:如果想保留某些标准按钮的功能,请不要修改其功能码。

分享到:
评论

相关推荐

    REUSE_ALV_GRID_DISPLAY超详细讲解

    REUSE_ALV_GRID_DISPLAY超详细讲解 REUSE_ALV_GRID_DISPLAY是一个功能强大的ABAP函数模块,主要用于在ABAP程序中显示ALV网格控件。该函数模块提供了大量的参数和事件,使得开发者可以根据需要自定义ALV网格控件的...

    abap-ALV.rar_ABAP系统ALV_abap_abap开发alv

    描述中提到“ABAP ALV总结,ALV格式,REUSE_ALV_GRID_DISPLAY_LVC函数使用”,这表明我们将重点关注ALV的基本概念、数据格式以及如何通过REUSE_ALV_GRID_DISPLAY_LVC函数来实现ALV的显示。 ALV格式通常涉及如何组织...

    ABAP_ALV_知识整理

    - **调用REUSE_ALV_GRID_DISPLAY**: 使用此函数模块来创建标准ALV网格显示。 - **设置列属性**: 设置列的标题、宽度、对齐方式等。 - **设置数据源**: 指定数据源表。 - **设置排序**: 可以设置默认排序规则。 **...

    ABAP开发ALV中自定义按钮实现

    首先,我们需要定义一个报表程序,例如`ZMMR3009`,并在其中调用`REUSE_ALV_GRID_DISPLAY`函数来显示ALV。该函数接受一系列参数,如`I_CALLBACK_PROGRAM`用于指定当前程序,`I_LAYOUT`用于传递布局信息,`IT_...

    abap_alv工具栏修改

    - **步骤**: 在调用`REUSE_ALV_GRID_DISPLAY`函数模块时,需要传递参数`I_CALLBACK_PF_STATUS_SET`,并将其设置为你在上一步创建的GUI状态的名称。 - **代码示例**: ```abap * Form set_pf_status FORM set_pf_...

    SAP ALV标准范例

    * 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,用于显示分级层次式...

    ALV常用参数的详细描述1

    CALL FUNCTION \'REUSE_ALV_GRID_DISPLAY\' EXPORTING i_interface_check = \'\' 接口一致性检查 i_callback_program = sy-repid 当前程序名 is_layout = is_layout 输出样式 it_fieldcat = fieldcat[] 字段...

    SAP ALV报表开发指南.pdf

    在ALV报表开发中,需要了解相关的函数,例如REUSE_ALV_GRID_DISPLAY函数、REUSE_ALV_COMMENTARY_WRITE函数、REUSE_ALV_EVENTS_GET函数、REUSE_ALV_FIELDCATALOG_MERGE函数等,这些函数可以帮助开发者更方便地实现...

    ABAP中的ALV操作

    - `CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'`: 调用标准函数来显示ALV网格,并传递容器名称和数据表。 2. **ALV的列布局设置**: - `DATA: WA_LAYOUT TYPE LVC_S_LAYO`: 创建一个`LVC_S_LAYO`类型的变量来存储列...

    SAP ABAP ALV分页显示

    3. **ALV调用**:通过调用函数`REUSE_ALV_GRID_DISPLAY`来显示`IT_ZZP2`中的数据。此函数接收多个参数,包括字段目录(`IT_FIELDCAT`)、回调程序ID(`GD_REPID`)以及输出表(`T_OUTTAB`)等。 4. **分页控制**:使用`SET...

    SAP OO ALV技术介绍.pptx

    OO ALV技术相比于标准函数REUSE_ALV_GRID_DISPLAY和REUSE_ALV_GRID_DISPLAY_LVC具有更多的灵活性和可扩展性,可以满足更多的报表需求。 OO ALV技术的实现主要涉及到以下几个方面: 1. 容器类的实例化:通过创建...

    sap alv 去掉多余按钮

    在SAP系统中,ALV(Application List Viewer)是一种用于展示和处理大量数据的强大工具,它不仅能够以列表形式展示数据,还提供了多种交互功能,如排序、筛选、分组等。然而,在某些应用场景下,ALV界面中预设的一些...

    SAP ALV报表开发指南.docx

    例如,REUSE_ALV_GRID_DISPLAY函数可以用于显示GRID风格的报表,REUSE_ALV_COMMENTARY_WRITE函数可以用于写入注释,REUSE_ALV_EVENTS_GET函数可以用于获取事件,REUSE_ALV_FIELDCATALOG_MERGE函数可以用于合并字段...

    SAP ALV功能总结

    #### 一、FUNCTION 'REUSE_ALV_GRID_DISPLAY'概述 在SAP系统中,ALV(Application List Viewer)是用于显示列表数据的强大工具,它不仅支持基本的数据展示,还提供了丰富的自定义选项。本文将重点介绍`REUSE_ALV_...

    最好的ALV文挡(里面包括所有ALV涵数的介绍和运用)有列子说明的!!

    8. **REUSE_ALV_GRID_DISPLAY**:用于显示网格视图,不同于列表视图,网格视图通常提供更紧凑的数据展示。 9. **REUSE_ALV_POPUP_TO_SELECT**:用于打开弹出窗口供用户选择。 要使用这些函数模块,需遵循一定的步骤...

    ABAP向在线用户发送系统消息(自动刷新ALV)

    - `DISPLAY_ALV`过程中的`REUSE_ALV_GRID_DISPLAY`函数调用,是实现ALV显示的核心,通过传递参数控制ALV的布局、字段目录和数据源。 - 整个报告通过多个内部表、常量、数据类型和类型池的定义,构建了一个完整的框架...

    SAP_ABAP_ALV技术

    1. **激活ALV函数库**:在ABAP程序中包含所需的ABAP类和函数模块,如CL_GUI_ALV_GRID和REUSE_ALV_GRID_DISPLAY。 2. **创建数据结构**:定义用于存储数据库查询结果的数据结构。 3. **填充数据**:执行SQL查询,将...

    ALV EDIT_MASK字段的使用.rar_ABAP EDIT_MASK_ALV EDIT_MASK字段的使用_ALVEDIT

    这通常通过在`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...

    ALV控件的使用,非常好的资源

    通过使用 `REUSE_ALV_GRID_DISPLAY` 或 `REUSE_ALV_GRID_TABLE` 函数,可以设置 `I_CALLBACK_PROGRAM` 参数来指定处理工具条事件的程序。在该程序中,可以定义回调函数来响应按钮点击事件。 5. **处理 ALV 控件双击...

    ABAP--ALV总结

    在 ABAP 中,可以使用 REUSE_ALV_GRID_DISPLAY_LVC 函数来显示 ALV 报表。在这个函数中,需要指定显示的字段、ALV 的全局属性、数据的显示方式等参数。 1.1 在子 FORM 中指定需要显示的字段 在开发 ALV 报表时,...

Global site tag (gtag.js) - Google Analytics