OO ALV实现字段报错红框定位

在ALV页面上有些自定义字段校验时需要报错,红框定位到报错字段。针对红框报错,类CL_GUI_ALV_GRID中有SET_ERROR_CELLS方法可以实现,然而,这个方法是受保护的,所以,需要在程序中重写实现。

 

具体实现:

1.重写SET_ERROR_CELLS方法

 定义。

1 CLASS lcl_gui_alv_grid DEFINITION INHERITING FROM cl_gui_alv_grid.
2 
3     PUBLIC SECTION.
4         METHODS:
5             m_set_error_cells IMPORTING it_err TYPE lvc_t_err.
6 ENDCLASS.

 实施

1 CLASS lcl_gui_alv_grid IMPLEMENTION.
2     METHOD m_set_error_cells.
3         CALL_METHOD me->set_error_cells
4             EXPORTING
5                 cell_table     = it_err.
6     ENDMETHOD.
7 ENDCLASS.

2.将需要报错的字段的行列ID保存到内表。

1 DATA:gt_err TYPE lvc_t_err,
2          gs_err TYPE lvc_s_err.
3 
4 gs_err-row_id = &1.
5 gs_err-row_id = &2.
6 APPEND gs_err TO gt_err.
7 CLEAR:gs_err.

3.PBO刷新时,调用方法

1 IF gt_err IS NOT INITIAL.
2     CALL METHOD go_alv_grid->m_set_error_cells
3         EXPORTING
4             it_err = gt_err.
5 ENDIF.

 

posted @ 2021-12-16 09:37  ABAP小学生  阅读(512)  评论(0)    收藏  举报