Toolbar buttons in ALV column tree

Dear Experts,
Currently a report is being displayed using 2 custom container and class CL_GUI_ALV_COLUMN_TREE in a single screen Screen 100.
Funtions like Select all, Deselect All, Expand All, Colapse all are in the GUI status of this Screen 100.
<b>Q1</b>. Is it possible to have buttons on the container itself (instead of having it in the GUI status of Scr. 100) and have the above funtions work for ALV column tree .
<b>Q2.</b> There exists a check box in each row of the node in both the containers which is meant for comparing data between two containers.
e.g the user Checks one row of the first container (ALV tree output) and another in 2nd container and press Compare button which is present in Scr 100 GUI status.
When the ckeck box is selected the rows are being selected, this is done in CheckBoX Change event of CL_GUI_ALV_COLUMN_TREE. Now when the Deselect ALL button is clicked rows are getting deselected but check marks are not getting cleared from the check box.
How can the check box be cleared when we press Deselect All button which is in GUI Status of Scr 100.?
Thanks n Regards

Hello Mahesh
Assuming that you are dealing with class
CL_GUI_ALV_TREE (because I cannot find class CL_GUI_ALV_COLUMN_TREE) sample report BCALV_TREE_04 shows how to add a button to the toolbar.
The crucial points can be found in routine CHANGE_TOOLBAR: 
form change_toolbar.
* §1.Get toolbar instance of your ALV Tree.
* When you instantiate an instance of CL_GUI_ALV_TREE the constructor
* of the base class (CL_ALV_TREE_BASE) creates a toolbar.
* Fetch its reference with the following method if you want to
* modify it:
  call method g_alv_tree->get_toolbar_object
          importing
              er_toolbar = g_toolbar.
  check not g_toolbar is initial. "could happen if you do not use the
                                  "standard toolbar
* §2.Modify toolbar with methods of CL_GUI_TOOLBAR:
* add seperator to toolbar
  call method g_toolbar->add_button
          exporting
              fcode     = ''
              icon      = ''
              butn_type = cntb_btype_sep.
* add Standard Button to toolbar (for Delete Subtree)
  call method g_toolbar->add_button
          exporting
              fcode     = 'DELETE'
              icon      = '@11@'
              butn_type = cntb_btype_button
              text      = ''
              quickinfo = text-901.   "Delete subtree
endform.
Regards
  Uwe

Similar Messages

  • Study Material on Alv Column Tree required.

    Hello friends,
    Pls let me know the links where I can get information regarding alv column tree creation. If u have any study material regarding the same then do forward me that too.
    Waiting for ur reply,
    Sweta.

    Hello Sweta,
    http://www1.sapdesignguild.org/resources/MiniSG/3_Managing/3_Overview_Tree_Variants.htm
    http://www1.sapdesignguild.org/resources/MiniSG/3_Managing/3_Design_Layout.htm
    <b>Check this demo program:</b>
    SAPCOLUMN_TREE_CONTROL_DEMO
    <b>
    Sample code:</b>
    http://www.geocities.com/victorav15/sapr3/utilities/zvvooa3.txt
    Regards,
    Beejal
    **Reward if this helps

  • Issue with custom toolbar button in alv and leave screen

    Hi,
    in one subscreen (say screen 100)i have an alv with custom ADD  toolbar button..so in the user_command event handler ,i call a antoher screen(dialogue)..like if i click on ADD button ,it should display dialogue screen(say 200) and after entering input in dialogue screen i click on CONINUE to retrun to screen 100..problem is for the first time i click on ADD button its working fine ,succesffyuly returned to screen 100...but for the second time i click on add button , i have to click on twice the CONTINUE button to retrun to screen 100..when debuggin i found the user_command event routin is executin twice ..any solution..
    Thanks,
    srini

    Apparently handler is set for every new ALV instance. This you get by executing CREATE OBJECT alv... every time PBO is raised. Ensure you are executing this statement only once duirng program lifetime. Then the system will match event handler only with one ALV instance (executing it once).
    if r_alv is not bound.
       CREATE OBJECT r_alv ...
       SET HANDLER ...
    endif.
    Regards
    Marcin

  • Drag And Drop in ALV Column Tree

    Hello All,
    Can anyone tell me the method used for  a drag and drop in a column tree....
    i found it for a simple tree but not for a column tree.....
    thanks in advance....
    Regards,
    Praveen

    Check the links -
    drag drop required for alv column!
    drag and drop in a tree
    Drag&Drop within the Tree
    Drag&Drop within a tree
    Drag and drop in ALV tree
    Regards,
    Amit
    Reward all helpful replies.

  • Editable Column in ALV Column tree model

    Hi Experts, I have created ALV tree using the class
    CL_COLUMN_TREE_MODEL
    ,i have created some columns, and now  i have to make these columns editable, Please can anyone help me resolving this.

    samthajain wrote:
    Hi Experts, I have created ALV tree using the class
    CL_COLUMN_TREE_MODEL
    ,i have created some columns, and now  i have to make these columns editable, Please can anyone help me resolving this.
    I doubt this is possible at all. Once I tried different ways of achieving editable tree, but with no luck. You can only have text fields, buttons, checkboxes (editable too) as columns but not editable input fields.
    Regards
    Marcin

  • Adding toolbar buttons in the beginning

    Hi Experts,
    Can somebody tell me how to add my own toolbar buttons in ALV in the beginning.
    When i am adding buttons using the event handler class it is adding the buttons only at the end. I want the buttons in the very beginning.

    Hi Aditya,
    I am adding toolbar buttons using the below method.
    CLASS lcl_event_receiver IMPLEMENTATION.
      METHOD handle_toolbar.
        DATA: ls_toolbar  TYPE stb_button.
    append a separator to normal toolbar
        CLEAR ls_toolbar.
        MOVE 3 TO ls_toolbar-butn_type.
        APPEND ls_toolbar TO e_object->mt_toolbar.
    append an icon to create new skills
        CLEAR ls_toolbar.
        MOVE 'CREATE'(000) TO ls_toolbar-function.
        MOVE icon_create TO ls_toolbar-icon.
        MOVE 'Create Detail'(001) TO ls_toolbar-quickinfo.
        MOVE ' ' TO ls_toolbar-disabled.
        APPEND ls_toolbar TO e_object->mt_toolbar.
    append an icon to change existing information
        CLEAR ls_toolbar.
        MOVE 'CHANGE'(003) TO ls_toolbar-function.
        MOVE icon_change TO ls_toolbar-icon.
        MOVE 'Change Detail'(004) TO ls_toolbar-quickinfo.
        MOVE ' ' TO ls_toolbar-disabled.
        APPEND ls_toolbar TO e_object->mt_toolbar.
    append an icon to display information
        CLEAR ls_toolbar.
        MOVE 'DISPLAY'(006) TO ls_toolbar-function.
        MOVE icon_display TO ls_toolbar-icon.
        MOVE 'Display Detail'(007) TO ls_toolbar-quickinfo.
        MOVE ' ' TO ls_toolbar-disabled.
        APPEND ls_toolbar TO e_object->mt_toolbar.
    append an icon to delete information
        CLEAR ls_toolbar.
        MOVE 'DELETE'(009) TO ls_toolbar-function.
        MOVE icon_delete TO ls_toolbar-icon.
        MOVE 'Delete Detail'(010) TO ls_toolbar-quickinfo.
        MOVE ' ' TO ls_toolbar-disabled.
        APPEND ls_toolbar TO e_object->mt_toolbar.
      ENDMETHOD.                    "handle_toolbar

  • Remove delete option from button 'Layout' ALV grid

    The ALV grid displays the button to change the layout (global/user specific).
    The user can create his/her own layout variant or change it. However, I would like to hide/remove the option 'Delete layout' from the possible options.
    Is this possible?
    Regards,
    Henry

    Henry,
    Since Layout DELETE button is part of another program, you can't simply exclude it from your ALV grid display.
    But, I suppose that layout deletion is possible only from the menu bar using 'Layout Management' and is not possible from the Application toolbar buttons of ALV grid. Also, all other functionalities for layout (new creation, change layout etc ) are possible without using this 'Layout Management' option from menu bar.
    So, I think you can meet your requirement hiding the 'Layout Management' option itself simply by excluding it from the grid.
    gs_excluding-fcode = '&ERW'.
      APPEND gs_excluding TO gt_excluding.
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
        EXPORTING
          it_excluding                      = gt_excluding
    BR,
    Diwakar

  • Disable button in alv tree

    Hi, I'm not able to disable a button that I added in the toolbar of an alv tree. Here is a piece of my code
    Add_Button
        data: lr_functions type ref to  cl_salv_functions_tree.
        lr_functions = mr_tree->get_functions( ).
         lr_functions->add_function(
            name     = '&OPEN_ALL'
            icon     = l_icon
            text     = l_text1
            tooltip  = l_text1
            position = if_salv_c_function_position=>right_of_salv_functions ).
    Disable_Button
      try.
        lr_functions->ENABLE_FUNCTION(
          name      = '&OPEN_ALL'
          boolean   = abap_false ).
        catch cx_salv_wrong_call CX_SALV_NOT_FOUND.
      endtry.
    Enable_function does not return an exception, so it found the button. But the button still enable. What's wrong?
    Thanks, Davy

    Hi Davy,
    I'm facing same problem as you, did you resolved it?
    My coode looks like this
    data: l_function type ref to CL_SALV_FUNCTION.
    l_function->set_enable( abap_false ).
    Thanks in advance.
    Well, it seems that i solved it.
    Instead of using
    l_function->set_enable( abap_false ).
    i used
    l_function->set_visible( abap_false ).
    Edited by: Jorge Sancho Royo on Apr 2, 2008 1:46 PM

  • Toolbar of ALV hierachy tree cumulates separators at the end

    Hi all,
    I'm using an ALV hierarchy tree on a dynpro with dynamic subscreens, where each subscreen adds one or two buttons to the standard ALV toolbar. These buttons are separated by a separator. Now the user can reset the screen with the subscreen and in this case the buttons are deleted.
    Adding the buttons and deleting the buttons work fine except that there's still a separator remaining at the end of the toolbar. If I repeat the operation, there are two separators at the end and so one.  What more, the separators are not in table M_TABLE_BUTTON.
    What am I missing here ?
    Thank for your every provided answer or help ...

    While googling I came across this method [CL_GUI_CFW=>UPDATE_VIEW|http://help.sap.com/saphelp_nw04/helpdata/en/e0/9424f7f16e11d2bdd8080009b4534c/content.htm] of the control framework class. Honestly i have never tried this method!
    Maybe u can try this. Try calling this method at the right place after u reset an instance.
    - Jose

  • 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 find function code for buttons on toolbar in oops alv

    Hi experts,
    I want to remove some buttons from toolbar in oops alv, i know the procedure like get function code and pass the value in a table and pass that table to IT_TOOLBAR_EXCLUDING of
    method set_table_for_first_display but I WANT TO KNOW HOW TO FIND FUNCTION CODE FOR BUTTONS ON TOOLBAR IN OOPS ALV

    Hi Prakash,
    -->First you have to set the pf status in your alv program by,
    {FORM pf_status USING rt_extab TYPE slis_t_extab.
      SET PF-STATUS 'FIRST'.
    ENDFORM.                    "PF_STATUS}
    -->Pass this Subroutine name in the Function module, Reuse_alv_grid_display's parameters i.e,
          i_callback_pf_status_set          = 'PF_STATUS'}
    *-->Then doble click on that pf status,
    From the menu bar, select Extras->Adjust Template->List Viewer,
    This will give you the existing statndard gui status of the program*
    ->Then catch that function codes in the User command Parameter of the Function module Reuse.. i.e,
          i_callback_user_command           = 'COMM'
    And make a subroutine of the name 'COMM'i.e,
    FORM comm USING ucomm LIKE sy-ucomm selfield TYPE slis_selfield.
      DATA: okcode TYPE sy-ucomm.
      okcode = ucomm.
      CASE okcode.
        WHEN 'REF'.
        CALL FUNCTION 'POPUP_TO_INFORM'
          EXPORTING
            titel         = 'MANSI'
            txt1          = 'CREATED BY'
            txt2          = SY-UNAME
          TXT3          = ' '
          TXT4          = ' '
    endcase.
    Hope it helps you
    Regrds
    Mansi

  • Menu Button in ALV toolbar (multiple choices for a button)

    Hi abapers,
    I would like to have a button with multiple choices in the toolbar;
    at the moment I have created a menu button with just one function.
    Here is my code:
    CLASS lcl_event_receiver (Definition)
    CLASS lcl_event_receiver DEFINITION.
      PUBLIC SECTION.
        METHODS:
        handle_toolbar
            FOR EVENT toolbar OF cl_gui_alv_grid
                IMPORTING e_object e_interactive.
    ENDCLASS.                    "lcl_event_receiver DEFINITION
    CLASS lcl_event_receiver (Implementation)
    CLASS lcl_event_receiver IMPLEMENTATION.
      METHOD handle_toolbar.
        DATA: ls_toolbar  TYPE stb_button.
    *Separator
        CLEAR ls_toolbar.
        MOVE 3 TO ls_toolbar-butn_type.
        APPEND ls_toolbar TO e_object->mt_toolbar.
    *Button
        CLEAR ls_toolbar.
        MOVE 1 TO ls_toolbar-butn_type.
        MOVE 'EDIT' TO ls_toolbar-function.
        MOVE icon_change TO ls_toolbar-icon.
        MOVE ' Modifica'(l02) TO ls_toolbar-text.
        MOVE ' ' TO ls_toolbar-disabled.
        MOVE 'Modifica' TO ls_toolbar-quickinfo.
        APPEND ls_toolbar TO e_object->mt_toolbar.
      ENDMETHOD.                    "handle_toolbar
    ENDCLASS.                    "lcl_event_receiver IMPLEMENTATION

    hi,
    check this code and reward me if it helps you..
    TYPE-POOLS : slis,icon.
    *Structure declaration for tcodes
    TYPES : BEGIN OF ty_table,
            tcode TYPE tcode,
            pgmna TYPE progname,
            END OF ty_table.
    *Structure for tocde text
    TYPES : BEGIN OF ty_itext,
            tcode TYPE tcode,
            ttext TYPE ttext_stct,
            sprsl TYPE sprsl,
            END OF ty_itext.
    *Structure for output display
    TYPES : BEGIN OF ty_output,
            tcode TYPE tcode,
            pgmna TYPE progname,
            ttext TYPE ttext_stct,
           END OF ty_output.
    *internal table and work area declarations
    DATA : it_table TYPE STANDARD TABLE OF ty_table INITIAL SIZE 0,
           it_output TYPE STANDARD TABLE OF ty_output INITIAL SIZE 0,
           it_ittext TYPE STANDARD TABLE OF ty_itext INITIAL SIZE 0,
           wa_table TYPE ty_table,
           wa_output TYPE ty_output,
           wa_ittext TYPE ty_itext.
    *Class definition for ALV toolbar
    CLASS:      lcl_alv_toolbar   DEFINITION DEFERRED.
    *Declaration for toolbar buttons
    DATA : ty_toolbar TYPE stb_button.
    Data declarations for ALV
    DATA: c_ccont TYPE REF TO cl_gui_custom_container,   "Custom container object
          c_alvgd         TYPE REF TO cl_gui_alv_grid,   "ALV grid object
          it_fcat            TYPE lvc_t_fcat,            "Field catalogue
          it_layout          TYPE lvc_s_layo,            "Layout
          c_alv_toolbar    TYPE REF TO lcl_alv_toolbar,           "Alv toolbar
          c_alv_toolbarmanager TYPE REF TO cl_alv_grid_toolbar_manager.  "Toolbar manager
    *Initialization event
    INITIALIZATION.
    *Start of selection event
    START-OF-SELECTION.
    *Subroutine to get values from tstc table
      PERFORM fetch_data.
    *subroutine for alv display
      PERFORM alv_output.
          CLASS lcl_alv_toolbar DEFINITION
          ALV event handler
    CLASS lcl_alv_toolbar DEFINITION.
      PUBLIC SECTION.
    *Constructor
        METHODS: constructor
                   IMPORTING
                     io_alv_grid TYPE REF TO cl_gui_alv_grid,
    *Event for toolbar
        on_toolbar
           FOR EVENT toolbar
           OF  cl_gui_alv_grid
           IMPORTING
             e_object.
    ENDCLASS.                    "lcl_alv_toolbar DEFINITION
          CLASS lcl_alv_toolbar IMPLEMENTATION
          ALV event handler
    CLASS lcl_alv_toolbar IMPLEMENTATION.
      METHOD constructor.
      Create ALV toolbar manager instance
        CREATE OBJECT c_alv_toolbarmanager
          EXPORTING
            io_alv_grid      = io_alv_grid.
       ENDMETHOD.                    "constructor
      METHOD on_toolbar.
      Add customized toolbar buttons.
      variable for Toolbar Button
          ty_toolbar-icon      =  icon_generate.
        ty_toolbar-butn_type = 0.
        ty_toolbar-text = 'Button1'.
          APPEND ty_toolbar TO e_object->mt_toolbar.
          ty_toolbar-icon      =  icon_voice_output.
        ty_toolbar-butn_type = 0.
        ty_toolbar-text = 'Button2'.
           APPEND ty_toolbar TO e_object->mt_toolbar.
         ty_toolbar-icon      =  icon_phone.
        ty_toolbar-butn_type = 0.
        ty_toolbar-text = 'Button3'.
           APPEND ty_toolbar TO e_object->mt_toolbar.
         ty_toolbar-icon      =  icon_mail.
        ty_toolbar-butn_type = 0.
        ty_toolbar-text = 'Button4'.
           APPEND ty_toolbar TO e_object->mt_toolbar.
       ty_toolbar-icon      =  icon_voice_input.
        ty_toolbar-butn_type = 0.
        ty_toolbar-text = 'Button5'.
         APPEND ty_toolbar TO e_object->mt_toolbar.
      Call reorganize method of toolbar manager to
      display the toolbar
         CALL METHOD c_alv_toolbarmanager->reorganize
          EXPORTING
            io_alv_toolbar = e_object.
       ENDMETHOD.                    "on_toolbar
    ENDCLASS.                    "lcl_alv_toolbar IMPLEMENTATION
    *&      Form  fetch_data
          text
    -->  p1        text
    <--  p2        text
    FORM fetch_data .
    Select the tcodes upto 200 rows from TSTC
       SELECT   tcode
               pgmna
               FROM tstc
               INTO CORRESPONDING FIELDS OF TABLE it_table
               UP TO 200 ROWS
               WHERE dypno NE '0000'.
    *Select the tcode textx
       IF it_table[] IS NOT INITIAL.
         SELECT ttext
               tcode
               sprsl
               FROM tstct
               INTO CORRESPONDING FIELDS OF TABLE it_ittext
               FOR ALL ENTRIES IN it_table
               WHERE tcode = it_table-tcode
               AND sprsl = 'E'.
       ENDIF.
    Apppending the data to the internal table of ALV output
       LOOP AT it_table INTO wa_table.
        wa_output-tcode = wa_table-tcode.
        wa_output-pgmna = wa_table-pgmna.
       For texts
        READ TABLE it_ittext INTO wa_ittext WITH KEY tcode = wa_table-tcode.
        wa_output-ttext = wa_ittext-ttext.
         APPEND wa_output TO it_output.
        CLEAR wa_output.
       ENDLOOP.
       ENDFORM.                    " fetch_data
    *&      Form  alv_output
          text
    -->  p1        text
    <--  p2        text
    FORM alv_output .
    *Calling the ALV
      CALL SCREEN 0600.
      ENDFORM.                    " alv_output
    Calling the ALV screen with custom container
    On this statement double click  it takes you to the screen painter SE51.Enter the attributes
    *Create a Custom container and name it CC_CONT and OK code as OK_CODE.
    *Save check and Activate the screen painter.
    Now a normal screen with number 600 is created which holds the ALV grid. PBO of the actual screen , Here we can give a title and *customized menus
    *&      Module  STATUS_0600  OUTPUT
          text
    MODULE status_0600 OUTPUT.
    SET PF-STATUS 'xxxxxxxx'.
    SET TITLEBAR 'xxx'.
    ENDMODULE.                 " STATUS_0600  OUTPUT
    calling the PBO module ALV_GRID.
    *&      Module  ALV_GRID  OUTPUT
          text
    MODULE alv_grid OUTPUT.
    *create object for custom container
      CREATE OBJECT c_ccont
           EXPORTING
              container_name = 'CC_CONT'.
    *create object of alv grid
      CREATE OBJECT c_alvgd
          EXPORTING
              i_parent = c_ccont.
    create ALV event handler
      CREATE OBJECT c_alv_toolbar
        EXPORTING
          io_alv_grid = c_alvgd.
    Register event handler
      SET HANDLER c_alv_toolbar->on_toolbar FOR c_alvgd.
    Fieldcatalogue for ALV
       PERFORM alv_build_fieldcat.
    ALV attributes FOR LAYOUT
      PERFORM alv_report_layout.
       CHECK NOT c_alvgd IS INITIAL.
    Call ALV GRID
       CALL METHOD c_alvgd->set_table_for_first_display
        EXPORTING
          is_layout                     = it_layout
        CHANGING
          it_outtab                     = it_output
          it_fieldcatalog               = it_fcat
        EXCEPTIONS
          invalid_parameter_combination = 1
          program_error                 = 2
          too_many_lines                = 3
          OTHERS                        = 4.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                   WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    ENDMODULE.                 " ALV_GRID  OUTPUT
    *&      Form  alv_build_fieldcat
          text
         <--P_IT_FCAT  text
    FORM alv_build_fieldcat.
       DATA lv_fldcat TYPE lvc_s_fcat.
      CLEAR lv_fldcat.
      lv_fldcat-row_pos   = '1'.
      lv_fldcat-col_pos   = '1'.
      lv_fldcat-fieldname = 'TCODE'.
      lv_fldcat-tabname   = 'IT_OUTPUT'.
      lv_fldcat-outputlen = 8.
      lv_fldcat-scrtext_m = 'TCODE'.
      APPEND lv_fldcat TO it_fcat.
      CLEAR lv_fldcat.
       lv_fldcat-row_pos   = '1'.
      lv_fldcat-col_pos   = '2'.
      lv_fldcat-fieldname = 'PGMNA'.
      lv_fldcat-tabname   = 'IT_OUTPUT'.
      lv_fldcat-outputlen = 15.
      lv_fldcat-scrtext_m = 'PROGNAME'.
      APPEND lv_fldcat TO it_fcat.
      CLEAR lv_fldcat.
      lv_fldcat-row_pos   = '1'.
      lv_fldcat-col_pos   = '3'.
      lv_fldcat-fieldname = 'TTEXT'.
      lv_fldcat-tabname   = 'IT_OUTPUT'.
      lv_fldcat-outputlen = 60.
      lv_fldcat-scrtext_m = 'Description'.
      APPEND lv_fldcat TO it_fcat.
      CLEAR lv_fldcat.
    ENDFORM.                    " alv_build_fieldcat
    *&      Form  alv_report_layout
          text
         <--P_IT_LAYOUT  text
    FORM alv_report_layout.
       it_layout-cwidth_opt = 'X'.
       it_layout-zebra = 'X'.
    ENDFORM.                    " alv_report_layout
    PAI module of the screen created. In case we use an interactive ALV or
    *for additional functionalities we can create OK codes
    *and based on the user command we can do the coding.
    *&      Module  USER_COMMAND_0600  INPUT
          text
    MODULE user_command_0600 INPUT.
    ENDMODULE.                 " USER_COMMAND_0600  INPUT
    thanks,
    gupta

  • How to create multiple buttons in ALV Toolbar in Webdynpro ABAP

    Hi all,
    I am trying to create multiple buttons in Webdynpro  ALV toolbar, please go through the code.
    What happening is, second button is replacing the first one.
    DATA lo_cmp_usage TYPE REF TO if_wd_component_usage.
       lo_cmp_usage =   wd_this->wd_cpuse_alv_table( ).
       IF lo_cmp_usage->has_active_component( ) IS INITIAL.
         lo_cmp_usage->create_component( ).
       ENDIF.
       DATA lo_interfacecontroller TYPE REF TO iwci_salv_wd_table .
       lo_interfacecontroller =   wd_this->wd_cpifc_alv_table( ).
        DATA lv_value TYPE REF TO cl_salv_wd_config_table.
       lv_value = lo_interfacecontroller->get_model(
       DATA lr_buttonui1 TYPE REF TO cl_salv_wd_fe_button.
       DATA lr_buttonui2 TYPE REF TO cl_salv_wd_fe_button.
       DATA button1 TYPE REF TO cl_salv_wd_function.
       DATA button2 TYPE REF TO cl_salv_wd_function.
    **First button
       CREATE OBJECT lr_buttonui1.
       lr_buttonui1->set_text('Button')."setting the text of the button on alv toolbar
       button1 = lv_value->if_salv_wd_function_settings~create_function( id = 'BUTTON')."creating the function for alv button
       button1->set_editor( lr_buttonui1 ).
    **Second button
       CREATE OBJECT lr_buttonui2.
         lr_buttonui2->set_text('Button1')."setting the text of the button on alv toolbar
       button2 = lv_value->if_salv_wd_function_settings~create_function( id = 'BUTTON' )."creating the function for alv button
       button2->set_editor( lr_buttonui2 ).
    How can I overcome this??
    Thanks
    Eshwar

    Hi Eshwar,
    The button Ids are same for both the buttons in your code. You need to change it as BUTTON1, BUTTON2.
    **First button
       CREATE OBJECT lr_buttonui1.
       lr_buttonui1->set_text('Button')."setting the text of the button on alv toolbar
       button1 = lv_value->if_salv_wd_function_settings~create_function( id = 'BUTTON1')."creating the function for alv button
       button1->set_editor( lr_buttonui1 ).
    **Second button
       CREATE OBJECT lr_buttonui2.
         lr_buttonui2->set_text('Button1')."setting the text of the button on alv toolbar
       button2 = lv_value->if_salv_wd_function_settings~create_function( id = 'BUTTON2' )."creating the function for alv button
       button2->set_editor( lr_buttonui2 ).

  • Buttons on  ALV Application Toolbar

    Hi,
    I have added buttons on the Application Toolbar of the ALV (in the GUI status).
    There are a lot of buttons and due to lack of space some of the buttons go out of the screen.
    Need to know if there is a way to make these buttons scrolable or in a dorp down.
    Thanks for the help.
    Karen

    Hi Karen,
    I also faced the same issue but solved it using alternative solution.
    1) Go to PF-STATUS and create a MENU BAR.
    2) Give Appropriate NAME and inside it  write FUNCTION CODE given for buttons under "Code"
    3) Appropriate description under "Text"
    4) Save and activate.
    Now,  execute the report and even if the buttons are going out of screen, you have option to select the button from MENU BAR.
    This is the best solution for this problem as far as i know.
    Also, if you re-size your window ; the you will get tabs with drop down.
    I hope this will help you in solving your issue.
    Regards,
    Rahul Mahajan

  • Handling the Standard Toolbar Button click of an ALV

    Hi Experts,
    I have created an ALV grid output using CL_GUI_ALV_GRID with standard buttons(default) on the toolbar. When I click on any of these standard buttons, say '+' button to insert records, my custom program is not hit.
    I know there is a protected event 'TOOLBAR_BUTTON_CLICK' which I tried to handle in my program but it did not work. However, I am able to handle the public event 'DOUBLE_CLICK' of the same class 'CL_GUI_ALV_GRID'.
    So..can anyone tell how to handle this protected event OR how to handle the STANDARD buttons on ALV toolbar so that they hit my custome code.
    Thanks very much.
    Regards,
    Rudresh

    Hello Rudresh
    The point is to "re-define" the standard ok-codes of toolbar buttons:
    " Make toolbar interactive
    CALL METHO go_grid->set_toolbar_interactive( ).  " raises event TOOLBAR
    " Event handler method
    METHOD handle_toolbar.
    * define local data
      DATA: ls_button    TYPE stb_button.
    " Redefine function code
      LOOP AT e_object->mt_toolbar INTO ls_button
                      WHERE ( function = cl_gui_alv_grid=>MC_FC_LOC_INSERT_ROW ).
        ls_button-function = 'MY_FCODE'.  " triggers USER_COMMAND
        MODIFY e_object->mt_toolbar FROM ls_button INDEX syst-tabix.
      ENDLOOP.
    ENDMETHOD.
    Regards
      Uwe

Maybe you are looking for

  • How to configure the flat file in 11G

    Hi, I am using OWB 11.1.0.6.0. For a map in OWB 10G having a source a flat file. I used to go and right click on the map--> then click Configure-->then Under "Source Data File" type the file name-->then give the location details and the exact flat fi

  • Safari doesn't display page correctly

    As of recently Safari has not correctly displayed a rather important webpage, I can still use it, but it becomes rather annoying. The site is http://studentloan.citibank.com/slcsite/index.htm If I go the site in Firefox, everything is fine. In Safari

  • BAPI_MOSRVAPS_CREATESNPORDER - time zone issue

    Hi We are creating SNP Plan Orders in APO using BAPI_MOSRVAPS_CREATESNPORDER. New Order getting created using the BAPI has time stamp 23:59:59 which is taken from UTC time zone. Is there any way we can create/load SNP Plan Order with time different t

  • Password issues in email on ipad2 and iphone4 ios 5+

    I keep getting the message on both my iphone 4 and ipad 2 that they cannot get mail because my username or password for my gmail account is incorrect. I've re-entered the password a number of times both on my phone and ipad to no avail. I went throug

  • Viewing folio in Adobe Content Viewer

    I am currently populating a shared folio for a client and when I go to sign in on my Adobe Content Viewer (on my iPad), the folio is not coming up. I have double checked to make sure that the orientations are correct and they are. Is there another re