‎2007 Apr 25 10:18 PM
as I can call a ALV within a table control from an icon, depending if it has or non information, such icon activates?
‎2007 Apr 25 10:58 PM
‎2007 Apr 26 5:27 AM
Hello jaime,
Check out the code below :-
REPORT zdocking_splitter.
TABLES: ekko, ekpo, makt.
TYPE-POOLS: slis.
TYPE-POOLS: icon.
User Commands on Screens.
DATA: ok_code TYPE sy-ucomm,
Object references
ref_custom_container TYPE REF TO cl_gui_custom_container,
l_docking_left TYPE REF TO cl_gui_docking_container,
l_docking_top TYPE REF TO cl_gui_docking_container,
l_docking_bottom TYPE REF TO cl_gui_docking_container,
l_docking_bottom2 TYPE REF TO cl_gui_docking_container,
l_container_top TYPE REF TO cl_gui_container,
l_container_bottom TYPE REF TO cl_gui_container,
g_grid_ref1 TYPE REF TO cl_gui_alv_grid,
g_grid_ref2 TYPE REF TO cl_gui_alv_grid,
g_grid_ref3 TYPE REF TO cl_gui_alv_grid.
Variable for Filling the Field Catalog
DATA: fcat TYPE lvc_t_fcat,
lt_fieldcat TYPE lvc_t_fcat,
lt_fieldcat1 TYPE lvc_t_fcat,
lt_fieldcat2 TYPE lvc_t_fcat,
ls_layout TYPE lvc_s_layo.
CONSTANTS: c_marked TYPE c VALUE 'X'.
DATA: counter TYPE i VALUE 0.
*Internal Tables.
DATA: BEGIN OF itab_ekko OCCURS 0,
id TYPE icont-id,
ebeln TYPE ekko-ebeln,
END OF itab_ekko.
DATA: wa_ekko LIKE LINE OF itab_ekko.
DATA: BEGIN OF itab_ekpo OCCURS 0,
ebeln TYPE ekpo-ebeln,
ebelp TYPE ekpo-ebelp,
matnr TYPE ekpo-matnr,
meins TYPE ekpo-meins,
menge TYPE ekpo-menge,
END OF itab_ekpo.
DATA: BEGIN OF itab_makt OCCURS 0,
matnr TYPE ekpo-matnr,
maktx TYPE makt-maktx,
END OF itab_makt.
Selection Screen Parameters.
SELECTION-SCREEN: BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS: s_ebeln FOR ekpo-ebeln.
SELECTION-SCREEN END OF BLOCK b1.
----
CLASS lcl_event_control DEFINATION
----
*
----
CLASS lcl_event_control DEFINITION.
PUBLIC SECTION.
<b>METHODS handle_hotspot_click
FOR EVENT hotspot_click OF cl_gui_alv_grid
IMPORTING e_column_id es_row_no.</b>
ENDCLASS. "lcl_event_control DEFINATION
----
CLASS lcl_event_control IMPLEMENTATION
----
*
----
CLASS lcl_event_control IMPLEMENTATION.
<b> METHOD handle_hotspot_click.</b>
<b> PERFORM handle_double_click USING es_row_no
e_column_id.</b>
<b> ENDMETHOD. "handle_hotspot_click</b>
ENDCLASS. "lcl_event_control IMPLEMENTATION
******************************************************************************
DATA: gr_event_handler TYPE REF TO lcl_event_control.
*******************************************************************************
AT SELECTION-SCREEN.
IF NOT s_ebeln IS INITIAL.
SELECT ebeln FROM ekko
INTO CORRESPONDING FIELDS OF TABLE itab_ekko
WHERE ebeln IN s_ebeln.
IF sy-subrc NE 0.
MESSAGE e002(zsplit).
ENDIF.
ELSE.
MESSAGE e001(zsplit).
ENDIF.
*************************************************************************
START-OF-SELECTION.
CLEAR itab_ekko.
REFRESH itab_ekko.
SELECT ebeln FROM ekko
INTO CORRESPONDING FIELDS OF TABLE itab_ekko
WHERE ebeln IN s_ebeln.
LOOP AT itab_ekko INTO wa_ekko.
MOVE '@B0@' TO wa_ekko-id.
MODIFY itab_ekko FROM wa_ekko.
ENDLOOP.
CALL SCREEN 100.
************************************************************************
*
E N D O F M A I N P R O G R A M *
*
************************************************************************
<b>Reward points if helpful :-)</b>
Thanks,
Sachin