How can I use hotspot click in an ALV grid?

Hello,
I have a table that is displayed in an ALV grid and I would like to have one of the columns as clickable icons.
For example:
Print  |  Doc. Type | Name
(icon) |   .docx      | first
(icon) |   .pdf         | second ... and so on.
I would like to click in the icon (Print column) and execute an action, but no matter what I do I can't set the action.
I know that is not just setting "fieldcatalog-hotspot='X'", but I don't know how to use a hotspot handler.
Here's some of the code I have:
TYPES: BEGIN OF ty_docs,
                    print LIKE ICON-ID,
                    doc_type LIKE table_doc-TYPE,
                    name LIKE table_doc-NAME,
             END OF ty_docs.
DATA:  oref_dock TYPE REF TO cl_gui_docking_container,
            oref_alv TYPE REF TO cl_gui_alv_grid,
            i_fieldcat TYPE lvc_t_fcat,
            aux_fieldcat TYPE lvc_s_fcat,
            aux_lay TYPE lvc_s_layo,
            i_exclude TYPE TABLE OF syucomm,
            i_docs TYPE ty_docs,
            t_docs LIKE TABLE OF i_docs.
AT SELECTION-SCREEN OUTPUT.
   APPEND 'ONLI' TO i_exclude.
   APPEND 'SJOB' TO i_exclude.
   APPEND 'PRIN' TO i_exclude.
   CALL FUNCTION 'RS_SET_SELSCREEN_STATUS'
     EXPORTING
       p_status = sy-pfkey
       p_program = sy-repid
     TABLES
       p_exclude = i_exclude.
AT SELECTION-SCREEN.
   CHECK sy-ucomm = space.
     SELECT
           icon~ID AS print
           doc~TYPE AS doc_type
           doc~NAME as name
             INTO CORRESPONDING FIELDS OF TABLE t_docs
             FROM table_doc AS doc
                  INNER JOIN ICON AS icon    
                    ON icon~NAME EQ 'ICON_PRINT'
             GROUP BY icon~ID doc~TYPE doc~NAME.
   IF sy-subrc = 0.
     IF oref_dock IS NOT BOUND.
       CREATE OBJECT oref_dock
          EXPORTING
            repid = sy-repid
            dynnr = sy-dynnr
            side = cl_gui_docking_container=>dock_at_bottom
            ratio = 90
         EXCEPTIONS
           OTHERS = 1.
     ENDIF.
     IF oref_alv IS NOT BOUND.
       CHECK oref_dock IS BOUND.
       CREATE OBJECT oref_alv
         EXPORTING
           i_parent = oref_dock
         EXCEPTIONS
           OTHERS = 1.
       CHECK oref_alv IS BOUND.
       aux_fieldcat-fieldname = 'PRINT'.
       aux_fieldcat-coltext = 'Print'.
       aux_fieldcat-ref_table = 't_docs'.
       aux_fieldcat-ref_field = 't_docs-print'.
       aux_fieldcat-edit = ''.
       aux_fieldcat-just = 'C'.
       aux_fieldcat-hotspot = 'X'.
       aux_fieldcat-outputlen = 10.
       aux_fieldcat-col_pos = 0.
       APPEND aux_fieldcat TO i_fieldcat.
       CLEAR aux_fieldcat.
       aux_fieldcat-fieldname = 'TYPE'.
       aux_fieldcat-coltext = 'Doc. Type'.
       aux_fieldcat-ref_table = 't_docs'.
       aux_fieldcat-ref_field = 't_docs-doc_type'.
       aux_fieldcat-edit = ''.
       aux_fieldcat-outputlen = 15.
       aux_fieldcat-col_pos = 1.
       APPEND aux_fieldcat TO i_fieldcat.
       CLEAR aux_fieldcat.
       aux_fieldcat-fieldname = 'NAME'.
       aux_fieldcat-coltext = 'Name'.
       aux_fieldcat-ref_table = 't_docs'.
       aux_fieldcat-ref_field = 't_docs-name'.
       aux_fieldcat-edit = ''.
       aux_fieldcat-outputlen = 12.
       aux_fieldcat-col_pos = 2.
       APPEND aux_fieldcat TO i_fieldcat.
       CLEAR aux_fieldcat.
       aux_lay-grid_title = 'Docs'.
       aux_lay-edit = ''.
       CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
         EXPORTING
          i_structure_name = 'ty_docs'
          i_internal_tabname = 't_docs'
        CHANGING
          ct_fieldcat = i_fieldcat
       EXCEPTIONS
         OTHERS = 3.
       CALL METHOD oref_alv->set_table_for_first_display
         EXPORTING
           i_structure_name = 'ty_docs'
           is_layout = aux_lay
         CHANGING
           it_fieldcatalog = i_fieldcat
           it_outtab = t_docs
         EXCEPTIONS
           OTHERS = 1.
     ELSE.
       CALL METHOD oref_alv->refresh_table_display
         EXCEPTIONS
           OTHERS = 1.
     ENDIF.
  ENDIF.
Thank you so much in advance!

Hi,
After creating grid set the even handler for hot spot.
SET HANDLER lcl_event_receiver=>handle_hotspot_click FOR alv_grid.
Try this code:
TABLES: mara,t001l.
DATA: BEGIN OF i_alv OCCURS 0,
       matnr TYPE mara-matnr,
       mtart TYPE mara-mtart,
       matkl TYPE mara-matkl,
       groes TYPE mara-groes,
       maktx TYPE makt-maktx,
       END OF i_alv.
DATA: wa_alv  LIKE LINE OF i_alv.
DATA: alv_container  TYPE REF TO cl_gui_docking_container.
DATA: alv_grid       TYPE REF TO cl_gui_alv_grid.
DATA: layout    TYPE lvc_s_layo.
DATA: fieldcat  TYPE lvc_t_fcat.
DATA: gt_t001l TYPE STANDARD TABLE OF t001l.
CLASS lcl_event_receiver DEFINITION.
   PUBLIC SECTION.
*-->Method for User command
     CLASS-METHODS :
     handle_hotspot_click FOR EVENT hotspot_click    OF
                                           cl_gui_alv_grid
                                 IMPORTING E_ROW_ID e_column_id.
ENDCLASS.                    "lcl_event_receiver DEFINITION
*       CLASS lcl_event_receiver IMPLEMENTATION
CLASS  lcl_event_receiver IMPLEMENTATION.
   METHOD handle_hotspot_click.
     READ TABLE i_alv INTO wa_alv
      INDEX e_row_id-index
       TRANSPORTING matnr.
     SET PARAMETER ID 'MAT' FIELD wa_alv-matnr.
     CALL TRANSACTION 'MM03' AND SKIP FIRST SCREEN.
   ENDMETHOD.                    "handle_double_click
ENDCLASS.                    "lcl_event_receiver IMPLEMENTATION
PARAMETERS: p_check TYPE matnr.
INITIALIZATION.
PERFORM get_data.
AT SELECTION-SCREEN OUTPUT.
*  START-OF-SELECTION.
   DATA: variant TYPE  disvariant.
   DATA: repid TYPE sy-repid.
   repid = sy-repid.
   variant-report = sy-repid.
   variant-username = sy-uname.
   layout-zebra = 'X'.
   layout-edit_mode = 'X'.
   CHECK alv_container IS INITIAL.
   CREATE OBJECT alv_container
               EXPORTING repid     = repid
                         dynnr     = sy-dynnr
                         side      = alv_container->dock_at_right
                         extension = 350.
   CREATE OBJECT alv_grid
          EXPORTING
                i_parent          =  alv_container.
* Set event handler
   SET HANDLER lcl_event_receiver=>handle_hotspot_click FOR alv_grid.
*  ALV Specific. Data selection.
*  Populate Field Catalog
   PERFORM get_fieldcatalog.
   CALL METHOD alv_grid->set_table_for_first_display
     EXPORTING
       is_layout        = layout
       is_variant       = variant
       i_save           = 'U'
       i_structure_name = 'I_ALV'
     CHANGING
       it_outtab        = i_alv[]
       it_fieldcatalog  = fieldcat[].
START-OF-SELECTION.
* FORM GET_DATA
FORM get_data.
   SELECT * INTO CORRESPONDING FIELDS OF TABLE i_alv
         FROM mara
           INNER JOIN makt
             ON mara~matnr = makt~matnr
                    UP TO 100 ROWS
                WHERE makt~spras = sy-langu.
   SORT i_alv ASCENDING BY matnr.
ENDFORM.                    "get_data
*      Form  Get_Fieldcatalog - Set Up Columns/Headers
FORM get_fieldcatalog.
   DATA: ls_fcat TYPE lvc_s_fcat.
   REFRESH: fieldcat.
   CLEAR: ls_fcat.
   ls_fcat-reptext    = 'Material Number'.
   ls_fcat-fieldname  = 'MATNR'.
   ls_fcat-ref_table  = 'I_ALV'.
   ls_fcat-outputlen  = '18'.
   ls_fcat-fix_column = 'X'.
   ls_fcat-key        = 'X'.
   ls_fcat-hotspot    = 'X'.
   ls_fcat-col_pos    = '1'.
   APPEND ls_fcat TO fieldcat.
   CLEAR: ls_fcat.
   ls_fcat-reptext    = 'Material Type'.
   ls_fcat-fieldname  = 'MTART'.
   ls_fcat-ref_table  = 'I_ALV'.
   ls_fcat-outputlen  = '10'.
   ls_fcat-fix_column = 'X'.
   ls_fcat-key        = 'X'.
   ls_fcat-col_pos    = '2'.
   APPEND ls_fcat TO fieldcat.
   CLEAR: ls_fcat.
   ls_fcat-reptext    = 'Material Group'.
   ls_fcat-fieldname  = 'MATKL'.
   ls_fcat-ref_table  = 'I_ALV'.
   ls_fcat-outputlen  = '12'.
   ls_fcat-col_pos    = '3'.
   APPEND ls_fcat TO fieldcat.
   CLEAR: ls_fcat.
   ls_fcat-reptext    = 'Size'.
   ls_fcat-fieldname  = 'GROES'.
   ls_fcat-ref_table  = 'I_ALV'.
   ls_fcat-outputlen  = '30'.
   ls_fcat-col_pos    = '4'.
   APPEND ls_fcat TO fieldcat.
   CLEAR: ls_fcat.
   ls_fcat-reptext    = 'Material Description'.
   ls_fcat-fieldname  = 'MAKTX'.
   ls_fcat-ref_table  = 'I_ALV'.
   ls_fcat-outputlen  = '40'.
   ls_fcat-col_pos    = '5'.
   APPEND ls_fcat TO fieldcat.
ENDFORM.                    "get_fieldcatalog
Hope this solves your problem....

Similar Messages

  • How can we add a button on our ALV Grid

    Hello,
    I need to add a button on the ALV Grid and write a code on that button to download a file on the desktop of the user's machine.
    How can we write a code for the same and what would be the syntax of that code.

    Hi,
    you should copy the 'STANDARD' GUI status from program SAPLKKBL using transaction SE90 >Programming SubObjects> Gui Status.
    ENTER SAPLKKBL PROGRAM
    STATUS STANDARD.
    exexute.
    select standard  check box. copy to your zprogram and your gui status.
    Enter your Z program name and the name you what for this status - you can keep it as 'STANDARD' to be simple.
    then go to se 38 double click on pf status .it goes to me41 screen .
    there you can add your button along with predefined buttons on application toolbar.
    then write code for button using user command event.
    Code:
    Form Set_pf_status
    Notes: Called by FM REUSE_ALV_GRID_DISPLAY
    FORM set_pf_status USING rt_extab TYPE slis_t_extab.
      SET PF-STATUS 'ZSTANDARD'.
    ENDFORM. "Set_pf_status
    In the above case the GUI status copied was named ZSTANDARD and adjusted accordingly, adding and removing the desired buttons. A button was added called '%DELETE'.
    3). Create the following report:
    Code:
    Form User_command
    Notes: Called by FM REUSE_ALV_GRID_DISPLAY
           Detects whether the icon/button for
           'Return Tag Deletion' has been pressed. If it has then
           detect whether any rows have been highlighted and then
           set the delete flag.
    FORM user_command USING r_ucomm     LIKE sy-ucomm
                            rs_selfield TYPE slis_selfield.
    DATA: li_count TYPE I.
    IF r_ucomm EQ '%DELETE'.
      LOOP AT %g00 WHERE mark EQ 'X'.
        ADD 1 TO li_count.
      ENDLOOP.
      IF li_count GT 0.
        gc_delete_flag = 'X'.
        r_ucomm = '&F03'. "Back arraow
      ELSE.
        MESSAGE W000 WITH 'Please highlight the rows to be deleted!'.
      ENDIF.
    ENDIF.
    ENDFORM.  "User_command
    *reward points if usefull

  • How can we sort up currency field in alv grid??

    Hi GUrus,
    Can any one suggest me how to sort the currency field in alv grid...Please help me out of this issue..
    Thanks in advance!!!
    regards,
    Kranthi.

    hii,
    SAP provides a set of ALV (ABAP List Viewer) & function modules, which can be used to enhance the readability and functionality of any report output.
    ALV is a flexible tool used for displaying lists.The tool provides common list functions & can be enhanced by self-defined options.
    so u will get the option for sorting in your alv report.
    Thanks

  • How can we sum for the field on alv grid

    Dear Freinds,
                   I am having the field count .....in the ouput (iam using alv grid) .......which dispalys  the id's which are identical .
    i have scneario similar to the below in my ALV Output
    ID                count         total
    4000              3              100
                                          100
                                         200       Can i get count 3 also along with 200 in alv?
    i am using the code as follows for count can any one please let me know.
    my earlier question which i put was confusing.........so i am givin the qustion again
      clear ls_fieldcat.
      ls_fieldcat-col_pos      = 1.
      ls_fieldcat-fieldname    = 'ORGUNIT'.
      ls_fieldcat-seltext_l    =  text-015.  "'Orgunit'.
      ls_fieldcat-key          = 'X'.
      ls_fieldcat-key_sel      = 'X'.
    ls_fieldcat-no_out       = 'X'.
      append ls_fieldcat to fp_i_fieldcat.
      clear ls_fieldcat.
      ls_fieldcat-col_pos      = 2.
      ls_fieldcat-fieldname    = 'COUNT'.
      ls_fieldcat-seltext_l    = 'H.Count'.
      ls_fieldcat-outputlen    = 4.
      ls_fieldcat-do_sum       = 'X'.
    ls_fieldcat-datatype    = 'NUMC'.
      append ls_fieldcat to fp_i_fieldcat.
      clear ls_fieldcat.
      ls_fieldcat-fieldname   = 'TOTAL'.
      ls_fieldcat-seltext_m   = 'total'.
      ls_fieldcat-col_pos     = 3.
      ls_fieldcat-outputlen   = 17.
      ls_fieldcat-do_sum      = 'X'.
      ls_fieldcat-datatype    = 'CURR'.
      append ls_fieldcat to fp_i_fieldcat.
    Please let me know how can do if so what is the parameter i have to change for COUNT
    regards
    syamal

    Hi Shamala Kiran.
                          My name is also kiran.I have a develop a code for u.Actually i cant understand your code.But i know ur problem .Plz check that code.In that code i develop a subtotals and grandttotal.Plz observe the FORM "FIELD CATALOG" in that observe the NETWR FIELD and observe the FORM SORTCATALOG then ur problem will be solved.
    Copy the the below code and execute that code and the result.
    If u r Satisfied with the answer plz give the REWARD POINTS.
    CODE:
    Type Pools
    TYPE-POOLS:slis.
    Tables
    TABLES: vbak,vbap.
    Global Variable
    data: w_var type i.
    Global Data
    DATA:it_fieldcat TYPE slis_t_fieldcat_alv,
         wa_fieldcat TYPE slis_fieldcat_alv,
         it_sortcat TYPE slis_t_sortinfo_alv,
         wa_sortcat  LIKE LINE OF it_sortcat.
    Internal Table
    data: BEGIN OF it_salesorder OCCURS 0,
            vbeln LIKE vbak-vbeln,    " Sales Document Number
            posnr like vbap-posnr,    " Sales Doc Item
            netwr like vbap-netwr,    " Net Value
          END OF it_salesorder.
    SELECT OPTIONS
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    SELECT-OPTIONS: s_vbeln FOR vbak-vbeln.   " Sales Document Number.
    SELECTION-SCREEN END OF BLOCK b1.
    Initialization
    INITIALIZATION.
      PERFORM initialization.
    *&      Form  initialization
          text
    -->  p1        text
    <--  p2        text
    form initialization .
      s_vbeln-sign   = 'I'.
      s_vbeln-option = 'BT'.
      s_vbeln-low    = '4969'.
      s_vbeln-high   = '5000'.
      APPEND s_vbeln.
    endform.                    " initialization
    Start Of Selection
    START-OF-SELECTION.
      PERFORM field_catalog.   "For Structure Creation
      PERFORM fetch_data.      "Get the Data From DB Table
      PERFORM sorting USING it_sortcat.
    End Of Selection
    END-OF-SELECTION.
      perform display_data.
    *&      Form  field_catalog
          text
    -->  p1        text
    <--  p2        text
    form field_catalog .
      wa_fieldcat-col_pos       = w_var.          " Column Position Variable
      wa_fieldcat-tabname       = 'IT_SALESORDER'. " Internal Table Name
      wa_fieldcat-fieldname     = 'VBELN'.         " Field Name
      wa_fieldcat-key           = 'X'.             " Blue Color
      wa_fieldcat-ref_tabname   = 'VBAK'.          " Table Name
      wa_fieldcat-ref_fieldname = 'VBELN'.         " Field Name
      wa_fieldcat-seltext_m     = 'Sales Doc No'.  " Display Text In Screen
      APPEND wa_fieldcat TO it_fieldcat.
      CLEAR wa_fieldcat.
      ADD 1 TO w_var.
      wa_fieldcat-col_pos       = w_var.          " Column Position Variable
      wa_fieldcat-tabname       = 'IT_SALESORDER'. " Internal Table Name
      wa_fieldcat-fieldname     = 'POSNR'.         " Field Name
      wa_fieldcat-ref_tabname   = 'VBAP'.          " Table Name
      wa_fieldcat-ref_fieldname = 'POSNR'.         " Field Name
      wa_fieldcat-seltext_m     = 'Sales Doc Item'. " Display Text In Screen
      APPEND wa_fieldcat TO it_fieldcat.
      CLEAR wa_fieldcat.
      ADD 1 TO w_var.
      wa_fieldcat-col_pos       = w_var.          " Column Position Variable
      wa_fieldcat-tabname       = 'IT_SALESORDER'. " Internal Table Name
      wa_fieldcat-fieldname     = 'NETWR'.         " Field Name
      wa_fieldcat-ref_tabname   = 'VBAP'.          " Table Name
      wa_fieldcat-ref_fieldname = 'NETWR'.         " Field Name
      wa_fieldcat-do_sum        = 'X'.             " Sum
      wa_fieldcat-seltext_m     = 'Net Value'.  " Display Text In Screen
      APPEND wa_fieldcat TO it_fieldcat.
      CLEAR wa_fieldcat.
      ADD 1 TO w_var.
    endform.                    " field_catalog
    *&      Form  sorting
          text
         -->P_IT_SORTCAT  text
    form sorting using p_it_sortcat TYPE slis_t_sortinfo_alv.
      wa_sortcat-fieldname = 'VBELN'.
      wa_sortcat-up        ='X'.
      wa_sortcat-subtot    = 'X'.
      APPEND wa_sortcat TO p_it_sortcat.
    endform.                    " sorting
    *&      Form  display_data
          text
    -->  p1        text
    <--  p2        text
    form display_data .
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      I_INTERFACE_CHECK                 = ' '
      I_BYPASSING_BUFFER                = ' '
      I_BUFFER_ACTIVE                   = ' '
        I_CALLBACK_PROGRAM                = SY-REPID
      I_CALLBACK_PF_STATUS_SET          = ' '
      I_CALLBACK_USER_COMMAND           = ' '
      I_CALLBACK_TOP_OF_PAGE            = ' '
      I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
      I_CALLBACK_HTML_END_OF_LIST       = ' '
      I_STRUCTURE_NAME                  =
      I_BACKGROUND_ID                   = ' '
      I_GRID_TITLE                      =
      I_GRID_SETTINGS                   =
      IS_LAYOUT                         =
        IT_FIELDCAT                       = it_fieldcat
      IT_EXCLUDING                      =
      IT_SPECIAL_GROUPS                 =
        IT_SORT                           = it_sortcat
      IT_FILTER                         =
      IS_SEL_HIDE                       =
      I_DEFAULT                         = 'X'
      I_SAVE                            = ' '
      IS_VARIANT                        =
      IT_EVENTS                         =
      IT_EVENT_EXIT                     =
      IS_PRINT                          =
      IS_REPREP_ID                      =
      I_SCREEN_START_COLUMN             = 0
      I_SCREEN_START_LINE               = 0
      I_SCREEN_END_COLUMN               = 0
      I_SCREEN_END_LINE                 = 0
      IT_ALV_GRAPHICS                   =
      IT_HYPERLINK                      =
      IT_ADD_FIELDCAT                   =
      IT_EXCEPT_QINFO                   =
      I_HTML_HEIGHT_TOP                 =
      I_HTML_HEIGHT_END                 =
    IMPORTING
      E_EXIT_CAUSED_BY_CALLER           =
      ES_EXIT_CAUSED_BY_USER            =
      TABLES
        t_outtab                          = it_salesorder
    EXCEPTIONS
       PROGRAM_ERROR                     = 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.
    endform.                    " display_data
    *&      Form  fetch_data
          text
    -->  p1        text
    <--  p2        text
    form fetch_data .
    select a~vbeln
           posnr
           b~netwr
      from vbak as a
    inner join vbap as b on  avbeln = bvbeln
      into table it_salesorder
      where a~vbeln in s_vbeln.
    endform.                    " fetch_data

  • Can I have multiple hotspots on the same ALV grid?

    Hi,
    I have a simple ALV grid report with a hotspot.  I can't seem to find any examples or information on whether I can have 2 hotspots on the same ALV grid line.
    Is this possible and is there an example somewhere that I can look at?
    Thanks for your help!
    Andy

    Check the code below
      METHODS:set_hotspot_ebeln CHANGING pc_alv TYPE REF TO cl_salv_table
                                         pc_report TYPE REF TO lcl_report.
    *--Event Handlers for alv
        METHODS:on_link_click FOR EVENT link_click OF cl_salv_events_table
                              IMPORTING row column .
    METHOD set_hotspot_ebeln.
        DATA: lf_cols_tab TYPE REF TO cl_salv_columns_table,
              lf_col_tab  TYPE REF TO cl_salv_column_table.
        DATA: lf_events TYPE REF TO cl_salv_events_table.
        lf_cols_tab = pc_alv->get_columns( ).
        TRY.
            lf_col_tab ?= lf_cols_tab->get_column( 'VGBEL' ).
          CATCH cx_salv_not_found.
        ENDTRY.
        TRY.
            CALL METHOD lf_col_tab->set_cell_type
              EXPORTING
                value = if_salv_c_cell_type=>hotspot. "5-stands for hot spot
          CATCH cx_salv_data_error .
        ENDTRY.
        TRY.
            lf_col_tab ?= lf_cols_tab->get_column( 'VBELN' ).
          CATCH cx_salv_not_found.
        ENDTRY.
        TRY.
            CALL METHOD lf_col_tab->set_cell_type
              EXPORTING
                value = if_salv_c_cell_type=>hotspot. "5-stands for hot spot
          CATCH cx_salv_data_error .
        ENDTRY.
        lf_events = pc_alv->get_event( ).
    *--Set event handler for click on cell
        SET HANDLER lf_report->on_link_click FOR lf_events.
      ENDMETHOD.                    "set_hotspot_ebeln
      METHOD on_link_click.
        DATA:la_put TYPE type_put.
        READ TABLE lf_report->i_put INTO la_put INDEX row.
        CHECK sy-subrc = 0.
        if column = 'VGBEL'.
        SET PARAMETER ID 'BES' FIELD la_put-vgbel.
        CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.
        elseif column = 'VBELN'
       "<----
       endif.
      ENDMETHOD.                    "on_link_click

  • How to handle user command method in module ALV Grid

    HI Experts,
                     I have 3 containers grid. 
                     GR_GRID              TYPE REF TO CL_GUI_ALV_GRID,
                     GR_GRID1              TYPE REF TO CL_GUI_ALV_GRID,
                     GR_GRID2              TYPE REF TO CL_GUI_ALV_GRID.
                     Please advise me how can I insert, save, delete 3 Module ALV Grid in method user command. How can i get which grid button (save, insert, delete) is clicked and how can i control those grid.
                    Thks in advance.
    CLASS LCL_EVENT_RECEIVER DEFINITION.
      PUBLIC SECTION.
        METHODS :
            HANDLE_TOOLBAR
                  FOR EVENT TOOLBAR OF CL_GUI_ALV_GRID
                                IMPORTING E_OBJECT E_INTERACTIVE SENDER,
            HANDLE_USER_COMMAND
                  FOR EVENT USER_COMMAND OF CL_GUI_ALV_GRID
                                IMPORTING E_UCOMM,
            HANDLE_DATA_CHANGED
                    FOR EVENT DATA_CHANGED OF CL_GUI_ALV_GRID
                          IMPORTING ER_DATA_CHANGED
                                    E_ONF4
                                    E_ONF4_BEFORE
                                    E_ONF4_AFTER,
            HANDLE_DOUBLE_CLICK
                     FOR EVENT DOUBLE_CLICK OF CL_GUI_ALV_GRID
                     IMPORTING E_ROW
                               E_COLUMN,
            HANDLE_HOTSPOT_CLICK
                      FOR EVENT HOTSPOT_CLICK OF CL_GUI_ALV_GRID
                           IMPORTING E_ROW_ID
                                     E_COLUMN_ID
                                     ES_ROW_NO.
    ENDCLASS. "(LCL_EVENT_RECEIVER DEFINITION) 
    METHOD HANDLE_USER_COMMAND.
         CLEAR G_CODE.
        G_CODE = E_UCOMM.
        CASE G_CODE.
          WHEN 'INSERT'.
            MESSAGE 'insert' TYPE 'I'.
           APPEND INITIAL LINE TO GT_MAIN.
          WHEN 'SAVE'.
           MODIFY ZTNBOOK FROM GT_MAIN.
            MESSAGE 'save' TYPE 'I'.
          WHEN 'DELETE'.
           DELETE FROM ZTNBOOK WHERE B_ID EQ GT_ZTBOOK-B_ID.
            MESSAGE 'delete' TYPE 'I'.
        ENDCASE.
        IF NOT G_CODE IS INITIAL.
      PBO, PAI
         CALL METHOD CL_GUI_CFW=>SET_NEW_OK_CODE
           EXPORTING
             NEW_CODE = G_CODE.
         CLEAR G_CODE.
        ENDIF.
      ENDMETHOD.

    Hi,
    Before posting, Search in SDN.
    See the below tread it will help you.
    Re: Get table for cl_gui_alv_grid

  • How can i use "phone relay" on a iPad mini over iPhone created wifi hotspot?

    How can i use "phone relay" on a iPad mini over iPhone created wifi hotspot?
    It works nicely over home wifi, but for example, i am sitting in my car, phone is in my pocket and I'm using the iPad, call comes in and i don't want to start digging for my phone.
    Is there any way?
    devices:
    iPad mini cellular (no SIM card at the moment)
    iPhone 5S
    Thanks!

    well yes, but it basically makes wifi for the other devices, it basically mimics wifi.
    as i get from your answer, it is not possible?
    it would be common sense to make it work this way also. directly from device to device. no bounce between WiFi router
    Then again, common sense is not that common these days...

  • How can i connect iphone to itunes.. i want to restore because my finger mistakes that click Reset all content and setting.. so iphone are empty.. all foto and data lost, right.. how can i use my iphone again..

    how can i connect iphone to itunes.. i want to restore because my finger mistakes that click Reset all content and setting.. so iphone are empty.. all foto and data lost, right.. how can i use my iphone again.

    Yes, try to restore your iPhone from iTunes or iCloud backup.
    iOS: How to back up and restore your content
    http://support.apple.com/kb/HT1766
    Tell us the result if you will try.
    <Link Edited By Host>

  • How can I use my iPhone 3GS for a personal wifi hotspot for my laptop

    How can I use my iPhone as a hotspot for my laptop

    See Here
    using Personal Hotspot
    http://support.apple.com/kb/HT3574

  • How can I use 2 Apple IDs in Itunes? I have 2 IOS Devices. They each have there own AppleID. What is the proper way to sync both of them to Itunes?

    How can I use 2 Apple IDs in Itunes? I have 2 IOS Devices. They each have there own AppleID. What is the proper way to sync both of them to Itunes? I wanted my teenager's AppleID to be different from mine so that she couldn't charge stuff to my AppleID, therefore I created me another one. Now when I go to Sync either device, it tells me that this IOS device can only be synced with one AppleID. Then I get a message to erase it, not going to do that, lol. If I logout as one ID and login as the other, will it still retain all synced information on the PC from the first IOS device? If I can just log in out of the AppleID, then I have no problem doing that as long as the synced apps, music, etc stays there for both. I am not trying to copy from one to the other, just want to make sure I have a backup for the UhOh times. If logging in and out on the same PC of multiple AppleIDs is acceptible then I need to be able to authorize the PC for both devices. Thanks for the help. I am new to the iOS world.

    "Method Three
    Create a separate iTunes library for each device. Note:It is important that you make a new iTunes Library file. Do not justmake a copy of your existing iTunes Library file. If iTunes is open,quit it.
    This one may work. I searched and searched on the website for something like this, I guess I just didn't search correctly, lol. I will give this a try later. My daughter is not be back for a few weekends, therefore I will have to try the Method 3 when she comes back for the weekend again. "
    I forgot to mention that she has a PC at her house that she also syncs to. Would this cause a problem. I am already getting that pop up saying that the iPod is synced to another library (even though she is signed in with her Apple ID to iTunes) and gives the pop up to Cancel, Erase & Sync, or Transfer Purchases. My question arose because she clicked on "Erase & Sync" by mistake when she plugged the iPod to her PC the first time. When the iPod was purchased and setup, it was synced to my PC first. When she went home, she hooked it up to her PC and then she erased it by accident. I was able to restore all the missing stuff yesterday using my PC. However, even after doing that it still told me the next time I hooked it up last night that the iPod was currently synced with a different library. Hopefully, you can help me understand all this. She wants to sync her iPod and also backup her iPod at both places. Both PCs have been authorised. Thanks

  • How can I define Double Click Processing in SAP Query ?

    The first question is : How Can I define drill-down for SAP Query report ?
    The second one :  How can I program Double Click in SAP Query report for Different columns like ALV Grid processing ?

    you can attach a repot or at tcode etc in an SAP query using report assignment in SQ01 but as far as i remember you cannot attach multiple reports.
    regards,
    khusro habib

  • How can I use photos in FCEHD?

    How can I use photos in FCEHD? (I'm new to the thing - done just one video project so far).
    When I imported photos from Aperture (first into the folder on desktop, and then from desktop to the Browser in FCEHD3.5, the photos have a black bar/a gray space above and below, and they appear too wide a bit on the right side, as if coming out of the Canvas'frame.
    Is it a way to fit them into the 4:3 format, so they fit the whole screen (BTW - what view I should have set for Viewer and Canvas? A 100% or "Fit The Screen" view?).
    Also: Is there a way to enter the same Transition in between all of my photos in the Timeline? (if so - how?)

    Re the Canvas window ... before exporting your sequence, rendering, etc it should be set to Fit to Window, this can avoid problems
    In FCE you can't set your own default transition. It is always the Cross Dissolve. If that is the one you want to use, when you drop your pics onto the timeline you can drag them over to Overwrite with Transition or hit Shift-F10. If you want to use multiple occurances of another trans, apply it once, double click to put it in the Viewer then just drop that down onto your clips
    I haven't used Aperture but I think that how they appear in the timeline depends upon the size they are created in. Search this forum, there is plenty of info about that. Generally Final Cut sizes the pics to fit into your video sequence. Put a pic in the timeline, click it, select Edit>Remove Attributes and from the submenu select Motion, see what happens

  • How can I use the "Copy and paste" tool in order get stamps in the same position in different pages (Acrobat XI for PC)?

    With Acrobat 6.0 I was able to copy a stamp in the same position (I mean "exactly" the same one) of different pages just by using the "copy/past" tool.
    Now I am using Acrobat XI and it seems like it is not possible anymore: I am copying a stamp and I am trying to past it in anoter page, but it appears in the center of the page (or wherever it wants to...).
    Does anyone have a solution?
    Thanks in advance.

    Thank you very much. I'll be waiting for you message.
    Messaggio originale----
    Da: [email protected]
    Data: 26/01/2015 17.56
    A: "Umberto Gangi"<[email protected]>
    Ogg:  How can I use the "Copy and paste" tool in order get stamps in the same position in different pages (Acrobat XI for PC)?
        How can I use the "Copy and paste" tool in order get stamps in the same position in different pages (Acrobat XI for PC)?
        created by Gilad D (try67) in Creating, Editing &amp; Exporting PDFs - View the full discussion
    Well, I was in the same situation so I've developed a tool that allows one to do it. I will send you some additional information about it in a private message.
         If the reply above answers your question, please take a moment to mark this answer as correct by visiting: https://forums.adobe.com/message/7132586#7132586 and clicking ‘Correct’ below the answer
         Replies to this message go to everyone subscribed to this thread, not directly to the person who posted the message. To post a reply, either reply to this email or visit the message page:
    Please note that the Adobe Forums do not accept email attachments. If you want to embed an image in your message please visit the thread in the forum and click the camera icon: https://forums.adobe.com/message/7132586#7132586
         To unsubscribe from this thread, please visit the message page at , click "Following" at the top right, &amp; "Stop Following"
         Start a new discussion in Creating, Editing &amp; Exporting PDFs by email or at Adobe Community
      For more information about maintaining your forum email notifications please go to https://forums.adobe.com/thread/1516624.

  • How can I use a new computer without deleting everything on iPod?

    Hey Guys
    I need a bit of help.
    My old computer died, it was running Windows XP. I've got myself a new computer running Windows 7.
    I have a copy of my iTunes folders from my old computer (taken 2 days before it died)
    How can I use a new computer without deleting everything on iPod touch?
    I've imported all the folders (music, apps etc) into the new computer's iTunes, but when I sync my iPod
    I receive a window asking if i want to sync i need to erase and replace with the iTunes library on the computer.
    I particularly don't want to do this.
    My wife also uses my iTunes for her iPhone.
    Any help would be appreciated. Thank you

    Make a backup of the iPod by connecting the iPod to the computer and right clicking on the iPod under Devices in iTunes and selecting Backup. Then restore the iPod from that backup and sync as necessary.

  • How can I use 2 iPhone 4's on same iTunes account, but NOT sync same contacts?

    How can I use 2 iPhone 4's on same iTunes account, but NOT sync same contacts?

    They need to be registered under different Apple ID's.  The initial Apple ID is set when you first start the phone up.  If you've already registered the phone to the iTunes account, back it up to your computer, and then have iTunes do a factory reset.  Go to www.icloud.com, log in with your current Apple ID, select "Find My iPhone," choose the iPhone you want to dissociate from your primary Apple ID from the upper left, and then click the little circled X ("remove").
    When you start the phone, it will have you go through the setup process again, at which time you need to create a unique Apple ID for the device.  You can then restore it from your iTunes backup to get back your apps and other settings.
    Whenever you use the iTunes store, use the login information (Apple ID and password) that you were using before.  Basically, the second Apple ID that you created is purely used for accessing iCloud services, which includes synchronization of contacts, iCal events, and other such things.

Maybe you are looking for

  • How to get current row data in table control

    Hi , expert ,    I am professional in oracle ,  but  now I am a new guy in SAP ABAP . I  have a question in UI How to get current row data and click pushbutton  in table control  to open next screen ? I want to get the current data and open next scre

  • Not able to change the size of the Drive

    Hello , I have a template with 50 GB C drive and I want to a create a VM having 100 GB C drive using this template  . But I am not able to change C drive size from the edit settings . After changing the size from the edit settings to 100 Gb , I found

  • ECC 6.0 installation problem

    Hi all I cannot install the ECC when I install the process in define Parameters Software Packages \ Package Location \ it prompt error. "You Entered: E:\EXP1 Found the Label SAP:NETWEAVER:2004sSR2:EXPORT(1/3): SAP Netweaver 2004s SR2 Installation Exp

  • LogonUI.ex​e bad image - authui.dll error. Cant system restore or restore to factory settings

    Hi, My notebook which is a HP pavilion dm4 beats edition computer which runs WIndows 7 home premium, was just bought 2 months and I've been using it just for 2 months. Yesterday morning it was working fine, and I didnt download any new software or do

  • Weather widget replacement for Windows 7

    I work as an IT for a small business. And I believe that Microsoft once again has removed one more of their products that was sold to us. I keep getting tech support calls about weather widget not working on Windows 7 desktops installed in our office