Custom Button in ALV table

Hi Experts,
I have created a custom button 'SELECT' in ALV table toolbar.
lo_function = l_value->if_salv_wd_function_settings~create_function( 'SELECT' ).
Now i am getting position of this custom button next to the Standard buttons ('Print' and 'Export' ). So how do I change the custom button position to first place. I mean the custom button should be in the left most position in the toolbar.
Please help me in resolving this.
Regards,
Sarathy.

Thank you Lekha. Set_position is working.
We have to change the positon of custom button and the standard button. So that the position of button gets interchnaged.
Regards,
Sarathy
Edited by: DEVASARATHY PANDI on Jan 26, 2012 12:18 PM

Similar Messages

  • Custom Button in ALV Grid standard toolbar

    Hello Experts,
    I am working on the program in which i have to add custom button to standard toolbar in ALV. I have created the button using the method as below
         data: lr_functions type ref to cl_salv_functions_list.
         lr_functions = gr_table->get_functions( ).
         lr_functions->set_default( abap_true ).
         data: l_text       type string,
               l_icon       type string.
    *    l_text = text-b01.
         l_icon = icon_complete.
         try.
           lr_functions->add_function(
             name     = 'Update Equipment Cost'
             icon     = l_icon
             text     = l_text
             tooltip  = 'Update Equipment Cost'
             position = if_salv_c_function_position=>right_of_salv_functions ).
           catch cx_salv_existing cx_salv_wrong_call.
         endtry.
    I don't understand how to add functionality to this button. I want to design the functionality as when user press button then corresponding values on the screen will be automatically get updated in the table.
    Thanks,
    Avadhut

    Hi Avadhut,
    When you want to add a custom button on ALV - better copy the GUI Status of the standard ALV to your program.  So all the function codes are copied , now you can go to the GUI_STATUS which is copied and you can mention your own function code or you can let the standard function codes as it is. You can copy the GUI of standard ALV from SE80 transaction. Let me know if you need any assistance in doing it.
    Now, if you want to write the code for any of the button on ALV -  then you need to handle it is the class.
    I used CL_SALV_TABLE - if you are using same then the below code gives you an idea of it.
    1. Create a local class in your program
    *       CLASS lcl_alv_events DEFINITION
    CLASS lcl_alv_events DEFINITION FINAL.
       PUBLIC SECTION.
         METHODS: on_user_command FOR EVENT added_function OF cl_salv_events
                                  IMPORTING e_salv_function.
    ENDCLASS.                    "lcl_alv_events DEFINITION
    DATA: gv_event_handler TYPE REF TO lcl_alv_events.
    CREATE OBJECT gv_event_handler.
    * Header object
    CREATE OBJECT gr_header.
    2. Class Implementation
       CLASS lcl_alv_events IMPLEMENTATION.
          METHOD on_user_command.
         CASE e_salv_function.
         **When PROCESS Button is selected
           WHEN '&PROC'.    ***> In my program I added Process button and fcode for it - &PROC
          ***********Write your code here ******************
        ENDCASE.
       ENDMETHOD.
    ENDCLASS.                    "lcl_alv_events IMPLEMENTATION
    3. Calling events
       data: gr_events    TYPE REF TO cl_salv_events_table,
               gr_alv       TYPE REF TO cl_salv_table.
       TRY.
           CALL METHOD cl_salv_table=>factory
             IMPORTING
               r_salv_table = gr_alv
             CHANGING
               t_table      = p_in_tab[].    ***This is my internal table data.
          gr_events = gr_alv->get_event( ).
             SET HANDLER gv_event_handler->on_user_command FOR gr_events.
         CATCH cx_salv_msg INTO lv_msg.                      "#EC NO_HANDLER
         CATCH cx_salv_not_found INTO lv_excep.              "#EC NO_HANDLER
         CATCH cx_salv_data_error.                           "#EC NO_HANDLER
       ENDTRY.
    Regards,
    Rafi

  • Custom button in alv and disabling all buttons in application tool bar

    Experts,
    Could you please  help me for the below requirements.
    1). How to disable all the buttons (like sorting, print, find, set filter...etc.) in tool bar using oops?
    2). Where can I add my custom download button in alv report using oops?
    Thanks in advance...
    Sridhar..

    Step1:
    Create on local class
    Class <LCL_EVENT_RECEIVER> Definition
    Define the below public methods.
    Method Name     HANDLE_TOOLBAR
    Event Name     TOOLBAR
    Event Class     CL_GUI_ALV_GRID
    Importing     E_OBJECT, E_INTERACTIVE
    Method Name     HANDLE_USER_COMMAND
    Event Name     USER_COMMAND
    Event Class     CL_GUI_ALV_GRID
    Importing     E_UCOMM
    Class <LCL_EVENT_RECEIVER> Implementation 
    .     Method HANDLE_TOOLBAR
         Declare the structure <LS_TOOLBAR> of structure type STB_BUTTON
         Append the button information as given below into table E_OBJECT->MT_TOOLBAR to         display the custom button on ALV grid.
                               LS_TOOLBAR-FUNCTION = u2018DOWNu2019
                         LS_TOOLBAR-QUICKINFO = u2018downloadu2019
                         LS_TOOLBAR-TEXT = u2018downloadu2019
         Method HANDLE_USER_COMMAND
    In this method if E_UCOMM = u2018DOWNu2019 write your logic.
    Step2:
    1.     To excluding the ALV grid buttons, fill the <LT_EXC> with function code CL_GUI_ALV_GRID=>MC_FC_EXCL_ALL
    2.     To generate the ALV Grid, call the method SET_TABLE_FOR_FIRST_DISPLAY
    Class     CL_GUI_ALV_GRID
    Method Name     SET_TABLE_FOR_FIRST_DISPLAY
    Exporting     
    I_STRUCTURE_NAME      ZDS_CM_EXT_SEL
    LS_LAYOUT                    <LS_LAYOUT>
    IT_TOOLBAR_EXCLUDING     <LT_EXC>
    Changing     
    IT_OUTTAB                    <GT_EXT_SEL>
    Create the Instance for class <LCL_EVENT_RECEIVER>
    Class     <LCL_EVENT_RECEIVER>
    Instance Name     <LO_EVENT_FNAME>
    Now set handler  <HANDLE_USER_COMMAND> and <HANDLE_TOOLBAR_FNAME> events using instance <LO_EVENT_FNAME>
    Call method 'SET_TOOLBAR_INTERACTIVE' to raise event TOOLBAR
    Class     CL_GUI_ALV_GRID
    Instance Name     <GO_GRID>
    Method Name     SET_TOOLBAR_INTERACTIVE

  • Add on custom button to ALV toolbar in std tcode ME51N, ME52N and ME53N.

    Hi All,
    I have the requirement to add on the custom button to ALV toolbar in ITEM OVERVIEW for standard transaction ME51N, ME52N and ME53N. Does anyone know what enhancement point or user exit i should apply and how i can add on the custom button?
    Thanks.

    There are no user exits or badi's for COOIS. You may have to make copy of the PPIO_ENTRY to ZPPIO_ENTRY including all the varians without changing their names like copy SAP&COOIS to SAP&COOIS. Create a T-Code ZCOOIS and replace COOIS in variant SAP&COOIS to ZCOOIS not in the name of the variant but in the field "Check Authorization for".
    The PF-Status is found in the include LCOISOUTPUTF16 which is located in the function group COISOUTPUT you may have to copy that too. Finally you need to copy SAPLCOISOUTPUT with its GUI status GENERAL and add your custom button there.

  • How to disable the custom button on alv?

    Hi All,
                       i created a ALV Report .I created a Custom Button on ALV.Based on the input value i need to enable/disable  that Button.
    How can i achieve?And what are the methods i need to code?
    Regards
    Ravi

    Hi Ravi,
       You create the button like this:
    Data: mr_functions type ref to IF_SALV_WD_FUNCTION_SETTINGS,
             mr_button_func type ref to CL_SALV_WD_FUNCTION
      mr_functions ?=  mr_alv_model.
      CALL METHOD mr_functions->create_function
        EXPORTING
          id    = '<<Button Id>>'
        RECEIVING
          value = mr_button_func.
      CREATE OBJECT mr_button.
      mr_button->set_text( 'some text' ).
      mr_button_func->set_editor( mr_button ).
    to sent enable/disable
    mr_button->set_enabled(abap_false).
    hope this will serve your purpose.
    Regards,
    Ritwik.

  • Custom button  on ALV report for Tcode FL10G ?

    Hi All,
    I want to add custom button in the AVL report for FL10G transaction.  And then need to implement logic for that button (calling BAPI to create shipment for the selected records).
    For VL10G alv program GUI Status - STANDARD001  I think I can add button in this gui by using access key.
    But how to implement logic for this custom button?  Where I can put the code for this button logic?
    Please let me know if any one has any ideas on this issue.
    I appreciate your help and time on this.
    Thanks.
    M

    Hi Murali,
    The standard program it will not allow to copy the GUI Status. Because source and target program should not same.
    It will definitely debug will work. Yo can create the GUI Status through SE41. In SE41 Just give Program name :SAPLV50R_VIEW click the button status. here you should not give any gui status. just blindy say create the then it will popup screen appears in the screen. Here you can mention your Z GUI Status. It is not required to create all the menus manually instead of the there is button which is located in the screen next to blue i button. here you can click and select the standard interface. You can get all the menus as similar to standard. Like that you should create Menu Bar, Application Toolbar and Function Keys  Menus. Then you can add your custom button in the Application tool bar button.
    When you execute the Transaction VL10G and check your cusom menu button will appears. Once you click custom button only exit will trigger. Find the below code for your reference.
    CODE
            loop at ct_postab assigning <fs>
                    where selkz = 'X'.
    *To Fill the BAPI  Header Parameters
                  str_ordhdr-ship_cond = w_sval-value.
    *To Fill the BAPI  HeaderX Parameters
                  str_ordhdrx-updateflag = 'U'.
                  str_ordhdrx-ship_cond = 'X'.
                  call function 'BAPI_SALESORDER_CHANGE'
                    exporting
                      salesdocument    = <fs>-vbelv
                      order_header_in  = str_ordhdr
                      order_header_inx = str_ordhdrx
                    tables
                      return           = str_return.
                endloop.
                read table str_return into w_return index 1.
                if sy-subrc eq 0.
                  if not w_return-type = 'S'.
                    message w_return-message type 'E'.
                    leave to current transaction.
                  endif.
                endif.
    *Do the BAPI Commit
                call function 'BAPI_TRANSACTION_COMMIT'
                  exporting
                    wait = 'X'.
              endif.
            endif.
          endif.
    Let me know if you have anything to discuss on the same.

  • Custom Buttons in ALV Grid

    Hi Experts,
    I have a ALV grid. I have added some custom buttons to it.
    I want to change dynamically enable of disable some of the buttons in the ALV.
    Please help me through.
    I tried free, clear refresh for the grid object, control object and the event handler objects also.
    still I get the old buttons when i execute the program.
    Thanks.

    Hi,
    class lcl_event_receiver implementation.
      method handle_toolbar.
    IF OK_CODE EQ 'XYZ'.
    * append an icon to show booking table
        clear ls_toolbar.
        move 'BOOKINGS' to ls_toolbar-function.
        move 'Show Bookings'(111) to ls_toolbar-quickinfo.
        move 'Detail'(112) to ls_toolbar-text.
        move ' ' to ls_toolbar-disabled.                         " Enable
        append ls_toolbar to e_object->mt_toolbar.
      clear ls_toolbar.
        move 'FILGHT' to ls_toolbar-function.
        move 'Show Flight'(113) to ls_toolbar-quickinfo.
        move 'FlightDetail'(114) to ls_toolbar-text.
        move 'X' to ls_toolbar-disabled.                            " Disable
        append ls_toolbar to e_object->mt_toolbar.
    ELSE.
    * append an icon to show booking table
        clear ls_toolbar.
        move 'BOOKINGS' to ls_toolbar-function.
        move 'Show Bookings'(111) to ls_toolbar-quickinfo.
        move 'Detail'(112) to ls_toolbar-text.
        move 'X' to ls_toolbar-disabled.
        append ls_toolbar to e_object->mt_toolbar.
    * append an icon to show booking table
        clear ls_toolbar.
        move 'FILGHT' to ls_toolbar-function.
        move 'Show Flight'(113) to ls_toolbar-quickinfo.
        move 'FlightDetail'(114) to ls_toolbar-text.
        move ' ' to ls_toolbar-disabled.
        append ls_toolbar to e_object->mt_toolbar.
    ENDIF.
      endmethod.
    Endclass.
    call method grid1->set_table_for_first_display
             exporting i_structure_name = 'SFLIGHT'
                       is_layout        = gs_layout
             changing  it_outtab        = gt_sflight.
        create object event_receiver.
        set handler event_receiver->handle_user_command for grid1.
        set handler event_receiver->handle_toolbar for grid1.
        call method grid1->set_toolbar_interactive.
    call method sender->refresh_table_display.
      set handler event_receiver->handle_toolbar for grid1.
        call method grid1->set_toolbar_interactive

  • Custom buttons in ALV grid display

    I want to add custom buttons on application toolbar while displaying an ALV report using grid display.
    how can it be done?

    Hi
    In order to add user command functioality to the ALV grid you need to perform the following steps:
                        1. Update 'REUSE_ALV_GRID_DISPLAY' FM call to include 'USER_COMMAND' FORM
                    2. Create 'USER_COMMAND' FORM
    call function 'REUSE_ALV_GRID_DISPLAY'
           exporting
                i_callback_program      = gd_repid
                i_callback_top_of_page   = 'TOP-OF-PAGE'
                I_callback_user_command = 'USER_COMMAND'   "see FORM
                is_layout               = gd_layout
                it_fieldcat             = fieldcatalog[]
                i_save                  = 'X'
           tables
                t_outtab                = it_ekko
           exceptions
                program_error           = 1
                others                  = 2.
          FORM USER_COMMAND                                          *
          --> R_UCOMM                                                *
          --> RS_SELFIELD                                            *
    FORM user_command USING r_ucomm LIKE sy-ucomm
                      rs_selfield TYPE slis_selfield.
    Check function code
      CASE r_ucomm.
        WHEN '&IC1'.
      Check field clicked on within ALVgrid report
        IF rs_selfield-fieldname = 'EBELN'.
        Read data table, using index of row user clicked on
          READ TABLE it_ekko INTO wa_ekko INDEX rs_selfield-tabindex.
        Set parameter ID for transaction screen field
          SET PARAMETER ID 'BES' FIELD wa_ekko-ebeln.
        Sxecute transaction ME23N, and skip initial data entry screen
          CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.
        ENDIF.
      ENDCASE.
    ENDFORM.
    In order modify PF_STATUS of ALV grid report you need to perform the following steps:
         1. Update 'REUSE_ALV_GRID_DISPLAY' FM call to include:
                        i_callback_pf_status_set = 'SET_PF_STATUS' statement.
         2. Create 'SET_PF_STATUS' FORM
         3. Create pf_status (i.e. 'ZNEWSTATUS').
              - It is recommend that you copy standard status'STANDARD' from function group SALV
                and modify it accordingly. ALV standard function codes always start with '&'.
    call function 'REUSE_ALV_GRID_DISPLAY'
           exporting
                i_callback_program      = gd_repid
                i_callback_top_of_page   = 'TOP-OF-PAGE'
                i_callback_pf_status_set = 'SET_PF_STATUS'   "see FORM
                is_layout               = gd_layout
                it_fieldcat             = fieldcatalog[]
                i_save                  = 'X'
           tables
                t_outtab                = it_ekko
           exceptions
                program_error           = 1
                others                  = 2.
          FORM SET_PF_STATUS                                         *
    FORM set_pf_status USING rt_extab TYPE slis_t_extab.
      SET PF-STATUS 'ZNEWSTATUS'.
                      "Copy of 'STANDARD' pf_status from fgroup SALV
    ENDFORM.

  • Delete button in ALV Table

    Hi,
    Does any one have a code sample for the ALV Table Delete button? When I hit the DELETE button the selected row gets deleted but how can I save this deletion to the database table so that when I do a refresh the deleted row does not re-appear.
    Thanks. Kim

    Hi Kim,
             i am sorry but I dont have a sample code for this .. but yes i can tell you a very simple logic here that should work fine ..
    When the user clicks on Delete Entry call method say "Delete_entry" and within this you can write code based on this logic..
    1) On_Action_Lead_Select should copy the content of that row to another context node say "Selected_Entry"
    2) Search for this entry in your internal table/database that was bound to the ALVs context node(data source) and remove it using standard functions
    3) again read the database/internal table data and bind it to the context node ..
    Your changes will be reflected in your ALV..
    I hope this helps and if it does please do award points
    Also please close the thread if the issue gets resolved ..
    Regards,
    Anoop

  • Replacing SAP Object Selector with Radio Button in ALV table in WD ABAP

    Hi All,
    I have a view in Webdynpro ABAP which displays data in an ALV table view (using SALV_WD_TABLE component).
    By default we have the SAP Object Selector for selecting a particular row of the table. This has to be replaced with radio buttons.
    I mean instead of using the SAP Object Selector, I need radio buttons at the start of each row.
    What I have thought of is to make the SAP Object Selector Invisible and create another attribute for the radio button in the node which contains ALV output data.
    Can you please let me know how to remove the SAP Object Selector from ALV output table and also how to include a column with radio button in the ALV output table.
    Thanks and Regards,
    Sayan Ghosh

    Hi Lekha,
    I am working with HRASR00_PROCESS_EXECUTE WD component of MSS application. In order to generate the data, this in turn calls another component called DATAOBJECTPROVIDER. I need to make the table selection as none and replace the SAP Object Selector with the radio button.
    Do you know under which method in DATAOBJECTPROVIDER do we need make the changes. I tried to search all the methods but couldnt understand a suitable one.
    Thanks and Regards,
    Sayan Ghosh

  • What Custom button in ALV has been clicked?

    Hi Experts,
    I have written one WDC where in i have created an ALV with two custom buttons in it. One is to Search the company code with Function code as 'SEARCH', and the other is to export the result in to an excel file, this button function code is 'EXPORT'.
    I have created these two buttons in the WDDOINIT method of the view, say MAIN.
    I have created a method, say 'function_button' in the MAIN for the event ON_FUNCTION, to handle any events that happens on these custom buttons.
    The problem is whatever the customized button i click in the ALV the entire code of the method 'FUNCTION_BUTTON' is being executed.
    Now, I want to get the function code of the button clicked in my ALV, so that i can only execute the portion of the code that needs to be executed.
    Please let me know the ways to tackle this problem.
    Thanks in advance.
    Good day!

    Hi Shashi,
    Check the following blog to handle ALV custom function.
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/101df93f-4b5c-2910-14aa-9eb0338c2110
    Regards,
    Karthick S

  • Error when Calling a BAPI in ALV custom button "could not ascertain code"

    Hi,
    I am getting the error "Could not ascertain code page" when i try to call my BAPI (to export to excel sheet) on click of a custom button in ALV.
    I have done the creation and event handling etc for the custom button.
    Kindly help if anybody knows this error.
    Thanks
    Roshan

    I am creating a custom export button(after disabling the standard export button) to download the data into an excel sheet in my own format. I have created the new button. The code is given here.
    data lr_buttonui2 type ref to cl_salv_wd_fe_button.
    data input2 type ref to cl_salv_wd_function.
    data: lr_column_settings type ref to   if_salv_wd_column_settings,
    lr_input_field type ref to cl_salv_wd_uie_input_field.
    create object lr_buttonui2.
    call method lr_buttonui2->set_text
      exporting
        value  = 'Export'
      input2 = lo_value->if_salv_wd_function_settings~create_function( id = 'EXPORT' ).
      input2->set_editor( lr_buttonui2 ).
    data lr_ref3 type ref to cl_salv_wd_fe.
      call method input2->get_editor
        receiving
          value  = lr_ref3
    I have also created the event handler for my button and written the below code thr. I am caling a BAPI to download the data into my excel format. The problem is coming here only.
    data: lt_return type table of bapiret2.
    data lo_nd_methcode type ref to if_wd_context_node.
      data lo_el_methcode type ref to if_wd_context_element.
      data ls_methcode type wd_this->element_methcode.
      data lv_methcode like ls_methcode-methcode.
    navigate from <CONTEXT> to <METHCODE> via lead selection
      lo_nd_methcode = wd_context->get_child_node( name = wd_this->wdctx_methcode ).
    get element via lead selection
      lo_el_methcode = lo_nd_methcode->get_element(  ).
    get single attribute
      lo_el_methcode->get_attribute(
        exporting
          name =  `METHCODE`
        importing
          value = lv_methcode ).
    call function 'ZBAPI_EXCEL_DLOAD_METHODOLOGY'
      exporting
        i_methcode       = lv_methcode
      tables
        et_return        = lt_return
    Plz give me a solution

  • ALV  issue - capturing user changes in editable fields using custom button?

    Hi,
    I created a custom button in ALV tool bar.   And also in my ALV grid I have couple of fields Editable option. User can change values for these 2 fields.
    My question is -
    After changing values for these editable fields(more than 1 record)  , user will click on custom button and then I have to update all the user changed values in to my internal table(lt_tab)  and then I have to process logic.
    Problem is when user click on Custom button in ALV tool bar it is not having the changed values in lt_tab table.
    Only when user clicks  some thing on ALV grid records or fields then it is getting all the changed values in to lt_tab.
    Can any one tell me how I can get changed values when user clicks on custom button?
    1. Can we place custom button in ALV Grid? instead of ALV tool bar? 
    or
    How I can capture user changes when they click on custom button?
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    TABLES
          T_OUTTAB                          = lt_tab
    Please check this logic-
    CASE r_ucomm.
        WHEN '&IC1'.
    - It_tab  having all changed field values
      WHEN 'custom button'.
          lt_tab  - not having any changed values - showing all initial lt_tab values.
    I highly appreciate your answers on this.
    Thanks.
    Rajesh.

    Hi,
    Use this code, its working:-
    *&      Form  ALV_DISPLAY
    *       SUB-ROUTINE ALV_DISPLAY IS USED TO SET THE PARAMETERS
    *       FOR THE FUNCTION MODULE REUSE_ALV_GRID_DISPLAY
    *       AND PASS THE INTERNAL TABLE EXISTING THE RECORDS TO BE
    *       DISPLAYED IN THE GRID FORMAT
    FORM alv_display .
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
       EXPORTING
    *     I_INTERFACE_CHECK                 = ' '
    *     I_BYPASSING_BUFFER                = ' '
    *     I_BUFFER_ACTIVE                   = ' '
         i_callback_program                = v_rep_id       " report id
         i_callback_pf_status_set          = 'PF'           " for PF-STATUS
         i_callback_user_command           = 'USER_COMMAND' " for 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                         = wa_layout      " for layout
         it_fieldcat                       = it_field       " field catalog
    *     IT_EXCLUDING                      =
    *     IT_SPECIAL_GROUPS                 =
         it_sort                           = it_sort        " sort info
    *     IT_FILTER                         =
    *     IS_SEL_HIDE                       =
    *     I_DEFAULT                         = 'X'
         i_save                            = 'A'
         is_variant                        = wa_variant     " variant name
    *     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
    *     I_HTML_HEIGHT_TOP                 = 0
    *     I_HTML_HEIGHT_END                 = 0
    *     IT_ALV_GRAPHICS                   =
    *     IT_HYPERLINK                      =
    *     IT_ADD_FIELDCAT                   =
    *     IT_EXCEPT_QINFO                   =
    *     IR_SALV_FULLSCREEN_ADAPTER        =
    *   IMPORTING
    *     E_EXIT_CAUSED_BY_CALLER           =
    *     ES_EXIT_CAUSED_BY_USER            =
        TABLES
          t_outtab                          = it_final      " internal table
       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.                    " ALV_DISPLAY
    *&      Form  USER_COMMAND
    *       SUB-ROUTINE USER_COMMAND IS USED TO HANDLE THE USER ACTION
    *       AND EXECUTE THE APPROPIATE CODE
    *      -->LV_OKCODE   used to capture the function code
    *                     of the user-defined push-buttons
    *      -->L_SELFIELD   text
    FORM user_command USING lv_okcode LIKE sy-ucomm l_selfield TYPE slis_selfield.
    * assign the function code to variable v_okcode
      lv_okcode = sy-ucomm.
    * handle the code execution based on the function code encountered
      CASE lv_okcode.
    * when the function code is EXECUTE then process the selected records
        WHEN 'EXECUTE'. "user-defined button
    * to reflect the data changed into internal table
          DATA : ref_grid TYPE REF TO cl_gui_alv_grid. "new
          IF ref_grid IS INITIAL.
            CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
              IMPORTING
                e_grid = ref_grid.
          ENDIF.
          IF NOT ref_grid IS INITIAL.
            CALL METHOD ref_grid->check_changed_data.
          ENDIF.
    * refresh the ALV Grid output from internal table
          l_selfield-refresh = c_check.
      ENDCASE.
    ENDFORM.
    This will reflect all the changes in the internal table. Now you can include your logic as per your requirement.
    Hope this solves your problem.
    Thanks & Regards,
    Tarun Gambhir

  • Add a Button in a table header Webdynpro

    Hi all,
    how can'i add a button in a table header ? and how/where schould be implemented?
    thank you all

    Hi,
    If you want to create Some custom buttons in ALV, you need to write some coding.
    Please go through this...
    ALV with user-defined buttons on toolbar in wd abap
    Re: Adding custom button in standard toolbar in ALV
    If you want to create button is table toolbar. steps :
    1. create TABLE UI Element in view - go to ROOT UI ELEMENT CONTAINER( right side here you find inserted Table ) - Right click on that ->you fined one option INSERT TOOLBAR, click this-> it will insert Toolbar again right click on this tool bar-> You wil find insert
    toolbar element->select Toolbar button. It will insert toolbar and buttons.
    Cheers,
    Kris.

  • Removing "print version" button in alv

    Hi Experts,
    I am trying to hide the buttons in ALV table.
    I did hide all other buttons except "Print Version".
    Can anyone assist.
    Thanks,
    Siva.

    Hi,
    I think use this "'SALV_WD_EXPORT' to hide the print version
    Use the below code -
    ***Reference to the standard button reference of the ALV
      DATA:
        ls_functions_std type SALV_WD_S_FUNCTION_STD_REF.
    ***Modifying The standard functionality buttons
    if lt_functions_std1 is not initial.
      loop at lt_functions_std1 into ls_functions_std.
        case ls_functions_std-id.
          when wd_assist->GC_APPEND_ROW.                           "'SALV_WD_INPUT_APPEND_ROW'
            CALL METHOD LS_FUNCTIONS_STD-R_FUNCTION->SET_VISIBLE
              EXPORTING
                VALUE = CL_WD_UIELEMENT=>E_VISIBLE-NONE.
          when wd_assist->GC_INPUT_DELETE.                         "'SALV_WD_INPUT_DELETE'
            CALL METHOD LS_FUNCTIONS_STD-R_FUNCTION->SET_VISIBLE
              EXPORTING
                VALUE = CL_WD_UIELEMENT=>E_VISIBLE-NONE.
          when wd_assist->GC_INSERT_ROW.                           "'SALV_WD_INPUT_INSERT_ROW'
            CALL METHOD LS_FUNCTIONS_STD-R_FUNCTION->SET_VISIBLE
              EXPORTING
                VALUE = CL_WD_UIELEMENT=>E_VISIBLE-NONE.
          when wd_assist->GC_EXPORT_EXCEL.                        "'SALV_WD_EXPORT_EXCEL'
            CALL METHOD LS_FUNCTIONS_STD-R_FUNCTION->SET_VISIBLE
              EXPORTING
                VALUE = CL_WD_UIELEMENT=>E_VISIBLE-NONE.
          when wd_assist->GC_PDF.                                     "'SALV_WD_PDF'
            CALL METHOD LS_FUNCTIONS_STD-R_FUNCTION->SET_VISIBLE
              EXPORTING
                VALUE = CL_WD_UIELEMENT=>E_VISIBLE-NONE.
          when wd_assist->GC_INPUT_CHECK.                            "'SALV_WD_INPUT_CHECK'
            CALL METHOD LS_FUNCTIONS_STD-R_FUNCTION->SET_VISIBLE
              EXPORTING
                VALUE = CL_WD_UIELEMENT=>E_VISIBLE-NONE.
          when wd_assist->GC_EXPORT.                                "'SALV_WD_EXPORT'
            CALL METHOD LS_FUNCTIONS_STD-R_FUNCTION->SET_VISIBLE
              EXPORTING
                VALUE = CL_WD_UIELEMENT=>E_VISIBLE-NONE.
          when wd_assist->GC_FILTER .                               "'SALV_WD_FILTER'
            CALL METHOD LS_FUNCTIONS_STD-R_FUNCTION->SET_VISIBLE
              EXPORTING
                VALUE = CL_WD_UIELEMENT=>E_VISIBLE-NONE.
          when wd_assist->GC_SETTINGS.                              "'SALV_WD_SETTINGS'
            CALL METHOD LS_FUNCTIONS_STD-R_FUNCTION->SET_VISIBLE
              EXPORTING
                VALUE = CL_WD_UIELEMENT=>E_VISIBLE-NONE.
        endcase.                     "Case ls_functions_std-id
        clear LS_FUNCTIONS_STD.
      endloop.                       "LOOP at lt_functions_std1 into ls_functions_std.
    endif.                           "IF lt_functions_std1 is not initial.
    Regards,
    Lekha.

Maybe you are looking for

  • Tab in selection screen

    Dear All, I have to developed a new report in which I have to diplay two different report.For that two different report there are two different selection screen.I have developed two tabs in selection screen for two different report. There are some ma

  • Hi. Please help me with this information on the iPod Touch

    I am doing my AS level graphic products coursework on iPod Touchs. I need help with a few questions I need to answer that I can not find info on. Please can anyone help me with the following: How the iPod Touch is produced? (Batch Production, Mass Pr

  • Exchange 2010 SP3 Installation hangs Language Pack Hell

    Ok, Exchange 2010 SP2 running in Hyper V on a 2012 server, and using the Server 2008 R2 as the OS, is hanging on the SP3 language pack for hours.  I tried rebooting the server because I am not a vampire and will continue to waste precious years of my

  • HT4557 Did Apple remove homesharing on IOS devices?

    I have a min that I turned on home sharing.  Both my touch and ipad cannot access the music or video through home sharing.  All three have homesharing turned on.  At the genuis bar I was told that the ios devices are not media extenders and that i ne

  • ECC6 + XI issue

    Hello all,      I am in the process of integration ECC6 in XI landscape. Currently R/3 is already in XI's Landscape and everything is fine. The problem withe ECC6.0 is, no IDOCs can be seen in IDX on the XI system. After sending IDOCS in ECC6.0, BD87