2006 Sep 19 10:28 AM
need code for hot key or hot spot
2006 Sep 19 10:30 AM
Hi,
Format Hotspot on.
Write 😕 'Hello'.
For more infomation , select Format and press F1 in se38.
Regards,
Senthil
Message was edited by: senthil kumar
Message was edited by: senthil kumar
2006 Sep 19 10:30 AM
2006 Sep 19 10:31 AM
<b>in normal output</b>,
write <field> HOTSPOT ON.
or
FORMAT HOTSPOT [ON|OFF].
example:
check this code,
REPORT demo_list_format_hotspot.
INCLUDE <list>.
START-OF-SELECTION.
WRITE 'Now comes a'.
<b> FORMAT HOTSPOT ON</b> COLOR 5 INVERSE ON.
WRITE 'HOTSPOT'.
<b>FORMAT HOTSPOT OFF</b> COLOR OFF.
AT LINE-SELECTION.
WRITE / 'New list AT-LINE-SELECTION'.
SKIP.
WRITE 'This is also a hotspot:'.
WRITE icon_list AS ICON HOTSPOT.<b>in ALV,</b>you have to populate in FIELD CATALOG for that field.
HOTSPOT = 'X'.
Regards
srikanth
Message was edited by: Srikanth Kidambi
2006 Sep 19 10:32 AM
2006 Sep 19 10:35 AM
HI Rahul,
if u want it in ALV report while passing the values in Fieldcatlog pass hotspot= 'X'.
Madhavi
2006 Sep 19 10:38 AM
Hi Rahul,
Check this program
&----
*& Report ZLAXMI_TESTPAPER *
*& *
&----
*& *
*& *
&----
REPORT ZLAXMI_TESTPAPER MESSAGE-ID ZZ .
*TABLES
TABLES: MARA, T001W.
*variable declaration.
DATA: V_WERKS TYPE T001W-WERKS,
V_MEINS TYPE MARA-MEINS,
V_NTGEW TYPE MARA-NTGEW,
V_BRGEW TYPE MARA-BRGEW,
V_GEWEI TYPE MARA-GEWEI,
V_VOLUM TYPE MARA-VOLUM,
V_VOLEH TYPE MARA-VOLEH,
V_UCOMM LIKE SY-UCOMM.
DATA: IT_BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE,
IT_MESSAGES LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE,
V_MSG(200) TYPE C..
*INTERNAL TABLE DECLARATION
DATA: BEGIN OF IT_T001W OCCURS 0,
WERKS LIKE T001W-WERKS,
NAME1 LIKE T001W-NAME1,
LAND1 LIKE T001W-LAND1,
END OF IT_T001W.
DATA: BEGIN OF IT_MARC OCCURS 0,
MATNR LIKE MARC-MATNR,
MAKTX LIKE MAKT-MAKTX,
END OF IT_MARC.
DATA: BEGIN OF IT_PLANT OCCURS 0,
WERKS TYPE MARC-WERKS,
PSTAT TYPE MARC-PSTAT,
PRCTR TYPE MARC-PRCTR,
MINLS TYPE MARC-MINLS,
MAXLS TYPE MARC-MAXLS,
NAME1 TYPE T001W-NAME1,
END OF IT_PLANT.
DATA: BEGIN OF IT_TRANS OCCURS 0,
MATNR_001(018),
MEINS_004(003),
BRGEW_007(017),
GEWEI_008(003),
NTGEW_009(017),
VOLUM_010(017),
VOLEH_011(003),
END OF IT_TRANS.
*SELECTION SCREEN
SELECT-OPTIONS: S_MATNR FOR IT_MARC-MATNR.
*START OF SELECTION
START-OF-SELECTION.
PERFORM GET_PLANT_DETAILS USING IT_T001W.
*AT LINE SELECTION
AT LINE-SELECTION.
IF SY-LSIND = '1'.
SET PF-STATUS 'FF'.
PERFORM GET_MAT_DETAILS USING IT_T001W-WERKS.
PERFORM WRITE_MAT_DETAILS.
ENDIF.
IF SY-LSIND = '2'.
SELECT SINGLE MATNR
MTART
MEINS
NTGEW
BRGEW
GEWEI
VOLUM
VOLEH
ERSDA FROM MARA
INTO CORRESPONDING FIELDS OF MARA
WHERE MATNR = IT_MARC-MATNR.
V_MEINS = MARA-MEINS.
V_NTGEW = MARA-NTGEW.
V_BRGEW = MARA-BRGEW.
V_GEWEI = MARA-GEWEI.
V_VOLUM = MARA-VOLUM.
V_VOLEH = MARA-VOLEH.
CALL SCREEN '100'.
ENDIF.
*end of selection
END-OF-SELECTION.
PERFORM PLANT_DETAILS USING IT_T001W.
&----
*& Form GET_PLANT_DETAILS
&----
text
----
-->P_IT_T001W text
----
FORM GET_PLANT_DETAILS USING P_IT_T001W.
IT_T001W = P_IT_T001W.
SELECT WERKS
NAME1
LAND1
FROM T001W
INTO TABLE IT_T001W.
ENDFORM. " GET_PLANT_DETAILS
&----
*& Form GET_MAT_DETAILS
&----
text
----
--> p1 text
<-- p2 text
----
FORM GET_MAT_DETAILS USING P_IT_T001W-WERKS. .
IT_T001W-WERKS = P_IT_T001W-WERKS.
SELECT MARC~MATNR
MAKT~MAKTX
INTO
TABLE
IT_MARC
FROM
MARC JOIN MAKT ON
MARCMATNR = MAKTMATNR
WHERE MARC~WERKS = IT_T001W-WERKS.
ENDFORM. " GET_MAT_DETAILS
&----
*& Form WRITE_MAT_DETAILS
&----
text
----
--> p1 text
<-- p2 text
----
FORM WRITE_MAT_DETAILS .
WRITE:/1(10) 'PLANT NO',
(30) 'PLANT NAME'.
SKIP.
WRITE:/1(10) IT_T001W-WERKS,
(30) IT_T001W-NAME1.
*SKIP.
WRITE:/1(18) 'MATERIAL NO',
(40) 'MATERIAL DESCRIPTION'.
SKIP.
LOOP AT IT_MARC.
WRITE:/1(18) IT_MARC-MATNR HOTSPOT ON,
(40) IT_MARC-MAKTX HOTSPOT ON.
HIDE: IT_MARC-MATNR,IT_MARC-MATNR.
ENDLOOP.
ENDFORM. " WRITE_MAT_DETAILS
&----
*& Form plant_details
&----
text
----
-->P_IT_T001W text
----
FORM PLANT_DETAILS USING P_IT_T001W.
IT_T001W = P_IT_T001W.
WRITE:/1(10) 'PLANT NO',
(30) 'PLANT NAME',
(10) 'COUNTRY'.
LOOP AT IT_T001W.
WRITE:/1(10) IT_T001W-WERKS HOTSPOT ON,
(30) IT_T001W-NAME1 HOTSPOT ON,
(10) IT_T001W-LAND1 HOTSPOT ON.
HIDE: IT_T001W-WERKS,IT_T001W-NAME1.
ENDLOOP.
ENDFORM. " plant_details
&----
*& Module STATUS_0100 OUTPUT
&----
text
----
MODULE STATUS_0100 OUTPUT.
SET PF-STATUS 'STAT1'.
SET TITLEBAR 'TT'.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'G1'.
SCREEN-INPUT = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDMODULE. " STATUS_0100 OUTPUT
&----
*& Module USER_COMMAND_0100 INPUT
&----
text
----
MODULE USER_COMMAND_0100 INPUT.
CASE SY-UCOMM.
WHEN 'BACK'.
LEAVE TO SCREEN 0.
WHEN 'EXIT'.
LEAVE PROGRAM.
WHEN 'PRINT'.
PERFORM GET_FORM_DETAILS.
PERFORM SCRIPTS.
WHEN 'CHANGE'.
IF V_MEINS <> MARA-MEINS OR
V_NTGEW <> MARA-NTGEW OR
V_BRGEW <> MARA-BRGEW OR
V_GEWEI <> MARA-GEWEI OR
V_VOLUM <> MARA-VOLUM OR
V_VOLEH <> MARA-VOLEH.
ENDIF.
IT_TRANS-MATNR_001 = MARA-MATNR.
IT_TRANS-MEINS_004 = MARA-MEINS.
IT_TRANS-BRGEW_007 = MARA-BRGEW.
IT_TRANS-GEWEI_008 = MARA-GEWEI.
IT_TRANS-NTGEW_009 = MARA-NTGEW.
IT_TRANS-VOLUM_010 = MARA-VOLUM.
IT_TRANS-VOLEH_011 = MARA-VOLEH.
APPEND IT_TRANS.
LOOP AT IT_TRANS.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '0060'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RMMG1-AENNR'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ENTR'.
PERFORM BDC_FIELD USING 'RMMG1-MATNR'
IT_TRANS-MATNR_001.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '0070'.
PERFORM BDC_FIELD USING 'MSICHTAUSW-KZSEL(01)'
'X'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'MSICHTAUSW-DYTXT(01)'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ENTR'.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '4004'.
PERFORM BDC_FIELD USING 'MARA-MEINS'
IT_TRANS-MEINS_004.
PERFORM BDC_FIELD USING 'MARA-BRGEW'
IT_TRANS-BRGEW_007.
PERFORM BDC_FIELD USING 'MARA-GEWEI'
IT_TRANS-GEWEI_008.
PERFORM BDC_FIELD USING 'MARA-NTGEW'
IT_TRANS-NTGEW_009.
PERFORM BDC_FIELD USING 'MARA-VOLUM'
IT_TRANS-VOLUM_010.
PERFORM BDC_FIELD USING 'MARA-VOLEH'
IT_TRANS-VOLEH_011.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=BU'.
CALL TRANSACTION 'MM02' USING IT_BDCDATA MODE 'A' UPDATE 'S'
MESSAGES INTO IT_MESSAGES.
LEAVE TO LIST-PROCESSING AND RETURN TO SCREEN 0.
LOOP AT IT_MESSAGES.
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
ID = SY-MSGID
LANG = 'EN'
NO = SY-MSGNO
V1 = SY-MSGV1
V2 = SY-MSGV2
V3 = SY-MSGV3
V4 = SY-MSGV4
IMPORTING
MSG = V_MSG
EXCEPTIONS
NOT_FOUND = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
WRITE:/ V_MSG.
ENDLOOP.
ENDLOOP.
CLEAR IT_TRANS.
REFRESH IT_TRANS.
ENDCASE.
ENDMODULE. " USER_COMMAND_0100 INPUT
&----
*& Form GET_FORM_DETAILS
&----
text
----
--> p1 text
<-- p2 text
----
FORM GET_FORM_DETAILS .
SELECT MARC~WERKS
MARC~PSTAT
MARC~PRCTR
MARC~MINLS
MARC~MAXLS
T001W~NAME1 INTO TABLE
IT_PLANT FROM MARC JOIN T001W
ON MARCWERKS = T001WWERKS
WHERE MARC~MATNR = IT_MARC-MATNR.
ENDFORM. " GET_FORM_DETAILS
&----
*& Form BDC_DYNPRO
&----
text
----
-->P_0470 text
-->P_0471 text
----
FORM BDC_DYNPRO USING VALUE(P_0470)
VALUE(P_0471).
CLEAR IT_BDCDATA.
IT_BDCDATA-PROGRAM = P_0470.
IT_BDCDATA-DYNPRO = P_0471.
IT_BDCDATA-DYNBEGIN = 'X'.
APPEND IT_BDCDATA.
ENDFORM. " BDC_DYNPRO
&----
*& Form BDC_FIELD
&----
text
----
-->P_0475 text
-->P_0476 text
----
FORM BDC_FIELD USING VALUE(P_0475)
VALUE(P_0476).
CLEAR IT_BDCDATA.
IT_BDCDATA-FNAM = P_0475.
IT_BDCDATA-FVAL = P_0476.
APPEND IT_BDCDATA.
ENDFORM. " BDC_FIELD
&----
*& Form SCRIPTS
&----
text
----
--> p1 text
<-- p2 text
----
FORM SCRIPTS .
DATA : LV_TABIX TYPE SY-TABIX.
CALL FUNCTION 'OPEN_FORM'
EXPORTING
APPLICATION = 'TX'
ARCHIVE_INDEX =
ARCHIVE_PARAMS =
DEVICE = 'PRINTER'
DIALOG = 'X'
FORM = 'ZLAXMI_TESTPAPER'
LANGUAGE = SY-LANGU
OPTIONS =
MAIL_SENDER =
MAIL_RECIPIENT =
MAIL_APPL_OBJECT =
RAW_DATA_INTERFACE = '*'
SPONUMIV =
IMPORTING
LANGUAGE =
NEW_ARCHIVE_PARAMS =
RESULT =
EXCEPTIONS
CANCELED = 1
DEVICE = 2
FORM = 3
OPTIONS = 4
UNCLOSED = 5
MAIL_OPTIONS = 6
ARCHIVE_ERROR = 7
INVALID_FAX_NUMBER = 8
MORE_PARAMS_NEEDED_IN_BATCH = 9
SPOOL_ERROR = 10
CODEPAGE = 11
OTHERS = 12
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
*CALL FUNCTION 'START_FORM'
EXPORTING
ARCHIVE_INDEX =
FORM = 'ZLAXMI_TESTPAPER'
LANGUAGE = SY-LANGU
STARTPAGE = 'PAGE1'
PROGRAM = ' '
MAIL_APPL_OBJECT =
IMPORTING
LANGUAGE =
EXCEPTIONS
FORM = 1
FORMAT = 2
UNENDED = 3
UNOPENED = 4
UNUSED = 5
SPOOL_ERROR = 6
CODEPAGE = 7
OTHERS = 8
.
*IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
*ENDIF.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'HEADER'
FUNCTION = 'SET'
TYPE = 'BODY'
WINDOW = 'MAIN'
IMPORTING
PENDING_LINES =
EXCEPTIONS
ELEMENT = 1
FUNCTION = 2
TYPE = 3
UNOPENED = 4
UNSTARTED = 5
WINDOW = 6
BAD_PAGEFORMAT_FOR_PRINT = 7
SPOOL_ERROR = 8
CODEPAGE = 9
OTHERS = 10
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
LOOP AT IT_PLANT.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'ITEM'
FUNCTION = 'SET'
TYPE = 'BODY'
WINDOW = 'MAIN'
IMPORTING
PENDING_LINES =
EXCEPTIONS
ELEMENT = 1
FUNCTION = 2
TYPE = 3
UNOPENED = 4
UNSTARTED = 5
WINDOW = 6
BAD_PAGEFORMAT_FOR_PRINT = 7
SPOOL_ERROR = 8
CODEPAGE = 9
OTHERS = 10
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDLOOP.
CALL FUNCTION 'CLOSE_FORM'
IMPORTING
RESULT =
RDI_RESULT =
TABLES
OTFDATA =
EXCEPTIONS
UNOPENED = 1
BAD_PAGEFORMAT_FOR_PRINT = 2
SEND_ERROR = 3
SPOOL_ERROR = 4
CODEPAGE = 5
OTHERS = 6
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " SCRIPTS
&----
*& Module EXIT INPUT
&----
text
----
MODULE EXIT INPUT.
CASE SY-UCOMM.
WHEN 'BACK'.
LEAVE TO SCREEN 0.
WHEN 'EXIT'.
LEAVE PROGRAM.
ENDCASE.
ENDMODULE. " EXIT INPUT
Do reward if it helps,
Regards,
Laxmi.