<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: ALV oops checkboxes select all in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-oops-checkboxes-select-all/m-p/3422790#M822071</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;lol&lt;/P&gt;&lt;P&gt;Thanx Jimbo&lt;/P&gt;&lt;P&gt;For Now Iam going with the bcalv_edit05 method. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Probably there is a better way to do it in the salv class, i will try using that in a loc prg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanx again&lt;/P&gt;&lt;P&gt;Rgds&lt;/P&gt;&lt;P&gt;Sameer&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 20 Feb 2008 14:46:44 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-02-20T14:46:44Z</dc:date>
    <item>
      <title>ALV oops checkboxes select all</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-oops-checkboxes-select-all/m-p/3422781#M822062</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi guys&lt;/P&gt;&lt;P&gt;My problem is&lt;/P&gt;&lt;P&gt;I have created an alv with checkboxes using oops.&lt;/P&gt;&lt;P&gt;It has checkboxes, I have been told to add a functionality to select all checkboxes in one go, I know we can do this by looping at the final table and assigning an 'X' to the checkbox field and then refreshing the table by using the refresh method.&lt;/P&gt;&lt;P&gt;That is working fine,&lt;/P&gt;&lt;P&gt;What my problem is that this is a huge internal table , with thousands of records, if a user selects check all the total loop on the final table can run into performance issues.&lt;/P&gt;&lt;P&gt;Is there a better way of achieving this using oops?&lt;/P&gt;&lt;P&gt;Please Help people.&lt;/P&gt;&lt;P&gt;Rgds&lt;/P&gt;&lt;P&gt;Sameer&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 16 Feb 2008 00:15:21 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-oops-checkboxes-select-all/m-p/3422781#M822062</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-16T00:15:21Z</dc:date>
    </item>
    <item>
      <title>Re: ALV oops checkboxes select all</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-oops-checkboxes-select-all/m-p/3422782#M822063</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;while defining the internal table define the box field this way &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt; data: begin of itab occurs 0,
        box type char01 value 'X',
.................
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope That Helps&lt;/P&gt;&lt;P&gt;Anirban M.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 16 Feb 2008 13:27:55 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-oops-checkboxes-select-all/m-p/3422782#M822063</guid>
      <dc:creator>former_member480923</dc:creator>
      <dc:date>2008-02-16T13:27:55Z</dc:date>
    </item>
    <item>
      <title>Re: ALV oops checkboxes select all</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-oops-checkboxes-select-all/m-p/3422783#M822064</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi there-- I don't think you've actually understood the question.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;What the original poster wants is to be able to optionally select all the rows for processing.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN __default_attr="blue" __jive_macro_name="color"&gt;
&lt;SPAN __default_attr="15" __jive_macro_name="size"&gt;
&lt;STRONG&gt;If there are hundreds (or even thousands) of lines then manually selecting these will be a real pain.&lt;/STRONG&gt;

&lt;STRONG&gt;I don't think that the original poster wanted the rows to be always permenantly slected.&lt;/STRONG&gt;

&lt;STRONG&gt;This program quickly demos the principle&lt;/STRONG&gt;
&lt;STRONG&gt;If you hit the SELECT ALL ROWS button then all rows are selected.&lt;/STRONG&gt;

&lt;STRONG&gt;If you DESELECT ALL ROWS then control is returned to the ist line and you can start again etc.&lt;/STRONG&gt;
&lt;/SPAN&gt;
&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Before using the program make a standard screen with SE51 with a single elemnt on it a custom control called CCONTAINER1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Make also a standard status (SE41) 001 with three standard buttons on it BACK, CANCEL and EXIT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now copy this code&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;(I've left various break points in it)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;

PROGRAM zzz_simple_editable_grid.
INCLUDE &amp;lt;icon&amp;gt;.
DATA grid1 TYPE REF TO cl_gui_alv_grid.
DATA grid2 TYPE ref to cl_gui_alv_grid.
DATA: es_row_no TYPE lvc_s_roid,
     ls_row_id  TYPE lvc_s_row,
     ls_col_id TYPE  lvc_s_col,
     ls_row    TYPE i,
     ls_value  TYPE c,
     ls_col    TYPE i,
     ls_row_no  TYPE lvc_s_roid.
types: row_table type table of lvc_s_roid.
data t_rows type row_table.

data: begin of wa_rows,
        ROW_ID  type int4,
        SUB_ROW_ID type int4,
      end of wa_rows.

data: t_index  type int4.
data: t_size  type int4.
CLASS lcl_event_handler DEFINITION .
  PUBLIC SECTION .
    METHODS:
**Hot spot Handler
    handle_hotspot_click FOR EVENT hotspot_click OF cl_gui_alv_grid
                      IMPORTING e_row_id e_column_id es_row_no,
**Double Click Handler
    handle_double_click FOR EVENT double_click OF cl_gui_alv_grid
                                    IMPORTING e_row e_column es_row_no,
** Toolbar handler.
 handle_toolbar
        FOR EVENT toolbar OF cl_gui_alv_grid
            IMPORTING e_object e_interactive,
* button press
    handle_user_command
        FOR EVENT user_command OF cl_gui_alv_grid
            IMPORTING e_ucomm,
* data changed
 handle_data_changed
    for event data_changed of cl_gui_alv_grid
      importing er_data_changed,
*data changed finished
 handle_data_changed_finished
     for event data_changed of cl_gui_alv_grid.


ENDCLASS.                    "lcl_event_handler DEFINITION


CLASS lcl_event_handler IMPLEMENTATION.

*Handle Hotspot Click
  METHOD handle_hotspot_click .
    PERFORM mouse_click
      USING e_row_id
            e_column_id.
    CALL METHOD grid1-&amp;gt;get_current_cell
       IMPORTING
         e_row     = ls_row
         e_value   = ls_value
         e_col     = ls_col
         es_row_id = ls_row_id
        es_col_id = ls_col_id
        es_row_no = es_row_no.


    CALL METHOD grid1-&amp;gt;refresh_table_display.
    CALL METHOD grid1-&amp;gt;set_current_cell_via_id

  EXPORTING
    is_column_id =  e_column_id
    is_row_no  =  es_row_no.



  ENDMETHOD.                    "lcl_event_handler

*Handle Double Click
  METHOD  handle_double_click.

    PERFORM double_click
       USING e_row
       e_column.

    CALL METHOD grid1-&amp;gt;get_current_cell
    IMPORTING
    e_row     = ls_row
    e_value   = ls_value
    e_col     = ls_col
    es_row_id = ls_row_id
   es_col_id = ls_col_id
   es_row_no = es_row_no.

    CALL METHOD grid1-&amp;gt;refresh_table_display.

    CALL METHOD grid1-&amp;gt;set_current_cell_via_id

  EXPORTING
    is_column_id =  ls_col_id
    is_row_no  =  es_row_no.



  ENDMETHOD.

  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-&amp;gt;mt_toolbar.
* append an icon for your function
    CLEAR ls_toolbar.
    MOVE 'FUNC' TO ls_toolbar-function.
    MOVE icon_railway TO ls_toolbar-icon.
    MOVE 'Your Function' TO ls_toolbar-quickinfo.
    MOVE 'Your user function' TO ls_toolbar-text.
    MOVE ' ' TO ls_toolbar-disabled.
    APPEND ls_toolbar TO e_object-&amp;gt;mt_toolbar.
* Select All Rows
   Move 'SELE' to ls_toolbar-function.
   move icon_select_all to ls_toolbar-icon.
   move 'Select all' to ls_toolbar-quickinfo.
   MOVE 'Select entire Grid' TO ls_toolbar-text.
   MOVE ' ' TO ls_toolbar-disabled.
   APPEND ls_toolbar TO e_object-&amp;gt;mt_toolbar.

* Deselect all Rows.
 Move 'DSEL' to ls_toolbar-function.
   move icon_deselect_all to ls_toolbar-icon.
   move 'Deselect all' to ls_toolbar-quickinfo.
   MOVE 'Deselect entire Grid' TO ls_toolbar-text.
   MOVE ' ' TO ls_toolbar-disabled.
   APPEND ls_toolbar TO e_object-&amp;gt;mt_toolbar.

  ENDMETHOD.
  METHOD handle_user_command.
    BREAK-POINT 1.
    CASE e_ucomm.
      WHEN 'FUNC'.    "Your button
* Perform what you need to do.
When 'SELE'.
 perform select_all_rows.
When 'DSEL'.
 perform deselect_all_rows.

      WHEN OTHERS.
    ENDCASE.
  ENDMETHOD.

  method handle_data_changed.
  perform data_changed using er_data_changed.

  endmethod.                    "data_changed

  method handle_data_changed_finished.
    perform data_changed_finished.
  endmethod.                    "data_changed_finished

ENDCLASS.

* Define any structure
TYPES:  BEGIN OF s_elements,
  vbeln   TYPE vapma-vbeln,
  posnr   TYPE vapma-posnr,
  matnr   TYPE vapma-matnr,
  kunnr   TYPE vapma-kunnr,
  werks   TYPE vapma-werks,
  vkorg   TYPE vapma-vkorg,
  vkbur   TYPE vapma-vkbur,
  status  TYPE c,

END OF  s_elements.

* end of your structure
DATA:wa_elements TYPE s_elements.
DATA: ord_nr TYPE vapma-vbeln,
      mat_nr TYPE vapma-matnr,
      cus_nr TYPE vapma-kunnr.


DATA lr_rtti_struc TYPE REF TO cl_abap_structdescr .
DATA:
    zog                     LIKE LINE OF lr_rtti_struc-&amp;gt;components .
DATA:
  zogt                    LIKE TABLE OF zog,
wa_it_fldcat TYPE lvc_s_fcat,
it_fldcat TYPE lvc_t_fcat ,
dy_line            TYPE REF TO data,
dy_table           TYPE REF TO data.


DATA:  dref               TYPE REF TO data.

FIELD-SYMBOLS: &amp;lt;fs&amp;gt; TYPE ANY,
   &amp;lt;dyn_table&amp;gt;    TYPE  STANDARD TABLE,
   &amp;lt;dyn_wa&amp;gt;.

DATA grid_container1 TYPE REF TO cl_gui_custom_container .
DATA grid_container2 type ref to cl_gui_custom_container.
DATA: g_handler TYPE REF TO lcl_event_handler. "handler

DATA: ok_code TYPE sy-ucomm.
DATA: struct_grid_lset TYPE lvc_s_layo.
START-OF-SELECTION.
*now I want to build a field catalog
* First get your data structure into a field symbol

  CREATE DATA dref TYPE s_elements.
  ASSIGN dref-&amp;gt;* TO &amp;lt;fs&amp;gt;.

  lr_rtti_struc ?= cl_abap_structdescr=&amp;gt;describe_by_data( &amp;lt;fs&amp;gt; ).

* Now get the structure details into a table.
* table zogt[] contains the structure details
* From which we can build the field catalog

  zogt[]  = lr_rtti_struc-&amp;gt;components.
  LOOP AT zogt INTO zog.
    CLEAR wa_it_fldcat.
    wa_it_fldcat-fieldname = zog-name .
    wa_it_fldcat-datatype = zog-type_kind.
    wa_it_fldcat-inttype = zog-type_kind.
    wa_it_fldcat-intlen = zog-length.
    wa_it_fldcat-decimals = zog-decimals.
    wa_it_fldcat-coltext = zog-name.
    wa_it_fldcat-lowercase = 'X'.
    IF wa_it_fldcat-fieldname = 'VBELN'.
      wa_it_fldcat-hotspot = 'X'.
    ENDIF.
    APPEND wa_it_fldcat TO it_fldcat.

  ENDLOOP.
*
* You can perform any modifications / additions to your field catalog
* here such as your own column names etc.

* Now using the field catalog created above we can
* build a dynamic table
* and populate it

* First build the dynamic table
* the table will contain entries for
* our structure defined at the start of the program

  CALL METHOD cl_alv_table_create=&amp;gt;create_dynamic_table
         EXPORTING
              it_fieldcatalog = it_fldcat
         IMPORTING
              ep_table = dy_table.


  ASSIGN dy_table-&amp;gt;* TO &amp;lt;dyn_table&amp;gt;.
  CREATE DATA dy_line LIKE LINE OF &amp;lt;dyn_table&amp;gt;.
  ASSIGN dy_line-&amp;gt;* TO &amp;lt;dyn_wa&amp;gt;.

* Now fill our table with data

  SELECT vbeln posnr matnr kunnr werks vkorg vkbur
         UP TO 200 ROWS
         FROM vapma
         INTO  CORRESPONDING FIELDS OF TABLE &amp;lt;dyn_table&amp;gt;.

* Call the screen to display the grid
  CALL SCREEN 100.


form select_all_rows.
describe table &amp;lt;dyn_table&amp;gt; lines t_size.
t_index = 1.
while t_index le t_size.
clear wa_rows.
wa_rows-row_id = t_index.
append wa_rows to t_rows.
t_index = t_index + 1.
endwhile.
call method grid1-&amp;gt;set_selected_rows
 exporting
   it_row_no = t_rows.
endform.


form deselect_all_rows.
describe table &amp;lt;dyn_table&amp;gt; lines t_size.
t_index = 1.
refresh t_rows.
clear wa_rows.
wa_rows-row_id = t_index.
append wa_rows to t_rows.
call method grid1-&amp;gt;set_selected_rows
 exporting
   it_row_no = t_rows.
endform.


FORM double_click
USING e_row   TYPE lvc_s_row
e_column      TYPE lvc_s_col.
  READ TABLE &amp;lt;dyn_table&amp;gt; INDEX e_row INTO wa_elements.

  CASE e_column-fieldname.
    WHEN 'MATNR'.
      mat_nr = wa_elements-matnr.
      SET PARAMETER ID 'MAT'  FIELD mat_nr.
      CALL TRANSACTION  'MM03' AND SKIP FIRST SCREEN.
    WHEN 'KUNNR'.
      cus_nr = wa_elements-kunnr.
      SET PARAMETER ID 'KUN'  FIELD cus_nr.
      CALL TRANSACTION  'XD03' AND SKIP FIRST SCREEN.
    WHEN OTHERS.
  ENDCASE.
  wa_elements-status = 'V'.
  MODIFY &amp;lt;dyn_table&amp;gt; FROM wa_elements INDEX e_row.

ENDFORM.

FORM mouse_click
  USING e_row TYPE lvc_s_row
        e_column_id TYPE  lvc_s_col.
  READ TABLE &amp;lt;dyn_table&amp;gt; INDEX e_row INTO wa_elements.


  ord_nr = wa_elements-vbeln.
  SET PARAMETER ID 'AUN'  FIELD ord_nr.

  CALL TRANSACTION  'VA03' AND SKIP FIRST SCREEN.
  wa_elements-status = 'V'.
  MODIFY &amp;lt;dyn_table&amp;gt; FROM wa_elements INDEX e_row.

ENDFORM.

form data_changed
  using er_data_changed.

  break-point 1.
endform.
form data_changed_finished.


  break-point 1.
endform.


form instantiate_grid
   using  grid_container  type REF TO cl_gui_custom_container
          class_object  type ref to cl_gui_alv_grid
          container_name type SCRFNAME.

          CREATE OBJECT grid_container
              EXPORTING
                container_name = container_name.
       CREATE OBJECT  class_object
       EXPORTING
          i_parent = grid_container.

         struct_grid_lset-sel_mode = 'D'.
  CREATE OBJECT g_handler.
  SET HANDLER g_handler-&amp;gt;handle_double_click FOR class_object.
  SET HANDLER g_handler-&amp;gt;handle_hotspot_click FOR class_object.
  SET HANDLER g_handler-&amp;gt;handle_toolbar FOR class_object.
  SET HANDLER g_handler-&amp;gt;handle_user_command FOR class_object.
  SET HANDLER g_handler-&amp;gt;handle_data_changed FOR class_object.
  SET HANDLER g_handler-&amp;gt;handle_data_changed_finished FOR class_object.
  CALL METHOD class_object-&amp;gt;register_edit_event
       EXPORTING
          i_event_id = cl_gui_alv_grid=&amp;gt;mc_evt_enter.
       CALL METHOD class_object-&amp;gt;set_table_for_first_display
    EXPORTING is_layout =  struct_grid_lset
    CHANGING
               it_outtab       = &amp;lt;dyn_table&amp;gt;
               it_fieldcatalog = it_fldcat.

endform.


* PBO module

MODULE status_0100 OUTPUT.

    IF grid_container1 IS INITIAL.
  perform instantiate_grid
     using grid_container1
           grid1
           'CCONTAINER1'.
     endif.


    SET PF-STATUS '001'.
  SET TITLEBAR '000'.

ENDMODULE.

* PAI module

MODULE user_command_0100 INPUT.
  CASE sy-ucomm.
    WHEN 'BACK'.
      LEAVE PROGRAM.
    WHEN 'EXIT'.
      LEAVE PROGRAM.
    WHEN 'RETURN'.
      LEAVE PROGRAM.
    WHEN OTHERS.
  ENDCASE.
ENDMODULE.

&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;jimbo&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 18 Feb 2008 11:01:36 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-oops-checkboxes-select-all/m-p/3422783#M822064</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-18T11:01:36Z</dc:date>
    </item>
    <item>
      <title>Re: ALV oops checkboxes select all</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-oops-checkboxes-select-all/m-p/3422784#M822065</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hey james&lt;/P&gt;&lt;P&gt;You got my problem spot on&lt;/P&gt;&lt;P&gt;But the ur code is great for selecting all rows and i need to select all the checkboxes, and also the while that is used there in ur code will loop as many times as the no of records in my table, i agree its still better than looping on the internal table itself but still it will thousands of times nevertheless.&lt;/P&gt;&lt;P&gt;I am looking for some standard method in cl_gui_alv_grid or some other class using which I can select all my checkboxes, even std example bcalv_edit_05 suggests a total loop on the internal table which I wanna avoid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanx a lot for the input anyways &lt;SPAN __jive_emoticon_name="happy"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Sameer&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 18 Feb 2008 15:40:26 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-oops-checkboxes-select-all/m-p/3422784#M822065</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-18T15:40:26Z</dc:date>
    </item>
    <item>
      <title>Re: ALV oops checkboxes select all</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-oops-checkboxes-select-all/m-p/3422785#M822066</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi there&lt;/P&gt;&lt;P&gt;I actually tried looking for a method like GET_ALL_ROWS etc but I didn't find any in cl_gui_alv_grid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I think you really have to program it yourself -- but since you have the application table anyway in your program you don't have to actually fill the SELECTED CELLS table. You could in the SELECT all rows method just process your internal table, update the checkbox and refresh the grid when done.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you need to have an 'X' in the checkbox for each selected row you want to process you are going to have to update the table anyway.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;There is a functionality for SELECT_ALL in the Grid - look at the Attributes in the MC_FC type table.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;You'll need to do some debugging as the select all and deselect all functionality is not shown on the standard ALV toolbar&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have a look possible at the proteected / private methods in cl_gui_alv_grid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Making  a Z superclass will allow you access to the protected methods.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This method of course won't show you the selected cells unlike the method shown in the code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you are on a newer release (6.0 and up) and don't need any EDIT type of facility in the GRID you could try looking at the CL_SALV_TABLE  class. This class doesn't require you to even build a fieldcatalog or define screens when you are using simple screens.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There might be some method in that class you could use.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers&lt;/P&gt;&lt;P&gt;jimbo&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 19 Feb 2008 09:44:02 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-oops-checkboxes-select-all/m-p/3422785#M822066</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-19T09:44:02Z</dc:date>
    </item>
    <item>
      <title>Re: ALV oops checkboxes select all</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-oops-checkboxes-select-all/m-p/3422786#M822067</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi James,&lt;/P&gt;&lt;P&gt;The grid is not selecting multiple rows if I want to select multiple rows. Can you please highlight on this?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks and regards,&lt;/P&gt;&lt;P&gt;Atanu&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 19 Feb 2008 11:48:24 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-oops-checkboxes-select-all/m-p/3422786#M822067</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-19T11:48:24Z</dc:date>
    </item>
    <item>
      <title>Re: ALV oops checkboxes select all</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-oops-checkboxes-select-all/m-p/3422787#M822068</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Its working with pressing CTRL button.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 19 Feb 2008 11:50:11 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-oops-checkboxes-select-all/m-p/3422787#M822068</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-19T11:50:11Z</dc:date>
    </item>
    <item>
      <title>Re: ALV oops checkboxes select all</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-oops-checkboxes-select-all/m-p/3422788#M822069</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Use the Modify Statement on Table to modify it in one go instead of using in loops and then use refresh method&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 20 Feb 2008 10:35:22 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-oops-checkboxes-select-all/m-p/3422788#M822069</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-20T10:35:22Z</dc:date>
    </item>
    <item>
      <title>Re: ALV oops checkboxes select all</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-oops-checkboxes-select-all/m-p/3422789#M822070</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;???? Don't understand your reply at all.  Also modify what table -- the internal Grid selection table or the users data table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Not sure if you even understood the original posters question either.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;OK IN SIMPLE ENGLISH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;User has a table which could be several THOUSAND lines long .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Table is displayed in a Grid with checkbox.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;User wants to OPTIONALLY select ONE, or MORE ROWS (not necessarily sequentially) or ALL  the rows.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;After selection user wants to process these rows.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm not sure what your "Modify" statement has got to do with the "price of eggs" but it isn't even remotely concerned with either the problem or its solution.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What the user would like is to have a button that does SELECT ALL CELLS / DE-SELECT ALL CELLS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Currently as far as I can see this has to be done programatically by updating the ALV GRID INTERNAL CELL SELECTION table as shown in my code  -- NOTE WE DON'T TOUCH THE USERS DATA TABLE AT THIS POINT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The user hoped this could happen automatically via an attribute / function in the method.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I haven't been able to find this so I posted the solution as outlined above and suggested methods of debugging further if required.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please at least READ AND UNDERSTAND the Original Posters question even if your reply is totally meaningless.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Jimbo&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 20 Feb 2008 10:50:17 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-oops-checkboxes-select-all/m-p/3422789#M822070</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-20T10:50:17Z</dc:date>
    </item>
    <item>
      <title>Re: ALV oops checkboxes select all</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-oops-checkboxes-select-all/m-p/3422790#M822071</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;lol&lt;/P&gt;&lt;P&gt;Thanx Jimbo&lt;/P&gt;&lt;P&gt;For Now Iam going with the bcalv_edit05 method. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Probably there is a better way to do it in the salv class, i will try using that in a loc prg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanx again&lt;/P&gt;&lt;P&gt;Rgds&lt;/P&gt;&lt;P&gt;Sameer&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 20 Feb 2008 14:46:44 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-oops-checkboxes-select-all/m-p/3422790#M822071</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-20T14:46:44Z</dc:date>
    </item>
  </channel>
</rss>

