Skip to Content
0
Former Member
Nov 06, 2007 at 02:03 PM

Leave scren while Hotspot click

683 Views

Hi all,

Here is my sample program Hotspot click.

After calling the second screen by Hotspot click, the screen 100 is not leaving back when you pressed BACK Button in screen 100.

When i am Pressing the Back Button in screen 100, it is checking for Hotspot click event.

As i was new to Objects ,Anybody help me in resolving this

REPORT zspot_test .

TABLES mara.

TYPES : BEGIN OF tt_mara,

matnr TYPE matnr ,

mtart TYPE mtart,

matkl TYPE matkl,

END OF tt_mara.

DATA gt_mara TYPE STANDARD TABLE OF mara.

SELECT-OPTIONS so_matnr FOR mara-matnr.

SET SCREEN 100.

START-OF-SELECTION.

SELECT matnr mtart matkl FROM mara

INTO CORRESPONDING FIELDS OF TABLE

gt_mara

WHERE matnr IN so_matnr.

END-OF-SELECTION.

CALL SCREEN 100.

  • ------------------------------

  • INCLUDE zin123.

----


***INCLUDE ZIN123 .

----


*Class Definitions

CLASS : event_handler DEFINITION.

PUBLIC SECTION.

METHODS : handle_hotspotclick FOR EVENT hotspot_click OF

cl_gui_alv_grid IMPORTING

e_row_id

e_column_id

es_row_no.

ENDCLASS.

----


  • CLASS : EVENT_HANDLER

----


  • ........ *

----


CLASS : event_handler IMPLEMENTATION.

METHOD : handle_hotspotclick.

PERFORM handleclick

USING

e_row_id

e_column_id.

  • es_row_no.

ENDMETHOD.

ENDCLASS.

&----


*& Form handleclick

&----


  • text

----


  • -->P_E_ROW_ID text

  • -->P_E_COLUMN_ID text

  • -->P_ES_ROW_NO text

----


FORM handleclick USING e_row_id TYPE lvc_s_row

e_column_id TYPE lvc_s_col.

  • es_row_no.

CALL SCREEN 200.

ENDFORM. " handleclick

&----


*& Module STATUS_0100 OUTPUT

&----


  • text

----


MODULE status_0100 OUTPUT.

SET PF-STATUS 'TEST1'.

  • SET TITLEBAR 'xxx'.

DATA gs_fieldcat TYPE lvc_s_fcat.

DATA: evt_handler TYPE REF TO event_handler.

DATA :gt_cont TYPE REF TO cl_gui_custom_container,

gt_grid TYPE REF TO cl_gui_alv_grid,

gt_container TYPE scrfname VALUE 'SPOT_CREATE',

gt_fieldcat TYPE lvc_t_fcat.

CREATE OBJECT gt_cont

EXPORTING

container_name = 'GRID1'.

CREATE OBJECT gt_grid

EXPORTING

i_parent = gt_cont.

CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'

EXPORTING

i_structure_name = 'MARA'

CHANGING

ct_fieldcat = gt_fieldcat.

LOOP AT gt_fieldcat INTO gs_fieldcat.

IF gs_fieldcat-fieldname = 'MATNR'.

gs_fieldcat-hotspot = 'X'.

modify gt_fieldcat from gs_fieldcat.

ENDIF.

ENDLOOP.

create object evt_handler.

set handler evt_handler->handle_hotspotclick FOR gt_grid.

CALL METHOD gt_grid->set_table_for_first_display

EXPORTING

  • is_variant = gs_variant

i_save = 'A'

i_default = 'X'

  • is_layout = gs_layout

CHANGING

it_outtab = gt_mara

it_fieldcatalog = gt_fieldcat.

endmodule.

  • INCLUDE zin24.

&----


*& Module USER_COMMAND_0100 INPUT

&----


  • text

----


MODULE user_command_0100 INPUT.

data gv_repid like sy-repid.

gv_repid = sy-repid.

CASE sy-ucomm.

WHEN 'BACK'.

LEAVE TO SCREEN 0.

ENDCASE.

ENDMODULE. " USER_COMMAND_0100 INPUT

module USER_COMMAND_0200 input.

case sy-ucomm.

when 'BACK'.

leave to screen 100.

endcase.

endmodule.