Layout selection in ALV grid.

Hi All,
I have one requirement to change the existing program. Currently it is displaying all the fields in the ALV grid. Now i need to make the selection screen with two options for Header data selection and Item data selection. So now if I select the Header data only to be displayed (in the coding I made the changes in the field catalog and hidded some fields using
                             WHEN 'FKART'
                              if p_header = 'X'.
                               <fc>-no_out = 'X'.
                              endif.
so now it should not display the FKART field in the output. My question is, If I select some different layout in the ALV GRID  even this hidden header fields are also getting displayed. Please help me and give me the solution for this.
Regards,
AL.

Hi Anbu,
You can try like this,  Modify your Col Position like this...
IF P_HEARDER = 'X'.
  COL_POS = COL_POS + 1.
  FIELDCATALOG-COL_POS     = COL_POS.
  FIELDCATALOG-FIELDNAME   = 'FKART'.
  FIELDCATALOG-OUTPUTLEN   = 10.
  FIELDCATALOG-NO_OUT     = 'X'.
  APPEND FIELDCATALOG TO FIELDCATALOG.
ELSE.
  COL_POS = COL_POS + 1.
  FIELDCATALOG-COL_POS     = COL_POS.
  FIELDCATALOG-FIELDNAME   = 'FKART'.
  FIELDCATALOG-OUTPUTLEN   = 10.
  APPEND FIELDCATALOG TO FIELDCATALOG.
ENDIF.
Thanks & regards,
Dileep .C

Similar Messages

  • What is the constant name for Change layout Button in ALV Grid ABAP Objects

    Dear All,
    I have one query please help me.
    what is the constant name for Change layout Button in ALV Grid ABAP Objects.
    With Rgds,
    Babu

    Halo Vinod,
    The consant name is cl_gui_alv_grid=>mc_fc_current_variant.
    Regards
    Arshad

  • Is it possible to transport the layouts of an alv-grid?

    Hello,
    is it possible to transport the layouts of an alv-grid and does anybody know how to do this?
    Regards, Lars.

    Hi
    LS_VARI  TYPE DISVARIANT.
      LS_VARI-REPORT      = SY-REPID.
      LS_VARI-HANDLE      = SPACE.
      LS_VARI-LOG_GROUP   = SPACE.
      LS_VARI-USERNAME    = SPACE.
      LS_VARI-VARIANT     = SPACE.
      LS_VARI-TEXT        = SPACE.
      LS_VARI-DEPENDVARS  = SPACE.
    CALL METHOD G_GRID->SET_TABLE_FOR_FIRST_DISPLAY
        EXPORTING
          IT_TOOLBAR_EXCLUDING = LT_EXCLUDE
    <b>      IS_VARIANT           = LS_VARI</b>
          IS_LAYOUT            = GS_LAYOUT
    <b>      I_SAVE               = 'A'</b>
        CHANGING
          IT_FIELDCATALOG      = IT_FIELDCAT
          IT_OUTTAB            = IT_FINAL[].
    try this
    regards
    vijay

  • Select From ALV Grid

    I'm hoping that someone can help.
    I have a program that displays an ALV grid. I want the user to be able to select one or more lines from this grid and then to pop up a box to allow them to input a new date and then update this date via BAPI.
    Could any one please point me in the right direction of how to get the info of the lines selected by the user into another internal table so that I can merge this with my new date info to run the BAPI.
    Thanks

    Which version of ALV technology do you use (REUSE_ALV, OO ALV, SALV ? ) <br />
    <br />
    e.g. for CL_GUI_ALV_GRID<br />
    - Use the <a class="jive-link-external" href="http://help.sap.com/saphelp_erp2004/helpdata/en/ef/a2e9eff88311d2b48d006094192fe3/frameset.htm" target="_newWindow">SEL_MODE</a> field of the layout to enable multiple row selection (also add a check box in internal table)<br />
    - you have method <a class="jive-link-external" href="http://help.sap.com/saphelp_erp2004/helpdata/EN/0a/b55312d30911d2b467006094192fe3/frameset.htm" target="_newWindow">GET_SELECTED_ROWS</a> and CHECK_CHANGED_DATA <br />
    <br />
    <i>Also, don't hesitate to use the search tool.there are sample in wiki like [Capture single and multiple row selction in ALV |http://wiki.sdn.sap.com/wiki/display/Snippets/Capturesingleandmultiplerowselctionin+ALV]</i><br />
    <br />
    Regards,<br />
    Raymond

  • Single selection in ALV Grid Control

    hi,
    I want to enable single row selection only in the alv grid displayed.
    attribute sel_mode of layout doesnt help.
    Can anybody provide me a solution.
    Regards,
    Auro

    Hello,
    Try this:
    DATA:gs_layout type lvc_s_layo.
    gs_layout-NO_ROWMARK = 'X'.
    call method g_grid->set_table_for_first_display
           exporting is_layout             = gs_layout
    Regards,
    Beejal
    **reward if this helps

  • Lead selection in ALV grid

    Hi.
    I am usinmg Set_table_for_first_display to display the ALV grid.
    In my ALV grid, I have a field as Flag which will show as a lead selection in the grid. Such that I have designed the field catelog and layout.
    When I select a row and click on DISPLAY button, it has to display the details.
    This I am able to do through GR_GRID->GET_SELECTED_ROWS() .
    But after displaying the data the cursor is not in the same row. Lead selection is cleared.
    I manually tied to set the FLag as X and updated the table. Even then Lead selection is not coming in the row.
    Suggestion  is very much helpul for this.
    Thanks,
    Sumithra

    DOne by using Set_selected_rows method

  • Change layout button in ALV Grids

    Hi Experts,
    I have displayed 2 ALV grids in a single screen using OOPS concepts and I have activated the Save Layout option for both the Lists.
    Now whenever I will save the layout for the 1st list then automatically it is taken into consideration for the common fields in the second list as well.
    Please help me on how I can avoid changing the 2nd list if I will change the 1st list if possible.
    Thanks in advance..
    Regards,
    Srinivas
    Edited by: Srinivas Hari on Jun 23, 2009 10:07 AM

    Hello,
    I think u can achieve that by populating
    HANDLE
    LOG_GROUP fields of Disvariant structure in u r program.
    Regards

  • How do I find an event which is triggered on line selection for ALV grid?

    Hi,
    I'm trying to find an event which is triggered when a user selects a row in the ALV grid. I want to add my own code in to add up the total values of selected lines, but can't find any event which will trigger my method.
    I found CLICK_ROW_COL but it's protected so when I try and add a method for it:
      PROTECTED SECTION.
        METHODS:
        select_row
            FOR EVENT click_row_col OF cl_gui_alv_grid.
    I get the syntax error:
    Access to protected event "CLICK_ROW_COL" is not allowed.
    Am I using the right event? Am I implementing it correctly?
    Any help appreciated. Thanks in advance.
    Gill

    I chose to solve this by removing the line select buttons from the ALV and replacing them with a checkbox defined as a hotspot.  I then used EVENT hotspot_click FROM cl_gui_alv_grid to highlight the line and change my totals on a single click.

  • Multi Line Selection with ALV Grid

    Dear all
    what do I have to do to make multiple line selection available in an ALV Grid (Version 4.7)?
    Herbert

    Hi Herbert again,
    Once you displayed your alv output display, then select rows in the alv display.
    then when you click for interactive buttion (ie. like Refresh functionality), In debug mode you can see internal table with Sell field active (i.e. marked "X") which you have selected.
    e.g.
    FORM user_command USING lv_ucomm TYPE sy-ucomm ls_selfield TYPE slis_selfield.
      DATA:
            lv_ref_grid   TYPE REF TO cl_gui_alv_grid.
      CLEAR : gv_tcode.
    *-- to ensure that only new processed data is displayed
      IF lv_ref_grid IS INITIAL.
        CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
          IMPORTING
            e_grid = lv_ref_grid.
      ENDIF.
      IF NOT lv_ref_grid IS INITIAL.
        CALL METHOD lv_ref_grid->check_changed_data.
      ENDIF.
      CASE lv_ucomm.
        WHEN '&IC1'.
          IF ls_selfield-fieldname = 'MATNR'.
            READ TABLE gt_gi INTO gs_gi INDEX ls_selfield-tabindex.
            IF sy-subrc = 0.
              gv_tcode = 'MMBE'.
              SET PARAMETER ID 'MAT' FIELD gs_gi-matnr.
              CALL TRANSACTION gv_tcode AND SKIP FIRST SCREEN. "#EC CI_CALLTA "MMBE
            ENDIF.
          ENDIF.
        WHEN 'COPY'.
          LOOP AT gt_gi INTO gs_gi WHERE sel = 'X'.
            gs_gi-sel = ' '.
            APPEND gs_gi TO gt_gi.
            CLEAR gs_gi.
          ENDLOOP.
        WHEN 'POST'.
          REFRESH : gt_error[].
        WHEN OTHERS.
      ENDCASE.
    ENDFORM.                    " USER_COMMAND
    I hope you clear now.
    Feel free to ask any doubts.
    Thanks and regards,
    Vijay

  • Single row select in ALV Grid

    HI,
    I want to make my ALV Grid only single row select enabled, can some one guide me which variable should be set for the same.
    Thanks and Regards,
    Harsh

    If you are using OO for alv then
      call method grid1->get_selected_rows
        importing
          et_index_rows = i_sel_alvrows[].
      call method cl_gui_cfw=>flush.
      describe table i_sel_alvrows lines v_dbcnt.
      if i_sel_alvrows[] is initial.
    * Info message : Please select a row
        message i176.                        " Please select a row'.
      endif.
      if v_dbcnt gt 1.
    * Info message : Multiple Row Selection not  possible
        message i177.                        " Multiple Row Selection not
        " possible'
      endif.
    or if your using REUSE then
    form user_command using p_ucomm type sy-ucomm
                         rs_selfield type  slis_selfield.
    " Check the rs_selfield-tabindex value here
    " you may get some clue here
    endform.

  • Row Selection in ALV Grid created using CL_GUI_ALV_GRID

    Hi,
    I have ALV grid using cl_gui_alv_grid. I want to capture the row selection and display the selected rows in 2nd ALV grid (using cl_gui_alv_grid).
    Method CALL METHOD Grid->get_selected_rows giving right no. of selected records first time and process these records by POST button and hence shows these records in next alv grid. but when i came back to 1st ALV by pressing BACK button on 2nd ALV then if I again select records on the same 1st ALV grid the same Method CALL METHOD Grid->get_selected_rows fires again. but this times it wouldn't give the selected records. I mean first time this gives me correct no. of selected records but 2nd time wouldn't.
    how do I capture the row selection.?
    Kindly suggest me. helpful answer will be appreciated.
    Thanx in Advance.
    Robin

    Hi,
    Write this code, you have to free the container.
    MODULE user_command_0101 INPUT.
      CASE sy-ucomm.
        WHEN 'BACK'.
           c_container->free( ).
           c_container1->free( ). " this is the container of secondary list.
           clear: r_grid,  r_grid1, c_container, c_container1.
          LEAVE TO SCREEN 100.
      ENDCASE.
    Regards and Best wishes.

  • Multiple Selection in ALV grid

    HI All,
    I am displaying output using ALV grid method. On screen i am selecting multiple rows & based on selection i want process further. How can i determine whcih rows user has selected ?
    Regards,
    Rahul

    Hi,
    In IT_FIELDCAT you can pass one field with attributes of check box.
    for example.
    Declare:
    DATA: GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
    FIELDCAT_LN LIKE LINE OF GT_FIELDCAT.
    Pass the below values.
    FIELDCAT_LN-FIELDNAME = 'CHECK'.
    FIELDCAT_LN-TABNAME = 'ITAB1'.
    FIELDCAT_LN-KEY = ' '. "SUBTOTAL KEY
    FIELDCAT_LN-NO_OUT = ' '.
    FIELDCAT_LN-SELTEXT_L = 'Check Box'.
    FIELDCAT_LN-CHECK-BOX = 'X'.
    APPEND FIELDCAT_LN TO GT_FIELDCAT.
    <b>rEWARD IF USEFULL</b>

  • Disabling "Default layout setting" in ALV grid display

    Hello,
       We have a requirement where we need to disable layout default settings in ALV grid display.
       Only certain users should be able to save the report layout as default.
       We would be creating an authorization group for this and then based on the Authority check we would need to enable or disable Default layout save option.
      I found that using I_SAVE in the FM "REUSE_ALV_GRID_DISPLAY", we can either enable or disable layout save option.
      But our requirement is to disable Default layout save option based on the authority check.
      We will find this option next to User specific option when we save the report layout.
      Can anyone guide me on this?
      Thanks,
    Regards,
    Anid

    Hi Anid,
    First of all check if you can do this excluding the buttons from the ALV with the excluding tab. If not, here is the code for the ALV OO to exclude the buttons.
    FORM F_DISPLAY_ALV.
    * Layout
    PERFORM f_layout.
    * Exclude Buttons
    DATA:  gt_excl           TYPE ttb_button
    REFRESH gt_excl.
    * Append those you want to exclude. These are some of them. Check Class in SE24 -> Atributes of class cl_gui_alv_grid.
    APPEND: cl_gui_alv_grid=>mc_fc_loc_cut            TO gt_excl,
            cl_gui_alv_grid=>mc_fc_loc_undo           TO gt_excl,
            cl_gui_alv_grid=>mc_fc_loc_copy           TO gt_excl,
            cl_gui_alv_grid=>mc_fc_loc_paste          TO gt_excl,
            cl_gui_alv_grid=>mc_fc_loc_copy_row       TO gt_excl,
            cl_gui_alv_grid=>mc_fc_loc_move_row       TO gt_excl,
            cl_gui_alv_grid=>mc_fc_loc_delete_row     TO gt_excl,
            cl_gui_alv_grid=>mc_fc_loc_insert_row     TO gt_excl,
            cl_gui_alv_grid=>mc_fc_loc_append_row     TO gt_excl,
            cl_gui_alv_grid=>mc_fc_loc_paste_new_row  TO gt_excl,
            cl_gui_alv_grid=>mc_fc_to_office          TO gt_excl,
            cl_gui_alv_grid=>mc_fc_expcrdesig         TO gt_excl.
    CALL METHOD gv_alv_grid->set_table_for_first_display
        EXPORTING
          it_toolbar_excluding       = gt_excl[]
          is_layout                     = wa_layout_main
          is_variant                    = wa_variant
          i_save                        = 'A'
        CHANGING
          it_outtab                     = gt_alv[]
          it_fieldcatalog               = gt_fieldcat[]
          it_sort                       = gt_sort[].
    Edited by: Ernesto Caballero on Mar 11, 2010 5:59 PM
    Edited by: Ernesto Caballero on Mar 11, 2010 6:03 PM

  • Change layout Button In ALV Grid

    Hi all,
    I have a requirement where I am creating Field Catalogue from Z Table(has 60 fields) for few(12) fields.
    The user would like to have the option to add more fields by changing the Layout. But I dont see the Fields in Hidden Column when I click the Change Layout Button in ALV Toolbar. It just displays the Field based on Field Catalogue defined.
    Is there a way I can maintain all the fields without being displayed in ALV initally and letting the user select the hidden fields as per their requirement. As happens in SE16 where we can select the fields to be displayed.
    Thanks for the support.

    Hi Abhilasha,
    In the reuse_alv function module we can see a field I_SAVE.If you pass this as 'X' then the option of saving the layout variants are available.
    Create a layout by,selecting just the fileds required for display and set it as the default variant.It can be made Global or user-specific.But  we need to declare all fields in the fieldcatalog.
    So if the default variant is set,everytime the program is run it shows only the fields selected in it but can select more form the change layout option.
    Hope it helps.
    Regards
    Byju

  • How to sense which lines are selected in ALV grid with Reuse FM.

    Hi!;
    with the help of the forum I have developed a ALV grid whose first column is a editable checkbox.
    The user click some of the lines on the ALV grid and I added an additional button on the tooolbar named "ACCEPT".
    When the button ACCEPT is clicked I want to get the lines whose checkbox is checked.
    How can I do that ?
    Making the first column (Checkbox column ) hotspot of no help.
    Would you please help me ?
    Erkan
    Moderator message: please search for available information/documentation.
    Edited by: Thomas Zloch on Sep 14, 2011 3:05 PM

    hi,
    you can refer the below link:
    /thread/492162 [original link is broken]

Maybe you are looking for