2023 Jul 23 12:44 PM
I have requirement in alv cl_gui_alv_grid to added function search help iam using ref_table and ref_field
that need more function than that so alv field should look like this
example in my alv input 0 then value in databased should see in below... thats is possible on alv cl gui grid
i only know in alv can using F4 using this function (ref_table and ref_field)
2023 Jul 23 1:00 PM
So, you are asking how to implement a dropdown listbox in an editable CL_GUI_ALV_GRID, right?
If yes, just search these 3 words in the forum, it has been already answered.
2023 Jul 23 1:15 PM
Thank You for your answering Sandra rossi but that's not a dropdown listbox..
thats my example is from parameter sales organization. So if i input something that value should see even we not using f4 or search help
so that's is also possible in alv (cl_gui_alv_grid)
Thank You
2023 Jul 23 1:22 PM
Okay, so you mean a type-ahead search.
Also answered but can find less answers.
Nope, the feature is not available for CL_GUI_ALV_GRID.
2023 Jul 23 1:58 PM
Again thank you for your quick response... I appreciate that
so thats also not possible in any alv class like cl_salv_table.
2023 Jul 23 3:17 PM
SAP GUI is provided with the GridView.ocx control which is known as the "ALV Grid Control", CL_GUI_ALV_GRID is its direct wrapping class. In Full Screen or Container mode, cl_salv_table is based on CL_GUI_ALV_GRID,
So, no it's not possible.
2023 Jul 23 3:27 PM
2023 Jul 24 4:53 PM
Hello,
here this is an example program that create custom search help for field ERNAM
REPORT ztest17.
DATA: gr_grid TYPE REF TO cl_gui_alv_grid.
DATA: gt_data TYPE TABLE OF mara." your structure
DATA: gt_fcat TYPE lvc_t_fcat .
DATA: gs_layo TYPE lvc_s_layo .
DATA: gs_var TYPE disvariant .
CLASS handel_event DEFINITION.
PUBLIC SECTION.
METHODS handle_onf4
FOR EVENT onf4 OF cl_gui_alv_grid
IMPORTING
!e_fieldname
!es_row_no
!e_fieldvalue
!er_event_data .
ENDCLASS.
CLASS handel_event IMPLEMENTATION.
METHOD handle_onf4.
TYPES: BEGIN OF ty_f4values,
ernam TYPE ernam,
END OF ty_f4values.
DATA: IT_f4values TYPE TABLE OF ty_f4values,
wa_f4values TYPE ty_f4values.
DATA: it_retvalu TYPE TABLE OF ddshretval,
wa_retvalu TYPE ddshretval.
FIELD-SYMBOLS <modis> TYPE lvc_t_modi.
CASE e_fieldname.
WHEN 'ERNAM'.
READ TABLE gt_DATA INTO DATA(ls_item) INDEX es_row_no-row_id.
CHECK sy-subRC IS INITIAL.
er_event_data->m_event_handled = 'X'.
" YOU CAN USE SELECE HERE
wa_f4values-ernam = 'TEST1'.
APPEND wa_f4values TO it_f4values.
wa_f4values-ernam = 'TEST2'.
APPEND wa_f4values TO it_f4values.
wa_f4values-ernam = 'TEST3'.
APPEND wa_f4values TO it_f4values.
IF sy-subrc IS INITIAL.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'LGORT'
dynpprog = sy-repid
dynpnr = sy-dynnr
dynprofield = 'LGORT'
value_org = 'S'
TABLES
value_tab = it_f4values
return_tab = it_retvalu.
IF it_retvalu IS NOT INITIAL.
READ TABLE it_retvalu INTO wa_retvalu INDEX 1.
e_fieldvalue = wa_retvalu-fieldval.
ASSIGN er_event_data->m_data->* TO <modis>.
<modis> = VALUE #( BASE <modis> ( row_id = es_row_no-row_id
fieldname = e_fieldname
value = e_fieldvalue ) ).
ENDIF.
ENDIF.
ENDCASE.
ENDMETHOD.
ENDCLASS.
DATA obj_reg_hdl TYPE REF TO handel_event.
START-OF-SELECTION.
CALL SCREEN '100'.
FORM display.
IF gr_grid IS NOT BOUND.
CREATE OBJECT gr_grid
EXPORTING
i_parent = cl_gui_container=>default_screen.
PERFORM get_data.
PERFORM create_fcat.
PERFORM create_layout.
" REGISTER HANDELER
IF obj_reg_hdl IS NOT BOUND.
CREATE OBJECT obj_reg_hdl.
ENDIF.
DATA: lv_it_f4 TYPE lvc_t_f4,
lv_wa_f4 TYPE lvc_s_f4.
CLEAR lv_wa_f4.
lv_wa_f4-fieldname = 'ERNAM'.
lv_wa_f4-register = 'X'.
lv_wa_f4-getbefore = space.
lv_wa_f4-chngeafter = space.
APPEND lv_wa_f4 TO lv_it_f4.
CALL METHOD gr_grid->register_f4_for_fields
EXPORTING
it_f4 = lv_it_f4.
SET HANDLER obj_reg_hdl->handle_onf4 FOR gr_grid.
CALL METHOD gr_grid->register_edit_event
EXPORTING
i_event_id = cl_gui_alv_grid=>mc_evt_modified.
CALL METHOD gr_grid->register_edit_event
EXPORTING
i_event_id = cl_gui_alv_grid=>mc_evt_enter. " Event ID
CALL METHOD gr_grid->set_table_for_first_display
EXPORTING
is_variant = gs_var
is_layout = gs_layo
i_save = 'A'
CHANGING
it_outtab = gt_data
it_fieldcatalog = gt_fcat.
ELSE.
gr_grid->refresh_table_display( ).
ENDIF.
ENDFORM.
FORM create_layout.
CLEAR gs_layo.
gs_layo-sel_mode = 'A'. " EBABLES MUTI ROW SELECTION
gs_layo-zebra = 'X'.
gs_layo-col_opt = 'X'.
gs_layo-cwidth_opt = 'X'.
gs_layo-info_fname = 'COLOR'.
CLEAR gs_var.
gs_var-username = sy-uname.
gs_var-report = sy-repid.
gs_var-handle = '0100'.
ENDFORM.
FORM create_fcat.
DATA: lv_wa_fieldc LIKE LINE OF gt_fcat.
CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
EXPORTING
i_structure_name = 'MARA' " your structure
CHANGING
ct_fieldcat = gt_fcat.
LOOP AT gt_fcat INTO lv_wa_fieldc WHERE fieldname = 'ERNAM'.
lv_wa_fieldc-edit = 'X'.
lv_wa_fieldc-f4availabl = 'X'.
MODIFY gt_fcat FROM lv_wa_fieldc.
ENDLOOP.
ENDFORM.
FORM get_data.
SELECT * FROM mara
INTO CORRESPONDING FIELDS OF TABLE @gt_data UP TO 100 ROWS.
ENDFORM.
MODULE status_0100 OUTPUT.
SET PF-STATUS 'STAT100'.
PERFORM display.
ENDMODULE.
MODULE user_command_0100 INPUT.
CASE sy-ucomm.
WHEN 'BACK'.
LEAVE TO SCREEN 0.
WHEN 'EXIT' OR 'CANCEL'.
LEAVE PROGRAM.
WHEN OTHERS.
ENDCASE.
ENDMODULE.
2023 Jul 24 5:45 PM
In fact, after asking several times the OP, it ended that the question was about if type-ahead search is supported in ALV Grid Control or not ==> not supported.