2023 Feb 15 7:28 AM
how to make hotspot on key field in interactive alv using oo abap?
2023 Feb 15 7:53 AM
Hello,
Get the column and column property, after that you can set HOTSPOT using SET_CELL_TYPE.
" Columns tables for the HotSpot
DATA: LO_COLS_TAB TYPE REF TO CL_SALV_COLUMNS_TABLE,
LO_COL_TAB TYPE REF TO CL_SALV_COLUMN_TABLE.
" get Columns object
LO_COLS_TAB = O_ALV->GET_COLUMNS( ).
" Get column for example VBELN
TRY.
LO_COL_TAB ?= LO_COLS_TAB->GET_COLUMN( 'VBELN' ).
CATCH CX_SALV_NOT_FOUND.
ENDTRY.
* Set the HotSpot for VBELN Column
TRY.
CALL METHOD LO_COL_TAB->SET_CELL_TYPE
EXPORTING
VALUE = IF_SALV_C_CELL_TYPE=>HOTSPOT.
.
CATCH CX_SALV_DATA_ERROR .
ENDTRY.
2023 Feb 15 8:33 AM
If use key field it goes on dump and for other fields it works ...
2023 Feb 15 7:54 AM
2023 Feb 15 9:49 AM
2023 Feb 15 9:54 AM
What is your issue?
If you use CL_GUI_ALV_GRID, no issue with this code: abap - How to trigger code when the user clicks an ALV hotspot field? - Stack Overflow
if I replace
( fieldname = 'BOOKID' ref_table = 'SBOOK' ref_field = 'BOOKID' hotspot = 'X' ) ).
by
( fieldname = 'BOOKID' ref_table = 'SBOOK' ref_field = 'BOOKID' hotspot = 'X' key = 'X' ) ).