Application Development 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:Β 

Popup on Mouse over or Function key press

Former Member
0 Kudos
373

Good day,

Is it possible to have a mouse over event for fields in a SAP transaction, that when activated, would show a pop-up or something similar, to the user.

I want to do this in the EH&S module, where the user has to populate large amounts of fields, and doesnt always know what needs to go into the field.

Any other suggestions around this would also be appreciated.

I have even thought of changing the SAP F1 files as a possible solution.

Please advise.

Thanks.

1 REPLY 1

Former Member
0 Kudos
107

HI


USE THIS fm POPUP_TO_DECIDE_INFO . 

Parameters required for this FM is the Text you require to display on the popup window. 

Two buttons automatically comes on this window a Tick and a x sign if you click tick the output varaible ANSWER is J else it is A . 

or 

<b>Example:</b> 
[code]
AT SELECTION-SCREEN ON VALUE-REQUEST FOR SEL_NBA-LOW. 
  PERFORM ZNEW_VALUE_HELP_NBA. 
 
FORM ZNEW_VALUE_HELP_NBA. 
 
  SELECT DISTINCT ZBAREA FROM ZDIVNBABU INTO TABLE ITAB_NBA. 
 
  CALL FUNCTION 'POPUP_WITH_TABLE_DISPLAY' 
       EXPORTING 
            ENDPOS_COL   = 30 
            ENDPOS_ROW   = 40 
            STARTPOS_COL = 20 
            STARTPOS_ROW = 30 
            TITLETEXT    = 'Please Choose Your Entry' 
       IMPORTING 
            CHOISE       = COUNTS 
       TABLES 
            VALUETAB     = ITAB_NBA 
       EXCEPTIONS 
            BREAK_OFF    = 1 
            OTHERS       = 2. 
  IF COUNTS NE 0. 
    READ TABLE ITAB_NBA INDEX COUNTS. 
    SEL_NBA-LOW = ITAB_NBA-ZBAREA. 
  ENDIF. 
  CLEAR :ITAB_NBA,COUNTS.REFRESH:ITAB_NBA. 
  
 
ENDFORM.                               " ZNEW_VALUE_HELP_NBA





<b><u>Check this report also</u></b>


*------------------DECLARING THE STANDARD TABLES---------------------*
TABLES : ekko, "PURCHASE ORDER : HEADER
         ekpo. "PURCHASE ORDER : ITEM
 
*------------------DECLARING THE INTERNAL TABLE----------------------*
DATA  : BEGIN OF it_ekko OCCURS 2,
          ebeln LIKE ekko-ebeln, "PURCHASE ORDER NUMBER
          bukrs LIKE ekko-bukrs, "COMPANY CODE
          bsart LIKE ekko-bsart, "PURCHASING DOCUMENT TYPE
          lifnr LIKE ekko-lifnr, "VENDOR
          spras LIKE ekko-spras, "LANGUAGE KEY
          zterm LIKE ekko-zterm, "PAYMENT TERMS KEY
        end of it_ekko.
 
DATA  : BEGIN OF it_ekpo OCCURS 2,
          ebeln LIKE ekpo-ebeln, "PURCHASE ORDER NUMBER
          ebelp LIKE ekpo-ebelp, "PURCHASE ORDER NUMBER
          werks LIKE ekpo-werks, "PLANT
          matnr LIKE ekpo-matnr, "MATERIAL NUMBER
          matkl LIKE ekpo-matkl, "MATERIAL GROUP
        END OF it_ekpo.
 
DATA: it_ebeln LIKE ekko-ebeln OCCURS 0 WITH HEADER LINE.
 
*DATA: it_ebeln_high LIKE ekko-ebeln OCCURS 0 WITH HEADER LINE.
 
DATA: p_ebeln       TYPE i.
 
*------------------Declaring the selection screen--------------------*
 
SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.
 
SELECT-OPTIONS : s_ebeln FOR ekko-ebeln.
 
PARAMETER      : p_limit TYPE i.
 
SELECTION-SCREEN END OF BLOCK blk1.
 
 
*INCLUDE z_incl_purorderkkb01_sub_f01.
 
 
*--------------------------------------------------------------------*
*  Validation for  number of records to be printed                   *
*--------------------------------------------------------------------*
 
*AT SELECTION-SCREEN ON p_limit.
*  IF p_limit IS INITIAL.
*    MESSAGE e011.
*  ENDIF.
 
 
*  IF p_limit GT sy-linct.
*    MESSAGE e010.
*  ENDIF.
 
 
*----------------------------------------------------------------------*
*        Search help for purchase document number (s_ebeln-low)        *
*----------------------------------------------------------------------*
 
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_ebeln-low.
  CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
    EXPORTING
      input  = s_ebeln-low
    IMPORTING
      output = s_ebeln-low.
 
  perform form_search_help.
 
  IF sy-subrc <> 0.
    CASE sy-subrc.
      WHEN 2.
        LEAVE TO SCREEN 1000.
    ENDCASE.
  ELSE.
    LOOP AT it_ebeln.
      IF sy-tabix = p_ebeln.
        s_ebeln-low = it_ebeln.
        EXIT.
      ENDIF.
    ENDLOOP.
  ENDIF.
 
*----------------------------------------------------------------------*
*        Search help for purchase document number (s_ebeln-high)       *
*----------------------------------------------------------------------*
 
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_ebeln-high.
  CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
    EXPORTING
      input  = s_ebeln-high
    IMPORTING
      output = s_ebeln-high.
 
  perform form_search_help.
 
  IF sy-subrc <> 0.
    CASE sy-subrc.
      WHEN 2.
        LEAVE TO SCREEN 1000.
    ENDCASE.
  ELSE.
    LOOP AT it_ebeln.
      IF sy-tabix = p_ebeln.
        s_ebeln-high = it_ebeln.
        EXIT.
      ENDIF.
    ENDLOOP.
  ENDIF.
 
*----------------------------------------------------------------------*
*                   Start-of-selection event                           *
*----------------------------------------------------------------------*
 
START-OF-SELECTION.
 
*----------------------To attach a user interface----------------------*
SET PF-STATUS '0010'.
 
*---------To fetch the data for the basic list-------------------------*
    SELECT ebeln                   "PURCHASE ORDER NUMBER
           bukrs                   "COMPANY CODE
           bsart                   "PURCHASING DOCUMENT TYPE
           lifnr                   "VENDOR
           spras                   "LANGUAGE KEY
           zterm                   "PAYMENT TERMS KEY
     up to p_limit rows
     into table it_ekko from ekko
     where ebeln in s_ebeln.
 
     REFRESH it_ekpo.
 
*---------To fetch the data for the secondary list-----------------------*
 
if it_ekpo is initial.
 
    SELECT ebeln "PURCHASE ORDER NUMBER
           ebelp "PURCHASING DOCUMENT TYPE
           werks "PLANT
           matnr "MATERIAL NUMBER
           matkl "MATERIAL GROUP
    FROM ekpo  INTO TABLE it_ekpo for all entries in it_ekko
    WHERE ebeln EQ it_ekko-ebeln.
 
endif.
 
*----------------------------------------------------------------------*
*                   End-of-selection event                             *
*----------------------------------------------------------------------*
 
END-OF-SELECTION.
 
 
*---------To display the data for the basic list-----------------------*
   format color 4 intensified off.
  LOOP AT it_ekko.
    WRITE πŸ˜• sy-vline, it_ekko-ebeln UNDER text-002, 18 sy-vline,
                                                    "PURCHASE ORDER NUMBER
                       it_ekko-bukrs UNDER text-003, 27 sy-vline,
                                                    "COMPANY CODE
                       it_ekko-bsart UNDER text-004, 38 sy-vline,
                                                    "PURCHASING DOCUMENT TYPE
                       it_ekko-lifnr UNDER text-005, 50 sy-vline,
                                                    "VENDOR
                       it_ekko-spras UNDER text-006, 62 sy-vline,
                                                    "LANGUAGE KEY
                       it_ekko-zterm UNDER text-007, 80 sy-vline.
                                                    "PAYMENT TERMS KEY
 
  hide : it_ekko-ebeln.
  ENDLOOP.
  WRITE πŸ˜• sy-uline(80).
 
*----------------------------------------------------------------------*
*                To generate the detailed lists                        *
*----------------------------------------------------------------------*
 
AT LINE-SELECTION.
  CASE sy-lsind.
    WHEN 1.
      SET PF-STATUS '0011'.
 
*---------To display the data for the secondary list-----------------------*
WINDOW STARTING AT 10 10
       ENDING   AT 90 30.
    format color 5 intensified off.
  LOOP AT it_ekpo where ebeln = it_ekko-ebeln .
    WRITE πŸ˜• sy-vline, it_ekpo-ebeln UNDER text-002, 15 sy-vline,
                                                     "PURCHASE ORDER NUMBER
                       it_ekpo-ebelp UNDER text-008, 30 sy-vline,
                                                     "PO ITEM NUMBER
                       it_ekpo-werks UNDER text-009, 45 sy-vline,
                                                     "PLANT
                       it_ekpo-matnr UNDER text-010, 60 sy-vline,
                                                     "MATERIAL NUMBER
                       it_ekpo-matkl UNDER text-011, 80 sy-vline.
                                                     "MATERIAL GROUP
  ENDLOOP.
 
  WRITE πŸ˜• sy-uline(80).
 
  ENDCASE.
 
  CASE sy-ucomm.
    WHEN 'EXIT' OR 'CANC' OR 'BACK'.
       LEAVE TO SCREEN 0.
  ENDCASE.
 
*----------------------------------------------------------------------*
*                    At user-command event                             *
*----------------------------------------------------------------------*
 
AT USER-COMMAND.
  CASE sy-ucomm.
    WHEN 'SELE' OR 'LIST1'.
      IF sy-lsind = 1.
      SET PF-STATUS '0011'.
 
*---------To display the data for the secondary list-----------------------*
 
WINDOW STARTING AT 10 10
       ENDING   AT 90 30.
       format color 5 intensified off.
 
  LOOP AT it_ekpo where ebeln = it_ekko-ebeln .
    WRITE πŸ˜• sy-vline, it_ekpo-ebeln UNDER text-002, 15 sy-vline, "PURCHASE ORDER NUMBER
                       it_ekpo-ebelp UNDER text-008, 30 sy-vline, "PO ITEM NUMBER
                       it_ekpo-werks UNDER text-009, 45 sy-vline, "PLANT
                       it_ekpo-matnr UNDER text-010, 60 sy-vline, "MATERIAL NUMBER
                       it_ekpo-matkl UNDER text-011, 80 sy-vline. "MATERIAL GROUP
 
  ENDLOOP.
 
  WRITE πŸ˜• sy-uline(80).
  endif.
 
  ENDCASE.
 
  CASE sy-ucomm.
    WHEN 'EXIT' OR 'CANC' OR 'BACK'.
       LEAVE TO SCREEN 0.
 
  ENDCASE.
 
*----------------------------------------------------------------------*
*                    Top-of-page for basic list                        *
*----------------------------------------------------------------------*
 
TOP-OF-PAGE.
 
 format color 3 intensified off.
 
  WRITE πŸ˜• sy-uline(80).
  WRITE πŸ˜•    sy-vline,
           03 sy-repid,
           60 text-015,
              sy-uname,
           80 sy-vline.
  WRITE πŸ˜• sy-vline, 03 sy-datum,
           35 text-012,
           60 text-014,
              sy-pagno,
           80 sy-vline.
  WRITE πŸ˜• sy-uline(80).
  WRITE πŸ˜• sy-vline, text-002, 18 sy-vline, "PURCHASE ORDER NUMBER
                     text-003, 27 sy-vline, "COMPANY CODE
                     text-004, 38 sy-vline, "PURCHASING DOCUMENT TYPE
                     text-005, 50 sy-vline, "VENDOR
                     text-006, 62 sy-vline, "LANGUAGE KEY
                     text-007, 80 sy-vline. "PAYMENT TERMS KEY
  WRITE πŸ˜• sy-uline(80).
 
*----------------------------------------------------------------------*
*              Top-of-page for secondary list                          *
*----------------------------------------------------------------------*
 
TOP-OF-PAGE DURING LINE-SELECTION.
format color 2 intensified off.
WINDOW STARTING AT 10 10
       ENDING   AT 90 30.
  WRITE πŸ˜• sy-uline(80).
  WRITE πŸ˜•   sy-vline,
          03 sy-repid,
          60 text-015,
             sy-uname,
          80 sy-vline.
 
  WRITE πŸ˜•   sy-vline,
          03 sy-datum,
          35 text-013,
          60 text-014,
             sy-pagno,
          80 sy-vline.
 
  WRITE πŸ˜• sy-uline(80).
 
  WRITE πŸ˜• sy-vline, text-014, 15 sy-vline, "PURCHASE ORDER NUMBER
                     text-008, 30 sy-vline, "PO ITEM NUMBER
                     text-009, 45 sy-vline, "PLANT
                     text-010, 60 sy-vline, "MATERIAL NUMBER
                     text-011, 80 sy-vline. "MATERIAL GROUP
 
  WRITE πŸ˜• sy-uline(80).
 
*----------------------------------------------------------------------*
*                    End-of-page event                                 *
*----------------------------------------------------------------------*
 
END-OF-PAGE.
  WRITE πŸ˜•    sy-vline,
           03 text-016,
              p_limit,
           60 text-014,
              sy-pagno,
           80 sy-vline.
  write:/ sy-uline(80).
 
INCLUDE Z_INCLUDE_PURCHORDERKKB01.
form form_search_help .
 
REFRESH it_ebeln.
  CLEAR it_ebeln.
  CLEAR P_ebeln.
 
  SELECT ebeln FROM ekko INTO TABLE it_ebeln.
 
  CALL FUNCTION 'POPUP_WITH_TABLE_DISPLAY'
    EXPORTING
      endpos_col   = 21
      endpos_row   = 35
      startpos_col = 12
      startpos_row = 1
      titletext    = text-012
 
    IMPORTING
      choise       = P_ebeln
 
    TABLES
      valuetab     = it_ebeln
 
    EXCEPTIONS
      break_off    = 1
      OTHERS       = 2.




Reward all helpfull answers

Regards

Pavan