Error when adding an attribute to a redifined entity

Dear Gateway experts,
I have the following problem:
In the service builder I have successfully created and activated an OData Service with several entities. Now I have created a second service and have redefined one of the entities of the first service. Finally I have added one attribute to this entity in the second service. Also this service could be generated succesfully. But when calling the service I get the error message "Property [NEW ATTRIBUT] of data object [ENTITY] has no Internal type assigned."
In the MPC class of the second service I see, that the structure belonging to the entity has been updated with this new attribute.
But the exporting parameter ET_ENTITYSET of the DPC class refer to the structure definition of the MPC class of the first service (because the inherite from them) without the new attribute.
So my problem is now, hoc can I add an attribute to a redfined entity without getting this error and be able to fill the export table?
Thanks a lot in advance!
Regards,
Juergen

Hi Ron,
thanks for your quick reply!
The entity of the original service is structure based. But the new attribute in the redefined service is not part of this structure. However I have added it manually and also filled the corresponding ABAP type in the column "ABAP Field Names".
The method DEFINE_<ENTITY> is only available in the MPC class of the original service. And this method is private so I can't call it from the subclasses.
In the MPC class of the redefined service there is a private method CREATE_NEW_ARTIFACTS, which is called in the method DEFINE. In this method the new attribute is already added to the entity, in the same way the other attributes were added in the DEFINE_<ENTITY> method:
lo_entity_type = model->get_entity_type(
     iv_entity_name = '<entity>' ).
lo_property = lo_entity_type->create_property(
     iv_property_name  ='<attribute>'
     iv_abap_fieldname = '<ATTRIBUTE in ABAP>' ).
lo_property->set_type_edm_string( ).
So I am not sure, what else to add in these methods.
Regards,
Juergen

Similar Messages

  • Error when adding an attribute

    While adding an attribute(new) to 0WORKCENTER I am getting a message that " All values for this navigation attribute must now be available in the master data tables and the attributes SID tables of the characteristic."
    This is a new attribute and the data will be populated after wards or I am changing the extractor to do that.
    Do I ignore the yellow flag ?

    you can ignore, but wait for other expert opinions..
    Regards,
    BWer
    Assign points if helpful.

  • Error when adding a partition to a materlialized view

    Hi,
    I am getting this error when adding a partition to a materialized view.
    ALTER MATERIALIZED VIEW mvedw.MV_CLM_CAPITN_F ADD PARTITION MAR2013 VALUES LESS THAN ('201304')
    ERROR at line 1:
    ORA-14074: partition bound must collate higher than that of the last partition
    Please advise.
    Regards,
    Narayan

    SQL> select TABLE_OWNER,TABLE_NAME,PARTITION_NAME,HIGH_VALUE from dba_tab_partitions where table_name =
    'MV_CLM_CAPITN_F' order by PARTITION_NAME 2
    3 ;
    TABLE_OWNER TABLE_NAME PARTITION_NAME HIGH_VALUE
    MVEDW MV_CLM_CAPITN_F APR2009 '200905'
    MVEDW MV_CLM_CAPITN_F APR2010 '201005'
    MVEDW MV_CLM_CAPITN_F APR2011 '201105'
    MVEDW MV_CLM_CAPITN_F APR2012 '201205'
    MVEDW MV_CLM_CAPITN_F AUG2009 '200909'
    MVEDW MV_CLM_CAPITN_F AUG2010 '201009'
    MVEDW MV_CLM_CAPITN_F AUG2011 '201109'
    MVEDW MV_CLM_CAPITN_F AUG2012 '201209'
    MVEDW MV_CLM_CAPITN_F DEC2008 '200901'
    MVEDW MV_CLM_CAPITN_F DEC2009 '201001'
    MVEDW MV_CLM_CAPITN_F DEC2010 '201101'
    TABLE_OWNER TABLE_NAME PARTITION_NAME HIGH_VALUE
    MVEDW MV_CLM_CAPITN_F DEC2012 '201301'
    MVEDW MV_CLM_CAPITN_F FEB2009 '200903'
    MVEDW MV_CLM_CAPITN_F FEB2010 '201003'
    MVEDW MV_CLM_CAPITN_F FEB2011 '201103'
    MVEDW MV_CLM_CAPITN_F FEB2012 '201203'
    MVEDW MV_CLM_CAPITN_F FEB2013 '201303'
    MVEDW MV_CLM_CAPITN_F JAN2009 '200902'
    MVEDW MV_CLM_CAPITN_F JAN2010 '201002'
    MVEDW MV_CLM_CAPITN_F JAN2011 '201102'
    MVEDW MV_CLM_CAPITN_F JAN2012 '201202'
    MVEDW MV_CLM_CAPITN_F JAN2013 '201302'
    TABLE_OWNER TABLE_NAME PARTITION_NAME HIGH_VALUE
    MVEDW MV_CLM_CAPITN_F JUL2009 '200908'
    MVEDW MV_CLM_CAPITN_F JUL2010 '201008'
    MVEDW MV_CLM_CAPITN_F JUL2011 '201108'
    MVEDW MV_CLM_CAPITN_F JUL2012 '201208'
    MVEDW MV_CLM_CAPITN_F JUN2009 '200907'
    MVEDW MV_CLM_CAPITN_F JUN2010 '201007'
    MVEDW MV_CLM_CAPITN_F JUN2011 '201107'
    MVEDW MV_CLM_CAPITN_F JUN2012 '201207'
    MVEDW MV_CLM_CAPITN_F MAR2009 '200904'
    MVEDW MV_CLM_CAPITN_F MAR2010 '201004'
    MVEDW MV_CLM_CAPITN_F MAR2011 '201104'
    TABLE_OWNER TABLE_NAME PARTITION_NAME HIGH_VALUE
    MVEDW MV_CLM_CAPITN_F MAR2012 '201204'
    MVEDW MV_CLM_CAPITN_F MAR2013 '201304'
    MVEDW MV_CLM_CAPITN_F MAY2009 '200906'
    MVEDW MV_CLM_CAPITN_F MAY2010 '201006'
    MVEDW MV_CLM_CAPITN_F MAY2011 '201106'
    MVEDW MV_CLM_CAPITN_F NOV2009 '200912'
    MVEDW MV_CLM_CAPITN_F NOV2010 '201012'
    MVEDW MV_CLM_CAPITN_F NOV2012 '201212'
    MVEDW MV_CLM_CAPITN_F OCT2009 '200911'
    MVEDW MV_CLM_CAPITN_F OCT2010 '201011'
    MVEDW MV_CLM_CAPITN_F OCT2011 '201111'
    TABLE_OWNER TABLE_NAME PARTITION_NAME HIGH_VALUE
    MVEDW MV_CLM_CAPITN_F OCT2012 '201211'
    MVEDW MV_CLM_CAPITN_F SEP2009 '200910'
    MVEDW MV_CLM_CAPITN_F SEP2010 '201010'
    MVEDW MV_CLM_CAPITN_F SEP2011 '201110'
    MVEDW MV_CLM_CAPITN_F SEP2012 '201210'
    These are the list of partitions available.
    Regards,
    Narayan

  • Error when adding Essbase server...

    Hi,
    I installed Hyperion System 9.3.1 in my development machine and encounter the following error when adding a Essbase server in AAS for the first time.
    Error: 1042017: Network error: The client or server timed out waiting to receive data using TCP/IP. Check network connections. Increase the NetRetryCount and/or NetDelay values in the ESSBASE.CFG file. Update this file on both client and server. Restart the client and try again.
    I used the default user "admin" and password "password". I used my servername:10080 as the server name. I hope I am right.
    Why is this happening? I tried changing netdelay settings but still get the same. Is this something else? Does this have anything to do with my TCP/IP settings? I am installing this on a virtual PC.
    I couldn't find an answer in previous posts.
    regards
    h

    The things that come to mind:
    The server name you use should be the name of the virtual PC, not the machine it's running on. Also, depending on the settings for the Virtual PC environment, you may have to change the network options to allow it to be visible to the network, be in the right domain, etc...
    The above may or may not get you any closer, the error message itself is just saying it can't receive a response from the server, which means the server never got the request or can't send a response back.
    Good Luck,

  • Library error when adding contact or when logging in

    The messenger server has a replica of the partition holding the users.
    It's an OES 2 sp2 server, and the GW Messenger is 2.04.
    Sometimes we see an error that says 'Library error' when adding a contact, or it doesn't show all users that exists with the search parameter given.
    We also sporadically see a 'Library error' when some users log in to it.
    Looking in the log I see an error that says 0xAE16 when users log in fails.
    I can find the 0xAE11 error in the TID's but not the 0xAE16, I did find an article on the forums, mentioning this problem http://forums.novell.com/novell-prod...or-server.html, they mention memory problems, so it seems to me there is a bug that needs fixing.

    I've disabled the '/diruseralias-"Internet EMail Address"' setting that was set up in the strtup.ma and strtup.aa scripts.
    I've also, for now at least, chosen another replica.
    I haven't seen the errors yet, so here's hoping...

  • Error when adding any menu - FRM-40735: ON-INSERT trigger raised unhandled

    When I try to add any new menu in my newly cloned instance I get this error:
    Error when adding any menu - FRM-40735: ON-INSERT trigger raised unhandled excpetion. ORA-04031.
    Using Oracle EBS version 12.1.3.
    Details:
    Menu JOB_STRUCTURE_MENU
    User Menu Name Job Strucure Menu
    Menu Type Standard
    Description Menu to add job, grade, and incentives
    Seq = 1
    Prompt = Enter and Maintain
    Function = Combined Person & Assignment Form WF="US SHRMS TSKFLW
    When I click save I get the error.
    Any assistance would be greatly appreciated.
    Thanks!

    Please post the details of the application release, database version and OS.
    When I try to add any new menu in my newly cloned instance I get this error:
    Error when adding any menu - FRM-40735: ON-INSERT trigger raised unhandled excpetion. ORA-04031.Is the issue with all menus or specific ones only?
    Did AutoConfig complete successfully?
    When I click save I get the error.
    Any assistance would be greatly appreciated.Do you have any invalid objects in the database?
    Any errors in the database log file?
    Please obtain FRD log file for details about the error -- https://forums.oracle.com/forums/search.jspa?threadID=&q=FRD+AND+R12&objID=c3&dateRange=all&userID=&numResults=15&rankBy=10001
    Thanks,
    Hussein

  • Error when adding a NAV attribute to 0MAT_PLANT

    Hello People
    I have created a YTEST info object with TEXTS and want to have it as navigational atribute to the 0MAT_PLANT info object. But when I change the attribute to NAV and try to activate it, it gives me the following errors.
    1. Activation of Objects with Type InfoObject
    2. Internal Activation (InfoObject )
    3. Error when activating InfoObject 0MAT_PLANT
    Again when I change it back to DISPLAY it lets me activate the 0MAT_PLANT info object. What am i doing wrong? Am I creating the TEST IO wrong? Please give the all the steps of creating a text info object and adding it as a NAV attr to another info object.
    Thanks.

    Hi Shree,
    This field on R/3 is in Table MARC(keyfields:MATNR and Werks) and if i need to get it to 0material which is based on Table MARA(Keyfield:MATNR).I cannot add it to 0material-attr  on R/3 as the keyfield only MATNR matches.
    Thats the reason i went with adding this field to 0material_plant_attr and create d an infoobject in BW and trying to make it as Nav Attr.
    thanks

  • Error when Adding a BW Attribute to WebI

    I created an universe based on a BEx query. The Query/Universe contains about 10 Characteristics. When I run the query only with characteristics it work fine.
    When I choose attributes from one characterstic I am getting an error "Error at MDDataSetBW.GetCellData. Systems error in programm CL_RSR_MDX_BXML_FLATTENING and form ASSIGN_COMP-02 (WIS 10901)".
    When I add attributes from other characteristics it works fine. The only difference that I see is that the charactersistic that causes the error has a hierarchy.
    Edited by: B.Wegner on Nov 22, 2010 1:20 PM

    Hi,
    Go through the below SAP Notes on the issue-
    SAP OSS Notes 1440912 and 1432162
    Hope you will get the proper info.
    -Noor.

  • Master data error - when switching an attribute to navigable

    Hi,
    I have a serious problem on a master data. I have this master data that until yesterday did have not a problem.
    Now, when I add an attribute not navigable (DIS), no problem. When I switch to DISPLAY and activate, following error occurs:
    Error in activating the InfoObjects
    Characteristic 0FS_CTR_NO: The attibutes SID table(s) could not be filled
    Error in BW:
    Error when activating InfoObject 0FS_CTR_NO
    Characteristic 0FS_CTR_NO: Error when generating master data routines
    Error when resetting InfoObject 0FS_CTR_NO to the active version
    I tried to make this modification also directly in Quality without transport, and the error is the same.
    Master data is empty, so I cannot understand why there is a problem with SIDS.
    Any suggestions?
    Thanks,
    Gianluca

    Hi,
    as Raj said,  when infoobject attribute is changed from dispaly attribute to navigational attribute there will be impact.
    check this thread.
    Link: [Error when activating 0MATERIAL after adding Navigation attribute]
    Regards
    Daya Sagar

  • TableSorter errors when adding new data

    so here is the deal:
    I am using the TableSorter.java helper class with DefaultTableModel
    from: http://java.sun.com/docs/books/tutorial/uiswing/components/table.html
    It works great when the data is static and I get it for the first time. however, occationally, when adding new data I get a NullPointerException error.
    in use:
    DefaultTableModel.addRow()
    DefaultTableModel.removeRow() and
    DefaultTableModel.insertRow() methods.
    Error:
    java.lang.ArrayIndexOutOfBoundsException: 5
         at com.shared.model.TableSorter.modelIndex(TableSorter.java:294)
         at com.shared.model.TableSorter.getValueAt(TableSorter.java:340)
         at javax.swing.JTable.getValueAt(Unknown Source)
         at javax.swing.JTable.prepareRenderer(Unknown Source)...
    code problem I:
        public Object getValueAt(int row, int column)
            return tableModel.getValueAt(modelIndex(row), column);
        }code problem II:
        public int modelIndex(int viewIndex)
                 return getViewToModel()[viewIndex].modelIndex;     
        }TableSroter class:
    package com.shared.model;
    import java.awt.*;
    import java.awt.event.*;
    import java.util.*;
    import java.util.List;
    import javax.swing.*;
    import javax.swing.event.TableModelEvent;
    import javax.swing.event.TableModelListener;
    import javax.swing.table.*;
    * TableSorter is a decorator for TableModels; adding sorting
    * functionality to a supplied TableModel. TableSorter does
    * not store or copy the data in its TableModel; instead it maintains
    * a map from the row indexes of the view to the row indexes of the
    * model. As requests are made of the sorter (like getValueAt(row, col))
    * they are passed to the underlying model after the row numbers
    * have been translated via the internal mapping array. This way,
    * the TableSorter appears to hold another copy of the table
    * with the rows in a different order.
    * <p/>
    * TableSorter registers itself as a listener to the underlying model,
    * just as the JTable itself would. Events recieved from the model
    * are examined, sometimes manipulated (typically widened), and then
    * passed on to the TableSorter's listeners (typically the JTable).
    * If a change to the model has invalidated the order of TableSorter's
    * rows, a note of this is made and the sorter will resort the
    * rows the next time a value is requested.
    * <p/>
    * When the tableHeader property is set, either by using the
    * setTableHeader() method or the two argument constructor, the
    * table header may be used as a complete UI for TableSorter.
    * The default renderer of the tableHeader is decorated with a renderer
    * that indicates the sorting status of each column. In addition,
    * a mouse listener is installed with the following behavior:
    * <ul>
    * <li>
    * Mouse-click: Clears the sorting status of all other columns
    * and advances the sorting status of that column through three
    * values: {NOT_SORTED, ASCENDING, DESCENDING} (then back to
    * NOT_SORTED again).
    * <li>
    * SHIFT-mouse-click: Clears the sorting status of all other columns
    * and cycles the sorting status of the column through the same
    * three values, in the opposite order: {NOT_SORTED, DESCENDING, ASCENDING}.
    * <li>
    * CONTROL-mouse-click and CONTROL-SHIFT-mouse-click: as above except
    * that the changes to the column do not cancel the statuses of columns
    * that are already sorting - giving a way to initiate a compound
    * sort.
    * </ul>
    * <p/>
    * This is a long overdue rewrite of a class of the same name that
    * first appeared in the swing table demos in 1997.
    * @author Philip Milne
    * @author Brendon McLean
    * @author Dan van Enckevort
    * @author Parwinder Sekhon
    * @version 2.0 02/27/04
    public class TableSorter extends AbstractTableModel
        protected TableModel tableModel;
        public static final int DESCENDING = -1;
        public static final int NOT_SORTED = 0;
        public static final int ASCENDING = 1;
        private static Directive EMPTY_DIRECTIVE = new Directive(-1, NOT_SORTED);
        public static final Comparator COMPARABLE_COMAPRATOR = new Comparator()
            public int compare(Object o1, Object o2)
                return ((Comparable) o1).compareTo(o2);
        public static final Comparator LEXICAL_COMPARATOR = new Comparator()
            public int compare(Object o1, Object o2)
                return o1.toString().compareTo(o2.toString());
        private Row[] viewToModel;
        private int[] modelToView;
        private JTableHeader tableHeader;
        private MouseListener mouseListener;
        private TableModelListener tableModelListener;
        private Map columnComparators = new HashMap();
        private List sortingColumns = new ArrayList();
        public TableSorter()
            this.mouseListener = new MouseHandler();
            this.tableModelListener = new TableModelHandler();
        public TableSorter(TableModel tableModel)
            this();
            setTableModel(tableModel);
        public TableSorter(TableModel tableModel, JTableHeader tableHeader)
            this();
            setTableHeader(tableHeader);
            setTableModel(tableModel);
        private void clearSortingState()
            viewToModel = null;
            modelToView = null;
        public TableModel getTableModel()
            return tableModel;
        public void setTableModel(TableModel tableModel)
            if (this.tableModel != null)
                this.tableModel.removeTableModelListener(tableModelListener);
            this.tableModel = tableModel;
            if (this.tableModel != null)
                this.tableModel.addTableModelListener(tableModelListener);
            clearSortingState();
            fireTableStructureChanged();
        public JTableHeader getTableHeader()
            return tableHeader;
        public void setTableHeader(JTableHeader tableHeader)
            if (this.tableHeader != null)
                this.tableHeader.removeMouseListener(mouseListener);
                TableCellRenderer defaultRenderer = this.tableHeader.getDefaultRenderer();
                if (defaultRenderer instanceof SortableHeaderRenderer)
                    this.tableHeader.setDefaultRenderer(((SortableHeaderRenderer) defaultRenderer).tableCellRenderer);
            this.tableHeader = tableHeader;
            if (this.tableHeader != null)
                this.tableHeader.addMouseListener(mouseListener);
                this.tableHeader.setDefaultRenderer
                        new SortableHeaderRenderer(this.tableHeader.getDefaultRenderer())
        public boolean isSorting()
            return sortingColumns.size() != 0;
        private Directive getDirective(int column)
            for (int i = 0; i < sortingColumns.size(); i++)
                Directive directive = (Directive)sortingColumns.get(i);
                if (directive.column == column)
                    return directive;
            return EMPTY_DIRECTIVE;
        public int getSortingStatus(int column)
            return getDirective(column).direction;
        private void sortingStatusChanged()
            clearSortingState();
            fireTableDataChanged();
            if (tableHeader != null)
                tableHeader.repaint();
        public void setSortingStatus(int column, int status)
            Directive directive = getDirective(column);
            if (directive != EMPTY_DIRECTIVE)
                sortingColumns.remove(directive);
            if (status != NOT_SORTED)
                sortingColumns.add(new Directive(column, status));
            sortingStatusChanged();
        protected Icon getHeaderRendererIcon(int column, int size)
            Directive directive = getDirective(column);
            if (directive == EMPTY_DIRECTIVE)
                return null;
            return new Arrow(directive.direction == DESCENDING, size, sortingColumns.indexOf(directive));
        private void cancelSorting()
            sortingColumns.clear();
            sortingStatusChanged();
        public void setColumnComparator(Class type, Comparator comparator)
            if (comparator == null)
                columnComparators.remove(type);
            else
                columnComparators.put(type, comparator);
        protected Comparator getComparator(int column)
            Class columnType = tableModel.getColumnClass(column);
            Comparator comparator = (Comparator) columnComparators.get(columnType);
            if (comparator != null)
                return comparator;
            if (Comparable.class.isAssignableFrom(columnType))
                return COMPARABLE_COMAPRATOR;
            return LEXICAL_COMPARATOR;
        private Row[] getViewToModel()
            if (viewToModel == null)
                int tableModelRowCount = tableModel.getRowCount();
                viewToModel = new Row[tableModelRowCount];
                for (int row = 0; row < tableModelRowCount; row++)
                    viewToModel[row] = new Row(row);
                if (isSorting())
                    Arrays.sort(viewToModel);
            return viewToModel;
        public int modelIndex(int viewIndex)
                 return getViewToModel()[viewIndex].modelIndex;     
        private int[] getModelToView()
            if (modelToView == null)
                int n = getViewToModel().length;
                modelToView = new int[n];
                for (int i = 0; i < n; i++)
                    modelToView[modelIndex(i)] = i;
            return modelToView;
        // TableModel interface methods
        public int getRowCount()
            return (tableModel == null) ? 0 : tableModel.getRowCount();
        public int getColumnCount()
            return (tableModel == null) ? 0 : tableModel.getColumnCount();
        public String getColumnName(int column)
            return tableModel.getColumnName(column);
        public Class getColumnClass(int column)
            return tableModel.getColumnClass(column);
        public boolean isCellEditable(int row, int column)
            return tableModel.isCellEditable(modelIndex(row), column);
        public Object getValueAt(int row, int column)
            return tableModel.getValueAt(modelIndex(row), column);
        public void setValueAt(Object aValue, int row, int column)
            tableModel.setValueAt(aValue, modelIndex(row), column);
        // Helper classes
        private class Row implements Comparable
            private int modelIndex;
            public Row(int index)
                this.modelIndex = index;
            public int compareTo(Object o)
                int row1 = modelIndex;
                int row2 = ((Row) o).modelIndex;
                for (Iterator it = sortingColumns.iterator(); it.hasNext();)
                    Directive directive = (Directive) it.next();
                    int column = directive.column;
                    Object o1 = tableModel.getValueAt(row1, column);
                    Object o2 = tableModel.getValueAt(row2, column);
                    int comparison = 0;
                    // Define null less than everything, except null.
                    if (o1 == null && o2 == null)
                        comparison = 0;
                    } else if (o1 == null)
                        comparison = -1;
                    } else if (o2 == null)
                        comparison = 1;
                    } else {
                        comparison = getComparator(column).compare(o1, o2);
                    if (comparison != 0)
                        return directive.direction == DESCENDING ? -comparison : comparison;
                return 0;
        private class TableModelHandler implements TableModelListener
            public void tableChanged(TableModelEvent e)
                // If we're not sorting by anything, just pass the event along.            
                if (!isSorting())
                    clearSortingState();
                    fireTableChanged(e);
                    return;
                // If the table structure has changed, cancel the sorting; the            
                // sorting columns may have been either moved or deleted from            
                // the model.
                if (e.getFirstRow() == TableModelEvent.HEADER_ROW)
                    cancelSorting();
                    fireTableChanged(e);
                    return;
                // We can map a cell event through to the view without widening            
                // when the following conditions apply:
                // a) all the changes are on one row (e.getFirstRow() == e.getLastRow()) and,
                // b) all the changes are in one column (column != TableModelEvent.ALL_COLUMNS) and,
                // c) we are not sorting on that column (getSortingStatus(column) == NOT_SORTED) and,
                // d) a reverse lookup will not trigger a sort (modelToView != null)
                // Note: INSERT and DELETE events fail this test as they have column == ALL_COLUMNS.
                // The last check, for (modelToView != null) is to see if modelToView
                // is already allocated. If we don't do this check; sorting can become
                // a performance bottleneck for applications where cells 
                // change rapidly in different parts of the table. If cells
                // change alternately in the sorting column and then outside of            
                // it this class can end up re-sorting on alternate cell updates -
                // which can be a performance problem for large tables. The last
                // clause avoids this problem.
                int column = e.getColumn();
                if (e.getFirstRow() == e.getLastRow()
                        && column != TableModelEvent.ALL_COLUMNS
                        && getSortingStatus(column) == NOT_SORTED
                        && modelToView != null)
                    int viewIndex = getModelToView()[e.getFirstRow()];
                    fireTableChanged(new TableModelEvent(TableSorter.this,
                                                         viewIndex, viewIndex,
                                                         column, e.getType()));
                    return;
                // Something has happened to the data that may have invalidated the row order.
                clearSortingState();
                fireTableDataChanged();
                return;
        private class MouseHandler extends MouseAdapter
            public void mouseClicked(MouseEvent e)
                JTableHeader h = (JTableHeader) e.getSource();
                TableColumnModel columnModel = h.getColumnModel();
                int viewColumn = columnModel.getColumnIndexAtX(e.getX());
                int column = columnModel.getColumn(viewColumn).getModelIndex();
                if (column != -1)
                    int status = getSortingStatus(column);
                    if (!e.isControlDown())
                        cancelSorting();
                    // Cycle the sorting states through {NOT_SORTED, ASCENDING, DESCENDING} or
                    // {NOT_SORTED, DESCENDING, ASCENDING} depending on whether shift is pressed.
                    status = status + (e.isShiftDown() ? -1 : 1);
                    status = (status + 4) % 3 - 1; // signed mod, returning {-1, 0, 1}
                    setSortingStatus(column, status);
        private static class Arrow implements Icon
            private boolean descending;
            private int size;
            private int priority;
            public Arrow(boolean descending, int size, int priority)
                this.descending = descending;
                this.size = size;
                this.priority = priority;
            public void paintIcon(Component c, Graphics g, int x, int y)
                Color color = c == null ? Color.GRAY : c.getBackground();            
                // In a compound sort, make each succesive triangle 20%
                // smaller than the previous one.
                int dx = (int)(size/2*Math.pow(0.8, priority));
                int dy = descending ? dx : -dx;
                // Align icon (roughly) with font baseline.
                y = y + 5*size/6 + (descending ? -dy : 0);
                int shift = descending ? 1 : -1;
                g.translate(x, y);
                // Right diagonal.
                g.setColor(color.darker());
                g.drawLine(dx / 2, dy, 0, 0);
                g.drawLine(dx / 2, dy + shift, 0, shift);
                // Left diagonal.
                g.setColor(color.brighter());
                g.drawLine(dx / 2, dy, dx, 0);
                g.drawLine(dx / 2, dy + shift, dx, shift);
                // Horizontal line.
                if (descending) {
                    g.setColor(color.darker().darker());
                } else {
                    g.setColor(color.brighter().brighter());
                g.drawLine(dx, 0, 0, 0);
                g.setColor(color);
                g.translate(-x, -y);
            public int getIconWidth()
                return size;
            public int getIconHeight()
                return size;
        private class SortableHeaderRenderer implements TableCellRenderer
            private TableCellRenderer tableCellRenderer;
            public SortableHeaderRenderer(TableCellRenderer tableCellRenderer)
                this.tableCellRenderer = tableCellRenderer;
            public Component getTableCellRendererComponent(JTable table,
                                                           Object value,
                                                           boolean isSelected,
                                                           boolean hasFocus,
                                                           int row,
                                                           int column)
                Component c = tableCellRenderer.getTableCellRendererComponent(table,
                        value, isSelected, hasFocus, row, column);
                if (c instanceof JLabel) {
                    JLabel l = (JLabel) c;
                    l.setHorizontalTextPosition(JLabel.LEFT);
                    int modelColumn = table.convertColumnIndexToModel(column);
                    l.setIcon(getHeaderRendererIcon(modelColumn, l.getFont().getSize()));
                return c;
        private static class Directive
            private int column;
            private int direction;
            public Directive(int column, int direction)
                this.column = column;
                this.direction = direction;
    }any input will be appreciated.
    thanks
    Peter

    The code you posted doesn't help us at all. Its just a duplicate of the code from the tutorial. The custom code is what you have written. For example do you update the TableModel from the Event Thread? Do you update the SortModel or the DefaultTableModel? If you actually provide your test code and somebody has already downloaded the sort classes, then maybe they will test your code against the classes. But I doubt if people will download the sort classes and create a test program just to see if they can duplicate your results (at least I know I'm not about to).

  • TableAdapter Configuration Wizard gives error when adding new TableAdapter

    Hi,
    I recently downloaded and installed the ODT for visual studio on my computer. I am running VS2008 on Windows 7 64-bit. I am able to create an ODP.NET connection to the Oracle XE 10.2g instance that is running on my computer with no problems and use that connection to browse the database. When I add a DataSet to my project, and start adding TableAdapters to the DataSet, I am getting errors. In an attempt to figure out what the problem is, I have followed various scenarios. I will describe each scenario, and what the end result is, and then after I have described them all, I will explain what I think the problem might be. Here are the different scenarios I have used:
    Scenario 1:
    From the Server Explorer, highlight ALL of the tables in my schema and drag them to the designer (all table adapters are added with no issues). I can add additional queries to each of the TableAdapters and then change the additional queries by right clicking and choosing "Configure". This all works with no issues. However, on certain TableAdapters, if I try to modify the primary query (Fill,GetData()), I can open the query editor just fine, change various settings, etc, but when I click on "Finish" I get the following error:
    Configure TableAdapter TABLENAME failed.
    Index was outside the bounds of the array.
    Scenario 2:
    From the Server Explorer, drag tables from my schema onto the designer one at a time. Some tables get added just fine, but for the rest of them, I get the following error:
    Failed to merge object(s).
    Index was outside the bounds of the array.
    Scenario 3:
    On the Dataset Designer, add tables one at a time by right clicking and choosing "Add -> TableAdapter" and then using SQL to define the query for each table. Some tables get added just fine, but for the rest of them, I get the following error:
    Failed to add TableAdapter.
    Index was outside the bounds of the array.
    Ok... now that I have described all of the different scenarios, I will explain what I think the problem is, and why. Based on my research, I believe the underlying problem has to do with Foreign Key Constraints on the various tables. While working on Scenarios 2 & 3, the same exact tables worked just fine in both scenarios. When I started looking at the definitions for the tables in my schema, it turns out that all of the tables that failed had foreign key constraints defined. When I remove the FK constraints from a table, I am then able to add it to my dataset and change the default query with no problems. My original application used the System.Data.OracleClient provided by Microsoft. When adding my tableadapters using the microsoft data provider, the FK relations are automatically generated for me in the designer, but not with the Oracle Data Provider
    I would be happy to provide you with the DDL that I used for creating my schema (it is not very big) if needed.
    Thanks,
    Jim

    Sorry let me clarify some of the config a little more.
    MAIL101 - Exch 2013
    MAIL102 - Exch 2013
    AP104 - Witness (strictly a witness nothing else on this machine)
    EDGE01 - Exch 2007 Edge
    CAS01 - Exch 2007 Hub/CAS load balancer for CAS02/03
    CAS02 - Exch 2007 Hub/CAS
    CAS03 - Exch 2007 Hub/CAS
    MBOX01 - Exch 2007 Mail cluster
    MBOX02 - Exch 2007 Mail cluster node
    MBOX03 - Exch 2007 Mail cluster node
    RDC01, RDC02, RDC03 - all 2008 R2 root domain controllers for rootdomain.rootdomain
    DC01, DC02, DC03, DC04 - all 2008 R2 domain controllers for us.rootdomain.rootdomain
    All DCs are Global Catalogs.
    I can ping all DCs and root DCs fromboth MAIL101 and 102
    The Exchange Replication service is running on both MAIL101 and 102.
    DC03 is in the same site as the MAIL101/102 servers so I'll run all replication tests from here.
    DCDIAG comes back with all tests passed.
    repadmin /replsum comes back with 0 fails and no errors largest delta for any intersite communication is 13min.
    When I run Test-ReplicationHealth -Identity MAIL101 and also 102 they both come back as everything passed.  No errors.

  • Error when adding a disk to Cluster Shared Volumes

    When adding a disk to Cluster Shared Volumes via Failover Cluster Manager, I get a couple of errors.
    Event ID 5145 in System Log:
    While adding the disk ('Cluster Disk 1') to Cluster Shared Volumes, setting explicit snapshot diff area association for volume ('\\?\Volume{420e2cc4-4fb4-41be-afb1-65f2ee62457a}\') failed with error 'HrError(0x8004230d)'. The only supported software snapshot
    diff area association for Cluster Shared Volumes is to self.
    Cluster disk resource 'Cluster Disk 1' failed to delete a software snapshot.  The diff area on volume '\\?\Volume{420e2cc4-4fb4-41be-afb1-65f2ee62457a}\' could not be dissociated from volume '\\?\Volume{420e2cc4-4fb4-41be-afb1-65f2ee62457a}\'. This
    may be caused by active snapshots. Cluster Shared Volumes requires that the software snapshot be located on the same disk.
    Any ideas why I'm getting this error?  This disk was previously added as a CSV to different Windows failover cluster, if that matters.  Thanks.

    Hi,
    As the disk was previously used as a CSV, I assume there is still data on it.
    Please check if any VSS snapshot created on that disk. If so, delete them and re-add it as a CSV to see the result - a quick way is to backup important files and perform a re-format if you cannot confirm.
    If you have any feedback on our support, please send to [email protected]

  • Error when adding a WLC to WCS

    When adding a WLC to WCS I get this error: Failed to add device to WCS Reason:
    COMMON-1: Some unexpected internal error has occured. If the problem persists please report to the Tech Support.
    WCS 7.0.164.0 was upgraded from 5.2.110.0 because the WLC were running 7.0.98.0
    WLC4404-100 7.0.98.0 (Already in WCS)
    WLC4402-12 7.0.98.0 (Changed the ip address of the management and ap manager.  Was in WCS but deleted from WCS prior to the ip address change and prior to the WCS being upgraded)
    I know that the snmp strings are fine and that the WLC's both respond to snmp get commands.
    The intial WCS upgrade from 5.2.110.0 to 7.0.164.0 didn't require the previous version to be uninstalled.  After the upgrade and restoring the WCS from backup. I was getting the error posted above.  We uninstalled WCS and re-installed WCS from scratch and still we are getting the same error.  We tried restarting the WCS services and also the VM box as well and not luck.  I was wondering if the WCS has the old ip and mac address of the WLC4402-12 in the database and that is why i'm getting this error.
    I did delete and try different snmp community strings with no luck with WCS.  Again, snmp is working since I can do snmp get from the WLC's.

    Scott,
    This is the issue:
    com.cisco.common.persistence.transaction.TransactionException: Null value was assigned to a property of primitive type setter of com.cisco.server.managedobjects.aaa.GuestUserTemplateCG.userStatus
    Could be an existing bug or a new one. I cant say unless I look into your setup.

  • Error when adding a schema to an existing workspace

    I am trying to add an existing schema to my workspace, and am getting ORA-20001: Error with: GRANT EXECUTE ON DBMS_RLS TO BILLING ORA-01031: insufficient privileges. I tried logging in as sys and granting that privilege, and it worked. However, going back to the workspace, I still did not see the new schema listed.
    The user and tables have all been created in the database. The BILLING schema showed up in the available schemas to add to the workspace. I have also tried adding a new schema to the workspace. The BILLING2 schema was created, but I received the same error when it tried to add it to the workspace.
    Is there a grant or user that could be missing? I am using HTMLDB 2.0.
    Thanks!

    These are the current privs for that user:
    ALTER DATABASE
    ALTER SESSION
    ALTER USER
    CREATE ANY CONTEXT
    CREATE ANY DIRECTORY
    CREATE CLUSTER
    CREATE DATABASE LINK
    CREATE DIMENSION
    CREATE INDEXTYPE
    CREATE JOB
    CREATE LIBRARY
    CREATE MATERIALIZED VIEW
    CREATE OPERATOR
    CREATE PROCEDURE
    CREATE PUBLIC SYNONYM
    CREATE ROLE
    CREATE SEQUENCE
    CREATE SYNONYM
    CREATE TABLE
    CREATE TABLESPACE
    CREATE TRIGGER
    CREATE TYPE
    CREATE USER
    CREATE VIEW
    DROP ANY DIRECTORY
    DROP PUBLIC SYNONYM
    DROP TABLESPACE
    DROP USER
    EXECUTE ANY PROCEDURE
    SELECT ANY DICTIONARY
    SELECT ANY TABLE
    UNLIMITED TABLESPACE

  • Encounter error after adding an attribute to a new dimension in AWM.

    After I added an attribute to a new dimension, I encountered the error as below.
    I also cannot read the metadata from Jdeveloper after I create a cube using AWM.
    Please kindly help!!
    BI Beans Diagnostics(v1.0.2.0) 2005/9/15
    ===============================================================================
    JDEV_ORACLE_HOME .......................... = C:\jdev1012_base
    JAVA_HOME ................................. = c:\j2sdk1.4.2_02
    JDeveloper version ........................ = 10.1.2.0.0.1811
    BI Beans release description .............. = BI Beans 10.1.2 Production Release
    BI Beans component number ................. = 10.1.2.52.0
    BI Beans internal version ................. = 3.2.1.0.13
    Connect to database ....................... = Successful
    JDBC driver version ....................... = 10.1.0.3.0
    JDBC JAR file location .................... = C:\jdev1012_base\jdbc\lib
    Database version .......................... = 10.2.0.1.0
    OLAP Catalog version ...................... = 10.2.0.1.0
    OLAP AW Engine version .................... = 10.2.0.1.0
    OLAP API Server version ................... = 10.2.0.1.0
    BI Beans Catalog version .................. = N/A; not installed in BI_TEST
    OLAP API JAR file version ................. = "10.1.0.2.0"
    OLAP API JAR file location ................ = C:\jdev1012_base\jdev\lib\ext
    Load OLAP API metadata .................... = Successful
    java.lang.NullPointerException
    at oracle.dss.metadataManager.server.drivers.mdm._92.MDMMetadataDriverIm
    pl_92.setDimAttributes(MDMMetadataDriverImpl_92.java:1733)
    at oracle.dss.metadataManager.server.drivers.mdm._92.MDMMetadataDriverIm
    pl_92.getChildren(MDMMetadataDriverImpl_92.java:197)
    at oracle.dss.metadataManager.server.drivers.mdm._92.MDMMetadataDriverIm
    pl_92.addChildren(MDMMetadataDriverImpl_92.java:2687)
    at oracle.dss.metadataManager.server.drivers.mdm._92.MDMMetadataDriverIm
    pl_92.fillOlapObjectModel(MDMMetadataDriverImpl_92.java:2571)
    at oracle.dss.metadataManager.server.drivers.mdm._92.MDMMetadataDriverIm
    pl_92$LoadOlapObjectModel.run(MDMMetadataDriverImpl_92.java:3013)

    I would post this on the OLAP forum as they should be able to help you diagnose this problem. The OLAP forum can be found at the following link:
    OLAP
    There is not much detail in your log, but I suspect that your OLAP mappings are incomplete or the maintenance of your dimension to load the new attribute data somehow failed. I would check the OLAP AWM build logs for more information.
    Thanks
    Keith
    Oracle Business Intelligence Product Management
    BI on Oracle: http://www.oracle.com/bi/
    BI on OTN: http://www.oracle.com/technology/products/bi/
    BI Beans http://www.oracle.com/technology/products/bib/index.html
    Discoverer: http://www.oracle.com/technology/products/discoverer/
    BI Software: http://www.oracle.com/technology/software/products/ias/devuse.html
    Documentation: http://www.oracle.com/technology/documentation/appserver1012.html
    BI Samples: http://www.oracle.com/technology/products/bi/samples/
    Blog: http://oraclebi.blogspot.com/

Maybe you are looking for

  • Introduce error message for a particular SAP standard function

    Hi All, In TCode CS02 - BOM Changes, for a particular BOM usuage [say D], whenever a user clicks on Material BOM- DELETE, I would like an error message to be displayed saying that they need a Change Number. Could you please let me know how I go about

  • Combine checked item and update column

    Hi all, need to design a screen that allow user to update column (code) and also pick which statement to display for the next stage. My thought was to create a checkitem and LOV display. Once user has checked the box , the process should update the c

  • Storing Uploaded Audio Files in Your Database

    I have been using the cffile tag to upload files into a directory on the server and then writing the details of that file into a database, but I would like to now instead of uploading and writing the file to a directory, I would like to write that fi

  • Table Required to define RFC destinations

    Hi, I am working on SAP PI/XI. I had created an Custom Function Module (RFC Wrapper) in XI or PI which calls Bapi's in SAP R/3. So we specify the RFC Destinations in the code to call the Bapis. But these RFC destination Values changes for DEV, QA and

  • Deleting Services

    I've deleted a couple third-party applications recently, but when I go to Finder>Services, their services still show up, even though the application they point to are gone. Is there an easy fix to this?