IP Comment solution (How To Document) - not showing comments in column

Hi there,
I've just implemented the solution drescribed in the How To Paper "How To... Build a Fast and Flexible Comment Solution for BEx Web Applications" and so far, it works quite well, except of one crucial thing: the comments are NOT shown in the defined comment_column of the query.
If I jump to the RRI-target or double-click the column cell, the BSP application is shown with the correct comment, but it is not shown directly in the web.
Does anyone of you know, what could be wrong or where to start analysing?
Thanks a lot

Dear Gerd
I have followed this discussion due to the fact that we use com.sap.ip.bi.rig for our comment solution.
Our comments are currently not saved in SAP BW (backend) in a table (DSO), they are stored in SAP BW Portal KM.
We are facing huge performance problems with this solutions, therefore we think about to re-desgin our comment solution. We plan to move our comments into a table of SAP BW backend.
We read the latest version 2.3 of this How To paper.
We still have a few question, also regarding the discussion of this blog.
I would like to start:
1.) the comments are NOT shown in the defined comment-column of the query.  If I jump to the RRI-target or double-click the column cell, the BSP application is shown with the correct comment, but it is not shown directly in the web                                  
This issue seems to be solved with version 2.1 of the How To... Build a Fast and Flexible Comment
                                                                                                                                                                                                                                Are there no complaints with the current version 2.3 regarding this problem?
2.) length of comments. Can we use more than 60 characters for a comment with this solution?
3.) Are there still any problems with alphanumeric characteristics (costcenters, orders, etc.)
4.) FM CORRECT_COMPOUND_CHARS: There was a compliant that you might have problems with compounded characteristics. Example: costcenter (char 5): 1001, cost center area: 99. BEx query result: 91001. Is this problem still current?
5.) Our requirement is to fill up comments on hierarchy nodes. In former times this was not possible in the ABAP stack, therefore we used the SAP BW portal to store our comments (note 1050190).    Is this requirement of comment creation on hierarchy nodes in SAP BW backend with How To paper version 2.3 now possible?
6.) As we are already using modul com.sap.ip.bi.rig can we run our current solution (Portal) in parallel to our intended solution in BW backend by using two analysis items? This means: We need our old comments of the "portal" version, additionally we need to enter new comments with the "new" solution.
7.) We expect a performance increase with the solution to store comments in the ABAP stack, as the comments are closer to the characteristics and key figures. Can you confirm this evaluation?
It would be fantastic to get a few answers on my questions.
Kind Regards
Thomas

Similar Messages

  • Accounting document not showing

    Dear Guru's
         The Issue is  After posting miro document one miro document will show in the bottom of the screen, my client place along with miro document accouning document also showing with in the brackets,  it is showing  like this Invoice doucment posted  51057123 was posted (accounting document 441234),  but here the problem is it is showing some user login ID's only recently one user took the miro transaction authorisation in his login ID accounting document not showing. 
    Pls suggest me,
    Thanks & Regards
    Chandra Sekhar Reddy.P
    998673663

    Hi..
    This is regarding authorization ....
    when u save the document in MIRO....later u run transaction /NSU53 & forward the activity to Basis guy....
    Repeat this till u are able to see the accounting documents generated...
    Regards,
    Satpal

  • Accounting document not showing in G/L -fbl3n

    Dear All,
    We are facing a problem n accounting document not showing in G/L FBL3N. when i saw in FB03 then it showing with all details including GL account. but when i go in FBL3N it was not showing. The document posted from payroll hra component. fb03 screen shot attached.
    Thanks,
    Mukesh

    Hi .
    Did you enter the correct parameter in FBl3n . Its looks liek this is related to Fiscal year 2013 and posted on 31.05.2013. .
    Can you please neter below parameters in FBl3n
    company code 1000
    GL account  42001021
    All item
    Posting date  31.05.2013 to 31.05.2013
    I am little bit confused  that your header of document not showing any Ledger group as well . can you please run FBL3n with above parameters and if it doesn't display  letus know .

  • Material Document Not Shows the System

    Dear All
         In my client is Done the Migo W r t Po but that Materail document not shows the PO History and Mb51, but i check the PO in delivery is Complted in delidery status. plz i need your help.
    Thanks  And Regards
    Sonu

    Sorry ya, its not Coming, material document does not Exist. error is comeign.

  • My login widow shows both user account and system administrator account . how do i not show the root account on my MBP i have upgraded to mountain lion

    my log in window shows btoh my user account and the system administrator (root) acount. how do i not show the system accout on the log in window?

    I think you need to disable the root user assuming you have it enabled.
    Navigate thus;
    /Applications/Utilities/Directory Utility
    ...and then.....
    Edit>Disable Root User

  • My iTunes is not showing the left column

    My iTunes is not showing the left column, it will NOT show the link to the music store or my playlists, and it is driving me crazy! PLEASE HELP ME!!

    How to restore your Preferences Dialog Boxes and/or your Source Pane:
    Scott P.: My Source List is missing (or, resetting the prefs)

  • Document not showing properly when opening in Acrobat 9 Pro

    When I create a document in InDesign and export it as a PDF, I want to see what it looks like as the PDF. One of the documents that I opened does not look as it should. It only has the photo on the ad but is missing the red background and the words on the ad. As a thumbnail, it looks correct. But, it is not showing up correctly when I open it in Acrobat. Some of the other ads are fine but this one in particular is not showing me all the elements. What do I do to fix this?

    Yes, I have the most current version of AA9. I exported the document from InDesign using the PDF exporter. That is what I have used for years and it has worked fine. I just installed CS4 yesterday.
    I think I realized what the problem is but I don't know how to fix it properly. I actually went back to the preferences in AA9 to the document color options in accessibility and changed it back to its original state (which, I believe, is where nothing is checked). I had originally changed it because I was trying to experiment with the background of the program. It's black and when I open a PDF, I can't see the black border. But I mistakenly changed the document color. Which brings me to the question of: how do you change the background color of the page so that I can see the black border on the document? I sell advertising so I need to be sure that when people send me their ads, they have black borders. And I can't tell when it has the background behind the document so dark. Acrobat Reader has a white background.
    Additionally, can I still install the latest Acrobat Reader and use that instead of AA9 if I want to? It seems easier.

  • MIRO (accounting document not showing)

    Dear Guru's
    When ever we save the miro transaction one miro document will generate and inside accounting document, profit center and controling document will generate.   my problem is when we save the miro document bottom of that screen miro document will show.  In my client place when we save miro document that time miro document no. and accounting document also showing within brackets like this - Invoice doucment 5170123 saved (accounting document 441234). but my issue is only a few login id's it is showing like this.
    one login id it is not showing which is said above that login id it is showing only miro document (5170124).
    pls suggest me how to over come this problem.
    Thanks & Regards
    chandra sekhar reddy

    The parameter ID IVFIDISPLAY need to be added in the User Master Parameters tab using SU01 for other user or for slef user use SU3.
    after maintaining the parameter, maintain the Parameter value as X
    Run this parameter...its not provided in the scrap system...we need to run it...try to do this...
    Even if it doen't works then check with the basis consultant...
    Hope it helps..
    Regards
    Priyanka.P

  • Pages documents not showing up in iCloud

    Hello,
    I'm having a problem with my iPage documents and iCloud. If I add or create a document on one device (iMac, iPad or iPhone), it does not show up on any of the other devices. I have the iCloud document settings turned on for all three, logged in and out of iCloud, but nothing works yet. I have 10.8.2 on my iMac and 6.0.2 on both my iPad (2) and iPhone (5). Does anyone have any suggestions? Thanks!
    Paul

    I'm in the same boat... iCloud shows some of my saved documents, but won't let me open or access them, while other folders or documents aren't showing up at all on some devices...

  • Photos in pdf documents not showing on iPhone or iPad

    I notice that when I create a PDF document on my iMac that includes photos and some grpahics work, when I go to view the document on my iPhone 4, iPhone 3 or iPad that about 80% of the photos do not show even though they look fine on the iMac... Why is this?

    Currently both are active. I don't want to have all of my photos on the icloud.  So should I only be using "icloud photo sharing"?
    I created an album on my iphone and this album shows up on my ipad and macbook pro.  However, I created another album on my macbook and this new album doesn't show up on either my iphone or ipad.
    These albums are not shared albums...they are only albums for me. Isn't "icloud photo sharing" different from the albums I speaking about?  My understandind is "icloud photo sharing" is for sharing my albums with friends and family.
    Thanks for your help

  • IView Appraisal Document not showing customer process step names.

    the iView "Appraisal Document", after pressing the pushbutton to move to the next process step, shows the text
    "status changed to 'In Review'" in the info area of the iView.
    we have changed the names of the standard process steps using IMG "Define Tabs and Process Configuration for Template"
    for instance we renamed "In Review" to "Progress Tracking".
    the issue is the iView "Appraisal Document" still shows "status changed to 'In Review'" instead of showing "status changed to 'Progress Tacking'".
    note: the names of the steps in the roadmap (on top of the iView) show correctly, it is just that the state transitions "Status changed to..." the names of steps show standard instead of customer steps.
    any idea why?
    Thanks,
    Tiberiu

    Hi,
    My first advice would be to talk to customer out of this.
    As a client using SAP you're using standard software which has predefined 'names' for certain things. The names of appraisal - statuses is one of them.
    (I've never seen a client wanting to adopt the names of menu texts in Microsoft Office and personally I don't seen the difference. Of course, it will take some time for the client to get used to the new names but in a year or two, everybody is used to those terms).
    If you don't succeed, there's no need to change programs. You'll need to change the values of the standard SAP - domain mentioed before.
    Wilfred.

  • ICloud sync problems, documents not showing up

    I uploaded a few documents on to my iCloud drive from my Mac 1.
    I can see them from My Mac 1 and from iCloud.com but cannot from my other Macs.
    Documents were uploaded in the morning and am checking at night, still no signs.
    Is there a access or sync issue for showing documents across all your devices ?

    Ok got it to work. I went and created another folder just a dummy one on my Mac which was not showing it.
    And eureka it synced immediately and showed up all the docs.
    Sync bug !!!!!

  • How can I not show my e-mail address in "from" line when sending out e-mails?

    I don't want to show the e-mail address in the "from" line when I send out e-mails.  Is there a way to hide that?
    Thank you!

    whiskey sour wrote:
    Okay here is where I am at so far and thanks for sticking with me, we may have success eventually! Can you confirm the following:
    1--I Go into the iMac Address Book and click on File/Export/Address Book Archive.
    2--It then asks me where I want to save Address Book and I indicate Desktop.
    3--I then assume I somehow transfer this Desktop file to the iBook--can I just copy the file, email it to the iBook, and paste it into the iBook Desktop?
    Yes
    4--If I'm accurate so far, I then do the same with the iBook Archive and save it
    to the iBook Desktop.
    Yes
    5--NOW I open the iMac archive that is on the iBook desktop and it will ask me if I want to overwrite the existing iBook address book and I indicate Yes and it will then place the iMac address book on the iBook.
    Yes
    6--When and if I want to put the iBook address book back into the iBook I click on the file that is on the iBook Desktop and proceed to put the 'old' iBook address book back in.
    That's it.
    If I am correct on this, another question arises--does this method transfer every email address I use as I notice in Address Book under 'All Contacts' there are some that are missing. I may not have manually added each and every address to my Address Book so maybe that is why some are missing and may not show up in this transfer of Archives? Thanks for your patience Barney.
    That's what I would assume. Like I said, the Archive is really just a copy of the AddressBook folder which contains everything related to Address Book and Mail's previous recipients.
    Now, the Address Book contacts and Mail's previous recipients are different entities--they just share the same storage location. So, if that is what you mean by there are some missing, they should still auto-complete in Mail since the previous recipients also is used for auto-complete.

  • Possible to solution to App Store not showing Updates

    I had this issue and submitted a support request. Here is what I received. I cannot say whether it worked or not, since I don't currently have any apps to update, but I did it.
    I understand that you App Store does not show your app updates. Please follow the steep below to help resolve the issue.
    1. Close All Apps on iPad: http://support.apple.com/kb/ht5137
    2. Sign out of iTunes & App Stores: Settings > iTunes & App Stores > Tap AppleID > Sign out
    3. Reset All Settings: Settings > General > Reset > Reset All Settings
    4. Reboot iPad
    5. Sign back into iTunes and App Stores: Settings > iTunes & App Stores > Sign In with AppleID
    Thank you for being an iTunes store customer. Apple appreciates your business.

    Try this workaround
    App Store>Purchased>Select "All"
    Note: Look out for apps that have the word "Update"
    http://i1224.photobucket.com/albums/ee374/Diavonex/9c256282736869f322d4b3071bbb2 a82_zps51a6f546.jpg

  • JTable Problem (table does not show rows and columns)

    Hi All,
    What the table is suppose to do.
    - Load information from a database
    - put all the values in the first column
    - in the second column put combobox (cell editor with numbers 1-12)
    - the 3rd column put another combobox for something else
    - the 4th column uses checkbox as an edit
    The number of rows of the table should be equal to the number of
    record from
    the database. If not given it default to 20 (poor but ok for this)
    The number of columns is 4.
    But the table does not show any rows or
    column when I put it inside a
    JScrollPane (Otherwise it works).
    Please help,
    thanks in advance.
    public class SubjectTable extends JTable {
    * Comment for <code>serialVersionUID</code>
    private static final long serialVersionUID = 1L;
    /** combo for the list of classes */
    protected JComboBox classCombo;
    /** combo for the list of subjects */
    protected JComboBox subjectsCombo;
    /** combo for the list of grade */
    protected JComboBox gradeCombo;
    boolean canResize = false;
    boolean canReorder = false;
    boolean canSelectRow = false;
    boolean canSelectCell = true;
    boolean canSelectColumn = true;
    // the row height of the table
    int rowHeight = 22;
    // the height of the table
    int height = 200;
    // the width of the table
    int width = 300;
    // the size of the table
    Dimension size;
    * Parameterless constructor. Class the one of the other constructors
    to
    * create a table with the a new <code>SubjectTableModel</code>.
    public SubjectTable() {
    this(new SubjectTableModel());
    * Copy constructor to create the table with the given
    * <code>SubjectTableModel</code>
    * @param tableModel -
    * the <code>SubjectTableModel</code> with which to
    initialise
    * the table.
    SubjectTable(SubjectTableModel tableModel) {
    setModel(tableModel);
    setupTable();
    * Function to setup the table's functionality
    private void setupTable() {
    clear();
    // set the row hieght
    this.setRowHeight(this.rowHeight);
    // set the font size to 12
    //TODO this.setFont(Settings.getDefaultFont());
    // disble reordering of columns
    this.getTableHeader().setReorderingAllowed(this.canReorder);
    // disble resing of columns
    this.getTableHeader().setResizingAllowed(this.canResize);
    // enable the horizontal scrollbar
    this.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
    // disable row selection
    setRowSelectionAllowed(this.canSelectRow);
    // disable column selection
    setColumnSelectionAllowed(this.canSelectColumn);
    // enable cell selection
    setCellSelectionEnabled(this.canSelectCell);
    setPreferredScrollableViewportSize(getSize());
    TableColumn columns = null;
    int cols = getColumnCount();
    for (int col = 0; col < cols; col++) {
    columns = getColumnModel().getColumn(col);
    switch (col) {
    case 0:// subject name column
    columns.setPreferredWidth(130);
    break;
    case 1:// grade column
    columns.setPreferredWidth(60);
    break;
    case 2:// class room column
    columns.setPreferredWidth(120);
    break;
    case 3:// select column
    columns.setPreferredWidth(65);
    break;
    } // end switch
    }// end for
    // set up the cell editors
    doGradeColumn();
    doClassColumn();
    //doSubjectColumn();
    * Function to clear the table selection. This selection is different
    to
    * <code>javax.swing.JTable#clearSelection()</code>. It clears the
    user
    * input
    public void clear() {
    for (int row = 0; row < getRowCount(); row++) {
    for (int col = 0; col < getColumnCount(); col++) {
    if (getColumnName(getColumnCount() - 1).equals("Select")) {
    setValueAt(new Boolean(false), row, getColumnCount() - 1);
    }// if
    }// for col
    }// for row
    * Function to set the cell renderer for the subjects column. It uses
    a
    * combobox as a cell editor in the teacher's subjects table.
    public void doSubjectColumn() {
    TableColumn nameColumn = getColumnModel().getColumn(0);
    nameColumn.setCellEditor(new DefaultCellEditor(getSubjectsCombo()));
    // set up the celll renderer
    DefaultTableCellRenderer renderer = new DefaultTableCellRenderer();
    renderer.setToolTipText("Click for drop down list");
    nameColumn.setCellRenderer(renderer);
    // Set up tool tip for the sport column header.
    TableCellRenderer headerRenderer = nameColumn.getHeaderRenderer();
    if (headerRenderer instanceof DefaultTableCellRenderer) {
    ((DefaultTableCellRenderer) headerRenderer)
    .setToolTipText("Click the Name to see a list of choices");
    }// end doSubjectsColumn----------------------------------------------
    /** Function to set up the grade combo box. */
    public void doGradeColumn() {
    TableColumn gradeColumn = getColumnModel().getColumn(1);
    gradeColumn.setCellEditor(new DefaultCellEditor(getGradeCombo()));
    DefaultTableCellRenderer renderer = new DefaultTableCellRenderer();
    renderer.setToolTipText("Click for drop down list");
    gradeColumn.setCellRenderer(renderer);
    // Set up tool tip for the sport column header.
    TableCellRenderer headerRenderer = gradeColumn.getHeaderRenderer();
    if (headerRenderer instanceof DefaultTableCellRenderer) {
    ((DefaultTableCellRenderer) headerRenderer)
    .setToolTipText("Click the Grade to see a list of choices");
    }// end doGradeColumn-------------------------------------------------
    * Function to setup the Class room Column of the subjects
    public void doClassColumn() {
    // set the column for the classroom
    TableColumn classColumn = getColumnModel().getColumn(2);
    classColumn.setCellEditor(new DefaultCellEditor(getClassCombo()));
    DefaultTableCellRenderer renderer = new DefaultTableCellRenderer();
    renderer.setToolTipText("Click for drop down list");
    classColumn.setCellRenderer(renderer);
    // Set up tool tip for the sport column header.
    TableCellRenderer headerRenderer = classColumn.getHeaderRenderer();
    if (headerRenderer instanceof DefaultTableCellRenderer) {
    ((DefaultTableCellRenderer) headerRenderer)
    .setToolTipText("Click the Class to see a list of choices");
    }// end doClassColumn--------------------------------------------------
    * Function to get the size of the table
    * @return Returns the size.
    public Dimension getSize() {
    if (this.size == null) {
    this.size = new Dimension(this.height, this.width);
    return this.size;
    * Function to set the size of the table
    * @param dim
    * The size to set.
    public void setSize(Dimension dim) {
    if (dim != null) {
    this.size = dim;
    return;
    * Function to create/setup the class room comboBox. If the comboBox
    is
    * <code>null</code> a nwew one is created else the functon returns
    the
    * function that was returned initially.
    * @return Returns the classCombo.
    private JComboBox getClassCombo() {
    if (this.classCombo == null) {
    this.classCombo = new JComboBox();
    // fill up the class name combo
    ArrayList classRooms = new ArrayList();
    try {
    //TODO classRooms = Settings.getDatabase().getClassRooms();
    for (int i = 0; i < 10; i++) {
    String string = new String("Class");
    string += i;
    if (!classRooms.isEmpty()) {
    classRooms.trimToSize();
    for (int i = 0; i < classRooms.size(); i++) {
    this.classCombo.addItem(classRooms.get(i));
    } catch (Exception e) {
    e.printStackTrace();
    return this.classCombo;
    * Function to create/setup the subjects comboBox. If the comboBox is
    * <code>null</code> a nwew one is created else the functon returns
    the
    * function that was returned initially.
    * @return Returns the subjectsCombo.
    private JComboBox getSubjectsCombo() {
    if (this.subjectsCombo == null) {
    this.subjectsCombo = new JComboBox();
    try {
    ArrayList subjects = loadSubjectsFromDatabase();
    if (!subjects.isEmpty()) {
    Iterator iterator = subjects.iterator();
    while (iterator.hasNext()) {
    // create a new subject instance
    //TODO Subject subct = new Subject();
    // typecast to subject
    //TODO subct = (Subject) iterator.next();
    String name = (String) iterator.next();
    // add this subject to the comboBox
    //TODO this.subjectsCombo.addItem(subct.getName());
    subjectsCombo.addItem(name);
    }// end while
    }// end if
    else {
    JOptionPane.showMessageDialog(SubjectTable.this,
    "Subjects List Could Not Be Filled");
    System.out.println("Subjects List Could Not Be Filled");
    } catch (Exception e) {
    e.printStackTrace();
    return this.subjectsCombo;
    * Function to load subjects from the <code>Database</code>
    * @return Returns the subjects.
    private ArrayList loadSubjectsFromDatabase() {
    // list of all the subject that the school does
    ArrayList subjects = new ArrayList();
    try {
    //TODO to be removed later on
    for (int i = 0; i < 10; i++) {
    String string = new String("Subject");
    string += i;
    subjects.add(i, string);
    // set the school subjects
    //TODO subjects = Settings.getDatabase().loadAllSubjects();
    } catch (Exception e1) {
    e1.printStackTrace();
    return subjects;
    * Function to create/setup the grade comboBox. If the comboBox is
    * <code>null</code> a nwew one is created else the functon returns
    the
    * function that was returned initially.
    * @return Returns the gradeCombo.
    private JComboBox getGradeCombo() {
    if (this.gradeCombo == null) {
    this.gradeCombo = new JComboBox();
    // fill with grade 1 to 12
    for (int i = 12; i > 0; i--) {
    this.gradeCombo.addItem(new Integer(i).toString());
    return this.gradeCombo;
    public static void main(String[] args) {
    try {
    UIManager.setLookAndFeel(new Plastic3DLookAndFeel());
    System.out.println("Look and Feel has been set");
    } catch (UnsupportedLookAndFeelException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    SubjectTableModel model = new SubjectTableModel();
    int cols = model.getColumnCount();
    int rows = model.getRowCount();
    Object[][] subjects = new Object[rows][cols];
    for (int row = 0; row < rows; row++) {
    subjects[row][0] = new String("Subjectv ") + row;
    }//for
    model.setSubjectsList(subjects);
    SubjectTable ttest = new SubjectTable(model);
    JFrame frame = new JFrame("::Table Example");
    JScrollPane scrollPane = new JScrollPane();
    scrollPane.setViewportView(ttest);
    frame.getContentPane().add(scrollPane);
    frame.pack();
    frame.setVisible(true);
    **************************************END
    TABLE******************************
    ----------------------------THE TABLE
    MODEL----------------------------------
    * Created on 2005/03/21
    * SubjectTableModel
    package com.school.academic.ui;
    import javax.swing.table.AbstractTableModel;
    * Class extending the <code>AbstractTableModel</code> for use in
    creating the
    * <code>Subject</code>s table. In addition to the implemented methods
    of
    * <code>AbstractTableModel</code> The class creates a model that has
    initial
    * values - the values have their own <code>getter</code> and
    * <code>setter</code> methods - but can still be used for values that
    a user
    * chooses.
    * <p>
    * @author Khusta
    public class SubjectTableModel extends AbstractTableModel {
    * Comment for <code>serialVersionUID</code>
    private static final long serialVersionUID = 3257850978324461113L;
    /** Column names for the subjects table */
    String[] columnNames = { "Subject", "Grade", "Class Room",
    "Select" };
    /** Array of objects for the subjects table */
    Object[][] subjectsList;
    private int totalRows = 20;
    protected int notEditable = 0;
    * Parameterless constructor.
    public SubjectTableModel() {
    // TODO initialise the list
    // add column to the default table model
    this.subjectsList = new
    Object[getTotalRows()][getColumnNames().length];
    * Copy constructor with the <code>subjectList</code> to set
    * @param subjects
    public SubjectTableModel(Object[][] subjects) {
    this(0, null, subjects, 0);
    * Copy constructor with the initial number of row for the model
    * @param rows -
    * the initial rows of the model
    * @param cols -
    * the initial columns of the model
    * @param subjects -
    * the initial subjects for the model
    * @param edit - the minimum number of columns that must be
    uneditable
    public SubjectTableModel(int rows, String[] cols, Object[][]
    subjects, int edit) {
    // set the initial rows
    setTotalRows(rows);
    // set the column names
    setColumnNames(cols);
    // set the subjectlist
    setSubjectsList(subjects);
    //set not editable index
    setNotEditable(edit);
    * Function to get the total number of columns in the table
    * @return int -- the columns in the table
    public int getColumnCount() {
    if (this.subjectsList == null) {
    return 0;
    return getColumnNames().length;
    * Function to get the total number of rows in the table
    * @return int -- the rows in the table
    public int getRowCount() {
    if (this.subjectsList == null) {
    return 0;
    return this.subjectsList.length;
    * Function to get the name of a column in the table.
    * @param col --
    * the column to be named
    * @return String -- the column in the table
    public String getColumnName(int col) {
    if (getColumnNames()[col] != null) {
    return getColumnNames()[col];
    return new String("...");
    * Function to get the value of the given row.
    * @param row --
    * the row of the object.
    * @param col --
    * the col of the object.
    * @return Object -- the value at row, col.
    public Object getValueAt(int row, int col) {
    return getSubjectsList()[row][col];
    * Function to return the data type of the given column.
    * @param c --
    * the column whose type must be determined.
    * @return Class -- the type of the object in this col.
    public Class getColumnClass(int c) {
    if (getValueAt(0, c) != null) {
    return getValueAt(0, c).getClass();
    return new String().getClass();
    * Function to put a value into a table cell.
    * @param value --
    * the object that will be put.
    * @param row --
    * the row that the object will be put.
    * @param col --
    * the col that the object will be put.
    public void setValueAt(Object value, int row, int col) {
    * TODO: Have a boolean value to determine whether to clear or
    to set.
    * if true clear else set.
    if (value != null) {
    if (getSubjectsList()[0][col] instanceof Integer
    && !(value instanceof Integer)) {
    try {
    getSubjectsList()[row][col] = new
    Integer(value.toString());
    fireTableCellUpdated(row, col);
    } catch (NumberFormatException e) {
    * JOptionPane .showMessageDialog( this., "The \""
    +
    * getColumnName(col) + "\" column accepts only
    values
    * between 1 - 12");
    return;
    System.out.println("Value = " + value.toString());
    System.out.println("Column = " + col + " Row = " + row);
    // column = Grade or column = Select
    switch (col) {
    case 2:
    try {
    // TODO
    if (Boolean.getBoolean(value.toString()) == false
    && getValueAt(row, 0) != null
    && getValueAt(row, 1) != null
    && getValueAt(row, 2) != null) {
    // subjectsList[row][col + 1] = new
    Boolean(true);
    System.out.println("2. false - Updated...");
    * this.subjectListModel.add(row,
    * this.subjectsList[row][0] + new String(" -
    ") +
    * this.subjectsList[row][2]);
    } catch (ArrayIndexOutOfBoundsException exception) {
    exception.printStackTrace();
    break;
    case 3:
    if (Boolean.getBoolean(value.toString()) == false
    && getValueAt(row, 0) != null
    && getValueAt(row, 1) != null
    && getValueAt(row, 2) != null) {
    System.out.println("3. If - Added...");
    getSubjectsList()[row][3] = new Boolean(true);
    this.subjectListModel.addElement(this.subjectsList[row][0] +
    * new String(" - ") + this.subjectsList[row][2]);
    // subjectListModel.remove(row);
    fireTableCellUpdated(row, col);
    fireTableDataChanged();
    // this.doDeleteSubject();
    } else if (Boolean.getBoolean(value.toString()) ==
    true
    && getValueAt(row, 0) != null
    && getValueAt(row, 1) != null
    && getValueAt(row, 2) != null) {
    setValueAt("", row, col - 1);
    setValueAt("", row, col - 2);
    setValueAt("", row, col - 3);
    System.out.println("3. Else - Cleared...");
    // this.subjectListModel.remove(row);
    break;
    default:
    break;
    }// end switch
    getSubjectsList()[row][col] = value;
    fireTableCellUpdated(row, col);
    fireTableDataChanged();
    }// end if
    }// end
    * Function to enable edition for all the columns in the table
    * @param row --
    * the row that must be enabled.
    * @param col --
    * the col that must be enabled.
    * @return boolean -- indicate whether this cell is editble or
    not.
    public boolean isCellEditable(int row, int col) {
    if (row >= 0
    && (col >= 0 && col <= getNotEditable())) {
    return false;
    return true;
    * Function to get the column names for the model
    * @return Returns the columnNames.
    public String[] getColumnNames() {
    return this.columnNames;
    * Function to set the column names for the model
    * @param cols
    * The columnNames to set.
    public void setColumnNames(String[] cols) {
    // if the column names are null the default columns are used
    if (cols != null) {
    this.columnNames = cols;
    * Function to get the rows of subjects for the model
    * @return Returns the subjectsList.
    public Object[][] getSubjectsList() {
    if (this.subjectsList == null) {
    this.subjectsList = new
    Object[getTotalRows()][getColumnNames().length];
    return this.subjectsList;
    * Function to set the subjects list for the model
    * @param subjects
    * The subjectsList to set.
    public void setSubjectsList(Object[][] subjects) {
    // if the subject list is null create a new one
    // using default values
    if (subjects == null) {
    this.subjectsList = new
    Object[getTotalRows()][getColumnNames().length];
    return;
    this.subjectsList = subjects;
    * Function to get the total number of rows for the model. <b>NB:
    </b> This
    * is different to <code>
    getRowCount()</code>.<code>totalRows</code>
    * is the initial amount of rows that the model must have before
    data can be
    * added.
    * @return Returns the totalRows.
    * @see #setTotalRows(int)
    public int getTotalRows() {
    return this.totalRows;
    * Function to set the total rows for the model.
    * @param rows
    * The totalRows to set.
    * @see #getTotalRows()
    public void setTotalRows(int rows) {
    // if the rows are less than 0 the defaultRows are used
    // set getTotalRows
    if (rows > 0) {
    this.totalRows = rows;
    * Function to get the number of columns that is not editble
    * @return Returns the notEditable.
    public int getNotEditable() {
    return this.notEditable;
    * Function to set the number of columns that is not editable
    * @param notEdit The notEditable to set.
    public void setNotEditable(int notEdit) {
    if (notEdit < 0) {
    notEdit = 0;
    this.notEditable = notEdit;
    ----------------------------END TABLE MODEL----------------------------------

    I hope you don't expect us to read hundreds of lines of unformatted code? Use the "formatting tags" when you post.
    Why are you creating your own TableModel? It looks to me like the DefaultTableModel will store you data. Learn how to use JTable with its DefaultTableModel first. Then if you determine that DefaultTableModel doesn't provide the required functionality you can write your own model.

Maybe you are looking for

  • Execute Procedure

    Hi, I am having table like this: tmp_pdf ID NUMBER(9) PK pdf BLOB NULLABLE I wrote a procedure like insert_pdf. I am having SQL developer tool. I am using this statement to execute the procedure: EXECUTE insert_pdf(1,NULL); I am getting this error -

  • Fixing parameter based on User in Infoview

    Hi I want to know whether there is an option in Infoview to fix the parameter values based on the user who has logged in or any othe similar actions. What I want to do is I have one report which gives data for different departments. I have included o

  • Problem with two OC4J instances in Oracle 10g AS

    hi all, i am using windows XP(OS), Oracle 10g Application Server. when i create two instances of OC4j other than home instance, say instance1 and instance2 and deploy two different applications in two instances then i get "page not found" error. both

  • Logging Console

    EP6 sp2 We have a 3 server (6 nodes) production environment and we are trying to figure out why some nodes have much higher CPU usage than others. We looked at the logger.xml on each node and noticed that, on the nodes with high CPU utilization, that

  • "linearize workspace" not retained by media encoder?

    hi all I am experimenting with linear workflow, exporting some 16 and 32 bit files from my 3D app, and compositing in After Effects. When I opened media encoder, and dragged my file in as usual, I immediately noticed the preview footage was darker, a