Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

module pool

Former Member
0 Likes
609

hi

how to handle hotspot in module pool

want to navigate to other screen when clicking on the textfield.

able to see hand symbol on the textfield by setting the double click attribute in screen painter..but how to trigger the function code and navigate?

4 REPLIES 4
Read only

Former Member
0 Likes
564

Hi!

here a sample code...hope this helps!

Regards

FORM user_command USING r_ucomm LIKE sy-ucomm

rs_selfield TYPE slis_selfield.

IF r_ucomm = '&IC1'.

IF NOT rs_selfield-value IS INITIAL.

IF rs_selfield-sel_tab_field = 'TB_VIAGGIO_ALV-NORD'.

nord = rs_selfield-value.

*HERE YOU CAN CALL A SCREEN OR A TRANSACTION

ENDIF.

ENDIF.

ENDIF.

endform.

Read only

0 Likes
564

hi pozzi,

the code will work for reports but want to retrieve fetchcode/(similar operaion) in module pool..

double clicking the link does not triggering the code itself...

Read only

Former Member
0 Likes
564

Hi Jay,

Check this ALV report for hot spot event

&----


*& Report displaying an ALV GRID CONTROL which responds *

*& to HOTSPOT click event *

&----


REPORT ZZ_ALV_GRID_RESPONDING_HOTSPOT_CLICK .

TABLES : BKPF .

DATA : I_BKPF TYPE STANDARD TABLE OF BKPF WITH HEADER LINE .

DATA : MOK_CODE LIKE SY-UCOMM .

DATA : OK_CODE LIKE SY-UCOMM .

DATA : MM_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER .

DATA : MM_ALVGRID TYPE REF TO CL_GUI_ALV_GRID .

DATA : CT_FIELDCAT TYPE STANDARD TABLE OF LVC_S_FCAT .

DATA : WA_FIELDCAT LIKE LVC_S_FCAT .

----


  • CLASS RESPOND_EVENTS DEFINITION

----


----


CLASS RESPOND_EVENTS DEFINITION .

PUBLIC SECTION .

METHODS : RESPOND_HOTSPOT_CLICK FOR EVENT

HOTSPOT_CLICK OF

CL_GUI_ALV_GRID IMPORTING E_ROW_ID

E_COLUMN_ID

ES_ROW_NO.

ENDCLASS . "RESPOND_EVENTS DEFINITION

----


  • CLASS RESPOND_EVENTS IMPLEMENTATION

----


----


CLASS RESPOND_EVENTS IMPLEMENTATION .

METHOD RESPOND_HOTSPOT_CLICK .

CLEAR BKPF .

READ TABLE I_BKPF INDEX E_ROW_ID INTO BKPF .

IF SY-SUBRC EQ 0 .

SET PARAMETER ID 'BLN' FIELD BKPF-BELNR .

SET PARAMETER ID 'BUK' FIELD BKPF-BUKRS .

SET PARAMETER ID 'GJR' FIELD BKPF-GJAHR .

CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN .

ENDIF .

ENDMETHOD . "RESPOND_HOTSPOT_CLICK

ENDCLASS . "RESPOND_EVENTS IMPLEMENTATION

DATA : I_RESPOND_EVENTS TYPE REF TO RESPOND_EVENTS .

*=====================================================

  • SELECTION SCREEN - ( DEFAULT )

*=====================================================

SELECT-OPTIONS : S_BELNR FOR I_BKPF-BELNR OBLIGATORY.

*=====================================================

  • START OF SELECTION

*=====================================================

START-OF-SELECTION .

SELECT * FROM BKPF

INTO CORRESPONDING FIELDS OF TABLE I_BKPF

WHERE BELNR IN S_BELNR .

*======================================================

  • END-OF-SELECTION .

*======================================================

END-OF-SELECTION .

CALL SCREEN 100 .

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

  • The screen 100 has a custom control named 'MCONTAINER'

  • and a command button with function code 'QUIT' .

  • Of course has an element called OK_CODE like sy-ucomm .

  • The flow logic of the screen has in the output section

  • the module PREPARE_OUTPUT ,

  • and in the input section the module USER_COMMAND_0100 .

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

&----


*& Module USER_COMMAND_0100 INPUT

&----


----


MODULE USER_COMMAND_0100 INPUT.

CLEAR : MOK_CODE .

MOK_CODE = OK_CODE .

CLEAR : OK_CODE .

CASE MOK_CODE .

WHEN 'QUIT' .

LEAVE TO SCREEN 0 .

ENDCASE .

ENDMODULE. " USER_COMMAND_0100 INPUT

&----


*& Module OUTPUT OUTPUT

&----


  • text

----


MODULE PREPARE_OUTPUT OUTPUT .

IF MM_CONTAINER IS INITIAL .

CREATE OBJECT MM_CONTAINER

EXPORTING CONTAINER_NAME = 'MCONTAINER' .

CREATE OBJECT MM_ALVGRID

EXPORTING I_PARENT = MM_CONTAINER .

PERFORM CATALOG_CREATION .

PERFORM SHOW_DATA .

CREATE OBJECT I_RESPOND_EVENTS .

SET HANDLER I_RESPOND_EVENTS->RESPOND_HOTSPOT_CLICK

FOR MM_ALVGRID .

ENDIF .

ENDMODULE. " OUTPUT OUTPUT

&----


*& Form CATALOG_CREATION

&----


*

FORM CATALOG_CREATION .

call function 'LVC_FIELDCATALOG_MERGE'

EXPORTING

i_structure_name = 'BKPF'

CHANGING

ct_fieldcat = Ct_fieldcat.

LOOP AT Ct_fieldcat INTO WA_fieldcat.

IF ( WA_FIELDCAT-FIELDNAME NE 'BUKRS' )

AND ( WA_FIELDCAT-FIELDNAME NE 'BELNR' )

AND ( WA_FIELDCAT-FIELDNAME NE 'GJAHR' ) .

WA_FIELDCAT-HOTSPOT = 'X' .

MODIFY Ct_fieldcat FROM WA_fieldcat.

ENDIF .

ENDLOOP.

DELETE Ct_fieldcat WHERE HOTSPOT = 'X' .

LOOP AT Ct_fieldcat INTO WA_fieldcat.

IF WA_FIELDCAT-FIELDNAME EQ 'BELNR' .

WA_FIELDCAT-HOTSPOT = 'X' .

MODIFY Ct_fieldcat FROM WA_fieldcat.

ENDIF .

ENDLOOP.

ENDFORM. " CATALOG_CREATION

&----


*& Form SHOW_DATA

&----


FORM SHOW_DATA .

CALL METHOD MM_ALVGRID->SET_TABLE_FOR_FIRST_DISPLAY

CHANGING

IT_OUTTAB = I_BKPF[]

IT_FIELDCATALOG = Ct_fieldcat[].

ENDFORM. " SHOW_DATA

Mohinder

Read only

Former Member
0 Likes
564

Thanks