Problem Sorting Table

Hi,
I have used the TableMap.class, TableSorter.class, and check out the TableSorterDemo. I integrate the same code into my program but return this error when i click on the column head.
'Sorter not informed of a change in model.'
Does anyone know what this means? how can I resolve this problem?
thanks.
Alan

Did you do a "find in files" for the string? If so, you would have seen the following method in TableSorter.java:
public void checkModel() {
if (indexes.length != model.getRowCount()) {
System.err.println("Sorter not informed of a change in model.");
The index in your sorter has more or fewer elements than your table model. Better look into any changes you made to your implementation of AbstractTableModel.

Similar Messages

  • Sorting problem in Tables

    I've got a very strange problem while sorting table columns in WebDynpro Java.
    I followed every step in the tutorial and imported the TableSorter.java into my project. But the columns in my table is still unsortable. I tried every effort but failed to make it sortable. Anyone encountered the same problem with me? Thanks in advance!
    PS: I strictly followed the tutorial chapter 11's steps so do not tell me refer to that tutorial.

    Hello Sumit,
    I've just searched the forum again and found a post answered by Armin Reichert:
    "A possible reason might be that you have added table columns using the "GroupedColumns" aggregation (which is default in NW04s) but your TableSorter code still assumes that the columns are in the "Columns" aggregation (was default in NW04)."
    The way to resolve this issue is simple as follow:
    Replace
    for (Iterator it = table.iterateColumns(); it.hasNext(); ++index)
    by
    for (Iterator it = table.iterateGroupedColumns(); it.hasNext(); ++index)
    in your TableSorter.java.
    I tried this and it worked! Thank you Sumit.

  • Sort Table command no longer works in Numbers 3.2.2

    I am running OS X 10.9.4 and recently updated Numbers to 3.2.2 on my Macbook Pro. Since then I have been unable to sort a table which uses cells referenced from other tables. I have re-created a very simple set of tables to illustrate the problem. Table 1 and 1-1 below are the basic tables created to hold the data. The DATE column is formatted as Date with no Time format.
    The Summary Table selects the relevent data from each DATE field in the above 2 tables. I reference these fields by typing in "=" and then clicking on the appropriate field. Shown in Fig. 2.
    FIGURE 2.
    Everything looks fine in the table until I want to SORT the Summary Table by DATE field which I do by clicking on the down arrow at the top of the DATE column and selecting SORT ASCENDING - see Fig. 3 below.
    FIGURE 3.
    When I do this, the result is as shown in Fig. 4.
    FIGURE 4.
    When I click on the exclamation mark the text is as shown in Fig. 5.
    Figure 5.
    I used to be able to do this Sort really easily before updating to the latest version of Numbers. I have tried creating another worksheet and setting up completely fresh tables, I have created the same tables on my iMac running Numbers 3.2 and I keep getting the same result. Each time I run the Sort command I get varying results of more or less exclamation marks interspersed with blank cells. I may be being completely thick here but I would really appreciate someone helping me out as this is driving me NUTS!! I have searched on as many Forums as I could find and have been unable to find anyone with a similar problem. Any help here would be much appreciated.

    Thanks everyone for your replies. I have copied in the screenshots of the tables again by dragging & dropping this time so hopefully you can see them now.
    This shows the tables I have created.
    This shows the formula in the cell.
    The sort command on the column I want to sort on.
    The result after the sort command...
    And the error message.
    Anyway, if you can see all that now, could someone explain what is actually happening in the sort process as I don't really understand why the results appear as they do. I have now taken out all blank rows and columns of data in Table 1 and Table 1-1 and now when I run the sort I get the following result:-
    What I want to happen is that the Summary Table is arranged in Date order.  - surely that should be easy enough?? This used to be such a simple process before the update!!
    Could someone explain to me what is actually happening here and whether the safe sort suggestion made will work in this instance? I am off to experiment now and have another look at the links given as I still don't really understand what is happening. Thanks again for the suggestions and help - much appreciated!

  • Unable to sort table

    Hi all
    I have created an advance table and using multiple selection.I set Sort Allowed property 'Yes' for every column in property inspector.
    But when I clicked on cloumn it throws a warning "The table cannot be sorted because it has pending changes which would be lost." and I am not able to sort table.
    Can somebody give me some suggestions.
    Thanks
    Bhupendra

    I have createed sortable header.I have done this thing many times and it works.But this time only I m facing problem.I am using PPR in this table where I am enabling and disabling the checkbox.
    Please give suggestions if anybody has faced this problem.
    Thanks
    Bhupendra

  • Sort table of objects by object attribute

    Hi all,
    I would like to write method for sorting table of objects. Sorting will be according selected attribute of object.
    My problem is that when I have dynamic data, I'm not able to access attributes of object. Here is example in code. Problematic lines are commented.
    If you have any idea how to solve it, I will be very happy.
    CLASS lcl_reflection DEFINITION CREATE PUBLIC.
      PUBLIC SECTION.
        CLASS-METHODS: sort_object_table_by_field IMPORTING field_name   TYPE char72
                                                            direction    TYPE c DEFAULT 'A'
                                                  CHANGING  object_table TYPE table.
    ENDCLASS.                    "lcl_reflection DEFINITION
    CLASS lcl_reflection IMPLEMENTATION.
      METHOD sort_object_table_by_field.
        DATA: obj_type_desc   TYPE REF TO cl_abap_refdescr,
              cls_type_desc   TYPE REF TO cl_abap_classdescr,
              tab_type_desc   TYPE REF TO cl_abap_tabledescr,
              elm_type_desc   TYPE REF TO cl_abap_elemdescr,
              struc_type_desc TYPE REF TO cl_abap_structdescr,
              line            TYPE REF TO data,
              tab             TYPE REF TO data,
              object          TYPE REF TO data,
              lt_component TYPE cl_abap_structdescr=>component_table,
              ls_component LIKE LINE OF lt_component.
        FIELD-SYMBOLS: <object> TYPE any,
                       <tab>    TYPE table,
                       <line>   TYPE any,
                       <value>  TYPE any.
        READ TABLE object_table INDEX 1 ASSIGNING <object>.
        cls_type_desc ?= cl_abap_classdescr=>describe_by_object_ref( <object> ).
        elm_type_desc ?= cls_type_desc->get_attribute_type( field_name ).
        obj_type_desc ?= cl_abap_refdescr=>create( cls_type_desc ).
        UNASSIGN <object>.
        ls_component-name = 'key'.
        ls_component-type = elm_type_desc.
        APPEND ls_component TO lt_component.
        ls_component-name = 'object'.
        ls_component-type ?= obj_type_desc.
        APPEND ls_component TO lt_component.
        struc_type_desc ?= cl_abap_structdescr=>create( lt_component ).
        tab_type_desc ?= cl_abap_tabledescr=>create( p_line_type  = struc_type_desc
                                                     p_table_kind = cl_abap_tabledescr=>tablekind_std
                                                     p_unique     = abap_false ).
        REFRESH lt_component.
        CLEAR ls_component.
        CREATE DATA line TYPE HANDLE struc_type_desc.
        CREATE DATA tab TYPE HANDLE tab_type_desc.
        CREATE DATA object TYPE HANDLE obj_type_desc.
        ASSIGN tab->* TO <tab>.
        ASSIGN line->* TO <line>.
        ASSIGN object->* TO <object>.
        LOOP AT object_table REFERENCE INTO object.
          APPEND INITIAL LINE TO <tab> REFERENCE INTO line.
          ASSIGN object->* TO <value>.
          ASSIGN line->* TO <line>.
    *      <line>-key = <value>->(field_name).
    *      <line>-object = object.
        ENDLOOP.
    *    SORT <tab> BY key.
    *    LOOP AT <tab> REFERENCE INTO line.
    *      APPEND INITIAL LINE TO object_table REFERENCE INTO object.
    *      object = line-object.
    *    ENDLOOP.
      ENDMETHOD.                    "sort_object_table_by_field
    ENDCLASS.                    "lcl_reflection IMPLEMENTATION

    Ok guys, it's solved. It was little bit more complicated then I expected. Thanks for you help.
    METHOD sort_object_table_by_field.
        TYPES: t_object TYPE REF TO object.
        DATA: obj_type_desc   TYPE REF TO cl_abap_refdescr,
              cls_type_desc   TYPE REF TO cl_abap_classdescr,
              tab_type_desc   TYPE REF TO cl_abap_tabledescr,
              elm_type_desc   TYPE REF TO cl_abap_elemdescr,
              struc_type_desc TYPE REF TO cl_abap_structdescr,
              r_line          TYPE REF TO data,
              r_tab           TYPE REF TO data,
              r_object        TYPE REF TO data,
              r_obj           TYPE REF TO data,
              lt_component TYPE cl_abap_structdescr=>component_table,
              ls_component LIKE LINE OF lt_component.
        FIELD-SYMBOLS: <object>    TYPE any,
                       <obj>       TYPE REF TO object,
                       <tab>       TYPE table,
                       <line>      TYPE any,
                       <key>       TYPE any,
                       <fs_key>    TYPE any,
                       <fs_object> TYPE any.
        READ TABLE object_table INDEX 1 ASSIGNING <object>.
        cls_type_desc ?= cl_abap_classdescr=>describe_by_object_ref( <object> ).
        elm_type_desc ?= cls_type_desc->get_attribute_type( field_name ).
        obj_type_desc ?= cl_abap_refdescr=>create( cls_type_desc ).
        UNASSIGN <object>.
        ls_component-name = 'key'.
        ls_component-type = elm_type_desc.
        APPEND ls_component TO lt_component.
        ls_component-name = 'object'.
        ls_component-type ?= obj_type_desc.
        APPEND ls_component TO lt_component.
        struc_type_desc ?= cl_abap_structdescr=>create( lt_component ).
        tab_type_desc ?= cl_abap_tabledescr=>create( p_line_type  = struc_type_desc
                                                     p_table_kind = cl_abap_tabledescr=>tablekind_std
                                                     p_unique     = abap_false ).
        REFRESH lt_component.
        CLEAR ls_component.
        CREATE DATA r_line TYPE HANDLE struc_type_desc.
        CREATE DATA r_tab TYPE HANDLE tab_type_desc.
        CREATE DATA r_object TYPE HANDLE obj_type_desc.
        CREATE DATA r_obj TYPE REF TO object.
        ASSIGN r_tab->* TO <tab>.
        LOOP AT object_table REFERENCE INTO r_object.
          APPEND INITIAL LINE TO <tab> REFERENCE INTO r_line.
          ASSIGN r_object->* TO <object>.
          ASSIGN r_obj->* TO <obj>.
          MOVE <object> TO <obj>.
          ASSIGN <obj>->(field_name) TO <key>.
          ASSIGN r_line->* TO <line>.
          ASSIGN COMPONENT 'KEY' OF STRUCTURE <line> TO <fs_key>.
          ASSIGN COMPONENT 'OBJECT' OF STRUCTURE <line> TO <fs_object>.
          <fs_object> = <object>.
          <fs_key> = <key>.
        ENDLOOP.
        DATA: sort_field TYPE fieldname.
        sort_field = 'KEY'.
        SORT <tab> BY (sort_field).
        REFRESH object_table.
        LOOP AT <tab> REFERENCE INTO r_line.
          APPEND INITIAL LINE TO object_table REFERENCE INTO r_object.
          ASSIGN r_line->* TO <line>.
          ASSIGN r_object->* TO <object>.
          ASSIGN COMPONENT 'OBJECT' OF STRUCTURE <line> TO <fs_object>.
          <object> = <fs_object>.
        ENDLOOP.
      ENDMETHOD.

  • Memory and performance  when copying a sorted table to a standard table

    Hello,
    As you all probably know, it's not possible to use a sorted table as a tables parameter of a function module, but sometimes you want to use a sorted table in your function module for performance reasons, and at the end of the function module, you just copy it to a standard table to return to the calling program.
    The problem with this is that at that moment, the contents of the table is in memory twice, which could result in the well known STORAGE_PARAMETERS_WRONG_SET runtime exception.                                                                               
    I've been looking for ways to do this without using an excessive amount of memory and still being performant.  I tried four methods, all have their advantages and disadvantages, so I was hoping someone here could help me come up with the best way to do this.  Both memory and performance are an issue. 
    Requirements :
    - Memory usage must be as low as possible
    - Performance must be as high as possible
    - Method must work on all SAP versions from 4.6c and up
    So far I have tried 3 methods.
    I included a test report to this message, the output of this on my dev system is :
    Test report for memory usage of copying tables    
    table1[] = table2[]                                        
    Memory :    192,751  Kb                                    
    Runtime:    436,842            
    Loop using workarea (with delete from original table)      
    Memory :    196,797  Kb                                    
    Runtime:  1,312,839        
    Loop using field symbol (with delete from original table)  
    Memory :    196,766  Kb                                    
    Runtime:  1,295,009                                                                               
    The code of the program :
    I had some problems pasting the code here, so it can be found at [http://pastebin.com/f5e2848b5|http://pastebin.com/f5e2848b5]
    Thanks in advance for the help.
    Edited by: Dries Horions on Jun 19, 2009 1:23 PM
    Edited by: Dries Horions on Jun 19, 2009 1:39 PM
    Edited by: Dries Horions on Jun 19, 2009 1:40 PM
    Edited by: Dries Horions on Jun 19, 2009 1:40 PM

    I've had another idea:
    Create a RFC function like this (replace SOLI_TAB with your table types):
    FUNCTION Z_COPY_TABLE .
    *"*"Lokale Schnittstelle:
    *"  IMPORTING
    *"     VALUE(IT_IN) TYPE  SOLI_TAB
    *"  EXPORTING
    *"     VALUE(ET_OUT) TYPE  SOLI_TAB
    et_out[] = it_in[].
    ENDFUNCTION.
    and then try something like this in your program:
    DATA: gd_copy_done TYPE c LENGTH 1.
    DATA: gt_one TYPE soli_tab.
    DATA: gt_two TYPE soli_tab.
    PERFORM move_tables.
    FORM move_tables.
      CLEAR gd_copy_done.
      CALL FUNCTION 'Z_COPY_TABLE'
        STARTING NEW TASK 'ztest'
        PERFORMING copy_done ON END OF TASK
        EXPORTING
          it_in = gt_one[].
      CLEAR gt_one[].
      WAIT UNTIL gd_copy_done IS NOT INITIAL.
    ENDFORM.
    FORM copy_done USING ld_task TYPE clike.
      RECEIVE RESULTS FROM FUNCTION 'Z_COPY_TABLE'
       IMPORTING
         et_out        = gt_two[].
      gd_copy_done = 'X'.
    ENDFORM.
    Maybe this is a little bit faster than the Memory-Export?
    Edited by: Carsten Grafflage on Jul 20, 2009 11:06 AM

  • How to re-sort Table data like A-Z and Z-A

    Hello Gurus,
      How can i re-sort Table data based on last name or first name, once table filled data from backend(i mean, once executed RFC,  Table will be filled with data records, after that i want to re-sort table).
       Can you provide me code, how to do?
    Thanks
    Venkat.

    Hi Venkat,
    For sorting to table columns, you need to pick up the code from here and add into a java file within your development component.
    http://wiki.sdn.sap.com/wiki/display/Snippets/TableSorterClassfor+WebDynpro
    Then, you can call the constructor of the class and pass the arguments to enable table sorting in your code.
    Refer to following blog for execution
    http://www.sdn.sap.com/irj/scn/weblogs;jsessionid=(J2EE3417100)ID1078501850DB00490474849923920126End?blog=/pub/wlg/3287
    Let me know, if the problem persists.
    Regards,
    Tushar Sinha

  • Sorting table probem

    Hi
    I am using TableSorter sort the Table and it is working fine. Now i added a new column to
    the table, and it is a Calculated value column, The sort does n't work for that new column.
    Thanks in advance.
    Thamas John.

    Hi,
        Thamas try the follwoing thread which contains sample code. It might be solve your problem.
    Table Sort Issue
    Kind Regards,
    S.Saravanan.

  • Drag & drop from sorted table view to outline view in AppleScript Studio

    I want to make a drag and drop from a sorted table view to an outline view in applescript Studio.
    Problem is that the data are copied from the data source of the table view,
    wich is unsorted, rather than from the table view itself that is sorted.
    So I have the wrong data droped.
    The element wich is passed from the table view thru the outline view is the row number. Then the script find the data of the corresponding row of the data source of the table view(unsorted).
    I want the script, using the row number, to get the content of the displayed row of the table view (sorted).
    Any help welcome.

    I want to make a drag and drop from a sorted table view to an outline view in applescript Studio.
    Problem is that the data are copied from the data source of the table view,
    wich is unsorted, rather than from the table view itself that is sorted.
    So I have the wrong data droped.
    The element wich is passed from the table view thru the outline view is the row number. Then the script find the data of the corresponding row of the data source of the table view(unsorted).
    I want the script, using the row number, to get the content of the displayed row of the table view (sorted).
    Any help welcome.

  • Sorted Table - tabix issue

    All,
    I have the following code While executing system is pointing to sy-tabix, but the data I am getting in the READ statement is from last record in the internal table
    report  z_9699_30.
    tables : eket.
    types : begin of ty_eket.
            include structure eket.
    types:  end of ty_eket.
    data: wa_eket                 type ty_eket.
    data: it_eket                 like sorted table of wa_eket
                                  with unique key primary_key
                                  components ebeln ebelp etenr
                                  with non-unique sorted key secondary_key
                                  components ebeln ebelp.
    parameters: p_ebeln like eket-ebeln.
    parameters: p_ebelp like eket-ebelp.
    select * from eket into table it_eket
          where ebeln eq p_ebeln.
          read table it_eket into wa_eket with table key secondary_key
                   components ebeln  = p_ebeln
                              ebelp  = p_ebelp.
    Please copy and execute this by giving EBELN and EBELP from EKET
    Please make sure while selecting from EKET please select data of multiple records available for same EBELP ie llike
    Here below PO # 4500000003 and for Item # 00030 is have multiple records
    Here in selection screen by giving PO # as 4500000003 (EBELN) Item # as 00030 (EBELP) , then in the above READ statement system giving SY-TABIX as 3 but if you see the WA_EKET-ETENR is showing 2 instead of 1. This is where is the issue is
    EBELN
    EBELP
    ETENR
    Header 4
    4500000003
    00010
    1
    4500000003
    00020
    1
    4500000003
    00030
    1
    4500000003
    00030
    2

    Now execute some
    MOVE sy_tabix TO lv_index.
    READ TABLE it_eket INTO wa_eket
          INDEX lv_index USING KEY secondary_key.
    BREAK-POINT.
    READ TABLE it_eket INTO wa_eket
          INDEX lv_index USING KEY primary_key.
    BREAK-POINT.
    and conclude yourself on the meaning of life index with two different keys defined...
    Regards,
    Raymond
    PS: Reference in online help for sy-tabix now
    Note that the sy-tabix system field is populated by the assigned secondary index, if sorted secondary keys are used. If this value is used for the subsequent index access to the internal table, the same table index must be explicitly used here. If used implicitly, the value would be interpreted as a primary index.

  • Problem with table formatting

    I'm having a lot of problems with tables not reflecting their formatting when I open them in a browser. I've tried opening in Safari, Firefox & Camino with the same results. For example, a row with the following html content has a much larger height & aligns the text to the top when opened in a browser:
    <tr>
              <td height="15" colspan="3" valign="middle"><h6 align="center">Summer 2009</h6>
              </td>
            </tr>
    If it matters, this is a row in a table nested in another table. Here's the code down to the row in question (all tags are closed properly in the remaining code):
    <table width="600" border="2" align="center" cellpadding="0" cellspacing="0">
        <tr>
          <td align="center" valign="top"><img src="images/events.jpg" width="250" height="35"></td>
        </tr>
        <tr>
          <td align="left" valign="top">
          <table width="100%" border="0" align="center" cellpadding="1" cellspacing="0">
            <tr>
              <td height="15" colspan="3" valign="middle"><h6 align="center">Summer 2009</h6>
              </td>
            </tr>
    I am using a style sheet for text. Here's the code for "h6" if that matters:
    h6 {
    font-family: Verdana, Geneva, Arial;
    font-size: 14px;
    font-weight: bold;
    color: #660099;
    Any ideas is appreciated. This is driving me nuts. Spacing and alignment sometimes work and sometimes don't work. Dreamweaver is supposed to make such things easier!
    Kevin

    Header tags are usually used round a bit of text, not parts of a table, and if you don't specify the margins on them, can force different amounts of space below in different browsers. Try making the bottom margin on h6 zero, and confine it to text within a cell.
    Also, if you can upload your page somewhere and let us have the url it will be easier to troubleshoot.

  • Error when inserting or changing in a sorted table

    Hi Experts,
    When i am executing a webdynpro application it says Error when inserting or changing in a sorted table. Can any one help for this.
    The termination type was: RABAX_STATE
    The ABAP call stack was:
    Method: GET_CATEGORY_LIST of program /1BCWDY/F9XHYWN4WKNMG4CDUGA8==CP
    Method: IF_COMPONENTCONTROLLER~GET_CATEGORY_LIST of program /1BCWDY/F9XHYWN4WKNMG4CDUGA8==CP
    Method: WDDOMODIFYVIEW of program /1BCWDY/F9XHYWN4WKNMG4CDUGA8==CP
    Method: IF_WDR_VIEW_DELEGATE~WD_DO_MODIFY_VIEW of program /1BCWDY/F9XHYWN4WKNMG4CDUGA8==CP
    Method: DO_MODIFY_VIEW of program CL_WDR_DELEGATING_VIEW========CP
    Method: MODIFY_VIEW of program CL_WDR_VIEW===================CP
    Method: DO_MODIFY_VIEW of program CL_WDR_CLIENT_COMPONENT=======CP
    Method: DO_MODIFY_VIEW of program CL_WDR_WINDOW_PHASE_MODEL=====CP
    Method: PROCESS_REQUEST of program CL_WDR_WINDOW_PHASE_MODEL=====CP
    Method: PROCESS_REQUEST of program CL_WDR_WINDOW=================CP
    in ST22
    Object Definition
      DATA: lo_node                   TYPE REF TO if_wd_context_node,
            lo_node_info              TYPE REF TO if_wd_context_node_info,
            lo_element                TYPE REF TO if_wd_context_element.
    Additional Data declarations
      DATA: lv_key TYPE string.
    Get context node.
      lo_node = wd_context->get_child_node( name = 'DROPDOWNLISTS' ).
      lo_node_info = lo_node->get_node_info( ).
    Call method to fetch the categories.
      CALL METHOD cl_hap_wd_start_page_ui=>category_get_list
        EXPORTING
          add_on_application = add_on_application
        IMPORTING
          t_categories       = lt_categories.
    Append Default selection entry 'All'.
      lw_category-category_id = '00000000'.
      lw_category-category_name = 'All'.
      APPEND lw_category TO lt_categories.
    Sort table after appending the new entry.
      SORT lt_categories ASCENDING.
    Loop through the category list and populate key(category_id) value(category_name) pair for
      LOOP AT lt_categories INTO lw_category.
        lw_key_value-key = lw_category-category_id.
      625     lw_key_value-value = lw_category-category_name.
    >>>>>     APPEND lw_key_value TO lt_key_values.------>Here it throws an error
      627     CLEAR: lw_key_value, lw_category.
      628   ENDLOOP.
      629
      630 * Bind the category key-value pair to the context attribute.
      631   CALL METHOD lo_node_info->set_attribute_value_set
      632     EXPORTING
      633       name      = 'CATEGORY_LIST'
      634       value_set = lt_key_values.
      635
      636 * Make the entry 'All' as default selected.
      637   CALL METHOD lo_node->set_attribute
      638     EXPORTING
      639       value = '00000000'
      640       name  = 'CATEGORY_LIST'.
      641
      642 ENDMETHOD.
      643
      644 method GET_EMPLOYEES.
      645

    Hello Durga,
    from the error what I understood is lt_key_values is a sorted table and you are trying append a new line to it. Incase of sorted table you need to use the INSERT statement and not the APPEND statement.
    INSERT lw_key_value INTO table lt_key_values.
    BR, Saravanan

  • Problem in Table maintenance view

    Hi all,
    i am getting some problem in table maintenance view.
    In my table i have some fields and when i created my table maintenance view , it is created , but when i try  to see it in SM30 its not showing my fields and even i am unable to create a  new entry. when i click
    new entries its going back to the sm30 screen..
    How to go abt it
    please help me

    Hello,
    Have you created the table maintanence view the right way.
    You can get good help from below link: [[http://www.****************/Tutorials/ABAP/TableMaintenance/demo.htm]]
    Also, please check the Delivery Class and Data Browser/Table View Maint. in the Delivery and Maintanence tab of the table.
    Thanks,
    Jayant
    Edited by: Jayant Sahu on Nov 24, 2008 3:00 PM

  • Short Dump While Changing Non-KeyField of Sorted Table

    Hello,
    A short dump occurs while trying to change a field of a sorted table item passed as CHANGING parameter.  Are non-key fields in a sorted structure protected? The error message does not explicitely say so. Can anyone link to documentation explaining this behavior? 
    best regards,
    JNN

    You are passing by reference with CHANGING.
    It looks like read-only stuff can't be passed to method CHANGING.
    When I pass a literal or constant, there is a syntax error.
    System could have given you a syntax error instead of dump.
    Have a look at this snippet. Both method calls throw syntax error.
    CLASS mainclass DEFINITION.
      PUBLIC SECTION.
        CLASS-METHODS main.
      PRIVATE SECTION.
        CLASS-METHODS passref CHANGING cv_test TYPE i.
    ENDCLASS.                    "mainclass DEFINITION
    CLASS mainclass IMPLEMENTATION.
      METHOD main.
        "pass literal by ref
        passref(
          CHANGING
            cv_test = '2'
        "pass constant by ref
        CONSTANTS lc_test TYPE i VALUE 1.
        passref(
          CHANGING
            cv_test = lc_test
      ENDMETHOD.                    "main
      METHOD passref.
        "nothing
      ENDMETHOD.                    "passref
    ENDCLASS.                    "mainclass IMPLEMENTATION
    START-OF-SELECTION.
      mainclass=>main( ).

  • How to read the data from a sorted table

    Hi all,
    How to read data from the sorted tables. Please provide some examples.
    Thanks and regards,
    Lisa

    You can read like this :
    DATA: BEGIN OF LINE,
    COL1 TYPE I,
    COL2 TYPE I,
    END OF LINE.
    DATA ITAB LIKE SORTED TABLE OF LINE WITH UNIQUE KEY COL1.
    DO 4 TIMES.
      LINE-COL1 = SY-INDEX.
      LINE-COL2 = SY-INDEX ** 2.
    INSERT LINE INTO TABLE ITAB.
    ENDDO.
    CLEAR LINE.
    READ TABLE ITAB WITH TABLE KEY COL1 = 3
                    INTO LINE TRANSPORTING COL2.
    WRITE:   'SY-SUBRC =', SY-SUBRC,
           / 'SY-TABIX =', SY-TABIX.
    SKIP.
    WRITE: / LINE-COL1, LINE-COL2.

Maybe you are looking for