在ALV报表设计有时候需要根据一定条件将特定的单元显示成特定的颜色,具体实现步骤如下:
1. 在需要显示的内表中添加新的字段,字段类型为lvc_t_scol
2. 根据条件设置颜色数据;
3. 设置layout-coltab_fieldname的数据指定显示颜色的字段.
代码如下:(注意红色部分)
REPORT z_alv_color.
TYPE-POOLS: slis.
DATA: BEGIN OF it_flight OCCURS 0,
carrid LIKE sflight-carrid,
connid LIKE sflight-connid,
fldate LIKE sflight-fldate,
seatsmax LIKE sflight-seatsmax,
seatsocc LIKE sflight-seatsocc,
color TYPE lvc_t_scol,
END OF it_flight.
DATA: it_fieldcat TYPE slis_t_fieldcat_alv,
layout TYPE slis_layout_alv.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = sy-repid
i_internal_tabname = 'IT_FLIGHT'
i_inclname = sy-repid
CHANGING
ct_fieldcat = it_fieldcat
EXCEPTIONS
inconsistent_interface = 1
program_error = 2.
SELECT carrid
connid
fldate
seatsmax
seatsocc
FROM sflight
INTO CORRESPONDING FIELDS OF TABLE it_flight
UP TO 20 ROWS.
DATA: col TYPE lvc_s_scol,
coltab TYPE lvc_t_scol,
color TYPE lvc_s_colo.
color-col = '6'.
color-int = '0'.
color-inv = '0'.
LOOP AT it_flight.
IF it_flight-seatsocc Eq 0.
col-fname = 'SEATSOCC'.
col-color = color.
APPEND col TO coltab.
CLEAR col.
it_flight-color = coltab.
MODIFY it_flight.
ENDIF.
ENDLOOP.
layout-coltab_fieldname = 'COLOR'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-repid
is_layout = layout
it_fieldcat = it_fieldcat
TABLES
t_outtab = it_flight
EXCEPTIONS
program_error = 1.
分享到:
相关推荐
REUSE_ALV_GRID_DISPLAY超详细讲解 REUSE_ALV_GRID_DISPLAY是一个功能强大的ABAP函数模块,主要用于在ABAP程序中显示ALV网格控件。该函数模块提供了大量的参数和事件,使得开发者可以根据需要自定义ALV网格控件的...
在 SAP 开发环境中,"REUSE_ALV_FIELDCATALOG_MERGE" 是一个非常重要的函数,用于合并和创建用于 ALV (ABAP List Viewer) 输出的字段目录。然而,在使用这个函数时,可能存在一些陷阱和注意事项,导致程序出错或者...
描述中提到“ABAP ALV总结,ALV格式,REUSE_ALV_GRID_DISPLAY_LVC函数使用”,这表明我们将重点关注ALV的基本概念、数据格式以及如何通过REUSE_ALV_GRID_DISPLAY_LVC函数来实现ALV的显示。 ALV格式通常涉及如何组织...
- **调用REUSE_ALV_GRID_DISPLAY**: 使用此函数模块来创建标准ALV网格显示。 - **设置列属性**: 设置列的标题、宽度、对齐方式等。 - **设置数据源**: 指定数据源表。 - **设置排序**: 可以设置默认排序规则。 **...
总结来说,自定义ALV按钮的关键在于理解GUI状态的概念,以及如何通过`SET PF-STATUS`和`CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'`的参数设置来控制这些状态。同时,编写响应事件的处理程序是实现按钮功能的核心。...
- **参数传递**: 调用`REUSE_ALV_GRID_DISPLAY`时,除了设置`I_CALLBACK_PF_STATUS_SET`外,还需传递`I_CALLBACK_PROGRAM`参数,该参数应设置为当前程序的名称。 - **调试**: 在开发过程中,建议使用调试工具逐步...
* 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\' EXPORTING i_interface_check = \'\' 接口一致性检查 i_callback_program = sy-repid 当前程序名 is_layout = is_layout 输出样式 it_fieldcat = fieldcat[] 字段...
在实现 ALV Grid 时,我们需要使用 CL_GUI_GRID 类来实现 ALV Grid 控件的各种功能,还可以使用 REUSE_ALV 模块来实现 ALV 报表。 ALV Grid 是一种功能强大且灵活的工具,用于创建交互式报表,可以满足不同的业务...
在ALV报表开发中,需要了解相关的函数,例如REUSE_ALV_GRID_DISPLAY函数、REUSE_ALV_COMMENTARY_WRITE函数、REUSE_ALV_EVENTS_GET函数、REUSE_ALV_FIELDCATALOG_MERGE函数等,这些函数可以帮助开发者更方便地实现...
- `CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'`: 调用标准函数来显示ALV网格,并传递容器名称和数据表。 2. **ALV的列布局设置**: - `DATA: WA_LAYOUT TYPE LVC_S_LAYO`: 创建一个`LVC_S_LAYO`类型的变量来存储列...
3. **ALV调用**:通过调用函数`REUSE_ALV_GRID_DISPLAY`来显示`IT_ZZP2`中的数据。此函数接收多个参数,包括字段目录(`IT_FIELDCAT`)、回调程序ID(`GD_REPID`)以及输出表(`T_OUTTAB`)等。 4. **分页控制**:使用`SET...
OO ALV技术相比于标准函数REUSE_ALV_GRID_DISPLAY和REUSE_ALV_GRID_DISPLAY_LVC具有更多的灵活性和可扩展性,可以满足更多的报表需求。 OO ALV技术的实现主要涉及到以下几个方面: 1. 容器类的实例化:通过创建...
例如,REUSE_ALV_GRID_DISPLAY函数可以用于显示GRID风格的报表,REUSE_ALV_COMMENTARY_WRITE函数可以用于写入注释,REUSE_ALV_EVENTS_GET函数可以用于获取事件,REUSE_ALV_FIELDCATALOG_MERGE函数可以用于合并字段...
#### 一、FUNCTION 'REUSE_ALV_GRID_DISPLAY'概述 在SAP系统中,ALV(Application List Viewer)是用于显示列表数据的强大工具,它不仅支持基本的数据展示,还提供了丰富的自定义选项。本文将重点介绍`REUSE_ALV_...
8. **REUSE_ALV_GRID_DISPLAY**:用于显示网格视图,不同于列表视图,网格视图通常提供更紧凑的数据展示。 9. **REUSE_ALV_POPUP_TO_SELECT**:用于打开弹出窗口供用户选择。 要使用这些函数模块,需遵循一定的步骤...
1. **激活ALV函数库**:在ABAP程序中包含所需的ABAP类和函数模块,如CL_GUI_ALV_GRID和REUSE_ALV_GRID_DISPLAY。 2. **创建数据结构**:定义用于存储数据库查询结果的数据结构。 3. **填充数据**:执行SQL查询,将...
这通常通过在`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...
2. `set_table_for_first_display`方法:用于设置显示的数据和列属性,类似于`reuse_alv_list_display`的功能。 3. `cl_gui_alv_grid`的事件处理:通过定义类方法,如`handle_event`,可以响应用户在ALV上的各种操作...