RowIterator

Hi,
I am trying to iterate through the rows in a detail entity to determine what the maximum number is in a field. The number in each row represents its position in the detail set. When I get the max I will return it to the create(Attributes) method of the detail entity and bump it by one to set its position value when the new record for the entity is created via the insert button in the navigation bar.
I defined a non-persistent field in the master entity and am using its get function to do the iteration. In my test case I have 3 existing records and the new empty record created by pressing the insert button. When I try to iterate through the detail records, on the second time through the loop the next() returns a null the second time through the loop.
Here is the code. I have left some debugging statements in so I know what values are.
public Number getComorbidsmaxrow() {
// return (Number)getAttributeInternal(COMORBIDSMAXROW);
/* Get an iterator over the number of comorbid records */
RowIterator comorbids = this.getComorbids();
int rowSlot = comorbids.getCurrentRowSlot(); // rowSlot is equal to 2
int numRows = comorbids.getRowCount(); // numRows is equal to 4
comorbids.reset();
/* diagnosis refers to each item within Comorbids */
ComorbidsImpl diagnosis;
/* maxRow is the maximum row number found in the Comorbids set */
Number maxrow = new Number(0);
/* rowNum is the number of the current diagnosis */
Number rowNum;
try {
// Get the next diagnosis, if comorbids.hasNext() is false then we have reached
// the end of the iterator
while (comorbids.hasNext()){
diagnosis = (ComorbidsImpl) comorbids.next();
rowNum = diagnosis.getComorbidno(); //first time through, rowNum is equal to null, I believe because the first record is the one being inserted; second time program jumps to the catch after attempting the next() in the previous statement.
int rowIndex = comorbids.getCurrentRowIndex();
if (rowNum != null) {
if (maxrow.intValue() < rowNum.intValue()) maxrow = rowNum;
catch (Exception ex) {
return maxrow;
return maxrow;
I used the Order/lineItem (traversing entity objects) and the calcDeptTotal (subscribing to an event) examples as models.
Thanks for any help.
Peter

Not entirely sure what you mean...but this might helpful.
This is meant for a "Data Action" on your struts diagram...you can do a lot there. It's a starting point...there are better ways to handle some of it.
protected void findForward(DataActionContext actionContext)
throws IOException, ServletException {
//This is a view object...javadoc it. You can create/edit, set where clauses, delete etc..
//Remember to call vo.executeQuery(); after you're done...
ViewObject vo = actionContext.getBindingContainer().getApplicationModule().findViewObject("SearchClassesView1");
//This is the request...you can pull parameters from the GET/POST for instance...to set where clauses or what have you.
HttpServletRequest request = actionContext.getHttpServletRequest();
String categories = request.getParameter("categories");
//This is the session...you can set and read attributes from their current session, among other things.
HttpSession session2 = actionContext.getHttpServletRequest().getSession();
//This sets which struts "forward" to follow at the end of the data action.
String target = "success";
actionContext.setActionForward(target);

Similar Messages

  • New Bug in 10.1.2: getAccessor in Entity returns Row instead of RowIterator

    Hi
    There seems to be a new serious Bug in JDeveloper 10.1.2. Please assume the following Situation:
    MaEntity - Master Entity
    DetEntity - Detail Entity
    MaView - A View for the Master Entity
    DetView - A View for the Detail Entity
    DetMaFkAssoc - Association between MaEntity and DetEntity
    DetMaVL - ViewLink between MaView and DetView.
    Accessor "DetView" is exposed in Entity MaEntity. Here is the generated code in MaEntity:
    public RowIterator getDetView()
      return (RowIterator)getAttributeInternal(DETVIEW);
    }This Accessor failes with a class cast exception
      java.lang.ClassCastException: my.package.DetViewRowImplUps, what is this??? The Accessor obviously returned a Row for the Detail View, where a RowIterator should have been returned!
    I'd appreciate if anyone from oracle could have a look at this!
    Thanks

    Some more info:
    A short look into MaEntity.xml reveals the following code snippet  
       <AccessorAttribute
          Name="DetEntity"
          Association="my.package.DetMaFkAssoc"
          AssociationEnd="my.package.DetMaFkAssoc.DetEntity"
          AssociationOtherEnd="my.package.DetMaFkAssoc.MaEntity"
          Type="oracle.jbo.RowIterator"
          IsUpdateable="false" >
       </AccessorAttribute>
       <ViewLinkAccessor
          Name="DetView"
          ViewLink="my.package.DetMaVL"
          ViewLinkEnd="my.package.DetMaVL.DetView"
          ViewLinkOtherEnd="my.package.DetMaVL.MaView1"
          Type="oracle.jbo.server.ViewRowImpl"
          IsUpdateable="false" >
       </ViewLinkAccessor>Obviously the two Accessors point into different directions. The Association-Accessor is correct, whereas the ViewLinkAccessor returns a ViewRowImpl instead of a RowIterator.
    The codesample above was generated by a wizard in a new simple test project of JDeveloper 10.1.2. I realized, that JDeveloper 9.0.5.2 has also created wrong XML Code. But, for some reason it has worked in this Version.
    This is a serious bug, which will probably prevent me from upgrading to 10.1.2 as this will break my application. :-(
    Any hints are appreciated
    Thanks Frank Brandstetter

  • How can i pass rowiterator method

    hi how can i pass rowiterator method
    i got below method how can i pass it to my postchanges mothod e.g
    SmsPropertiesImpl property = getSmsProperties();
    am in jdeveloper 11.1.2.1.0
    public class SmsPartyAddressImpl extends EntityImpl {
        public RowIterator getSmsProperties() {
            return (RowIterator)getAttributeInternal(SMSPROPERTIES);
        public void postChanges(TransactionEvent e) {
            /* If current entity is new or modified */
            if (getPostState() == STATUS_NEW ||
            getPostState() == STATUS_MODIFIED) {
            /* Get the associated property for the postaladdress */
           // SmsPropertiesImpl property = getSmsProperties();
            //SmsPropertiesImpl property  = getSmsProperties();
                SmsPropertiesImpl property = new SmsPropertiesImpl();
               // SmsPartyAddressImpl property = new SmsPartyAddressImpl();
            /* If there is an associated property */
            if (property != null) {
            /* And if its post-status is NEW */
            if (property.getPostState() == STATUS_NEW) {
            * Post the property first, before posting this
            * entity by calling super below
            property.postChanges(e);
            super.postChanges(e);
    }

    hi how can i pass rowiterator method
    i got below method how can i pass it to my postchanges mothod e.g
    SmsPropertiesImpl property = getSmsProperties();
    am in jdeveloper 11.1.2.1.0
    public class SmsPartyAddressImpl extends EntityImpl {
        public RowIterator getSmsProperties() {
            return (RowIterator)getAttributeInternal(SMSPROPERTIES);
        public void postChanges(TransactionEvent e) {
            /* If current entity is new or modified */
            if (getPostState() == STATUS_NEW ||
            getPostState() == STATUS_MODIFIED) {
            /* Get the associated property for the postaladdress */
           // SmsPropertiesImpl property = getSmsProperties();
            //SmsPropertiesImpl property  = getSmsProperties();
                SmsPropertiesImpl property = new SmsPropertiesImpl();
               // SmsPartyAddressImpl property = new SmsPartyAddressImpl();
            /* If there is an associated property */
            if (property != null) {
            /* And if its post-status is NEW */
            if (property.getPostState() == STATUS_NEW) {
            * Post the property first, before posting this
            * entity by calling super below
            property.postChanges(e);
            super.postChanges(e);
    }

  • How to insert the new row after current row in RowIterator - Steve Muench

    Hi,
    Our client wants the new row to be added after current row on the front end instead of before current row.
    we were using "new JUActionBinding(this,iterBinding,JUActionBinding.ACTION_CREATE_INSERT_ROW);" this code inserts the new row after current row.
    I tried a lot to insert the new row after current row. Used new JUActionBinding(this,iterBinding,JUActionBinding.ACTION_LAST to move the cursor to last row in rowiterator and the used .ACTION_CREATE_INSERT_ROW but this thing inserts the new row as the second last row.
    Could somebody plesae help ?
    Message was edited by:
    user556161

    I am using JDeveloper 9.0.4.2.0 (Build 1459)

  • Help Urgent! RowIterator retrieval doesn't respect the order by clause.

    Hi,
    Jdev 10.2.2
    I'm using the RowIterator (source iterator) through a defined association to create rows in a destination RowIterator.
    The creation of those rows must respect the order clause defined for the ViewObject => source Iterator.
    I noticed that when I retrieve the rows through the RowIterator, the order clause is not respected?
    Example of implementation:
    Pre-defined weight levels for a postal tariff:
    Product A:
    From weight To weight
    0 - 10
    10 - 20
    The user will have enter a price for each level.
    I pre-create those rows so that only the price will have to be entered.
    As you see the order of display/creation is important.
    I there a way to make the RowIterator respect the Order Clause defined for the ViewObject?
    I am a bit worried, please tell it's not the default behaviour!
    Thanks
    Frederic
    For info my code:
    RowIterator deliveryWeightIt = weightGroupImpl.getDeliveryWeightAssoc(); // source rows
    if (deliveryWeightIt == null)
    throw new JboException(getClass().getName()+".setWeightGroupId Detail row generation,. System error. DeliveryWeightAssoc is null.");
    deliveryWeightIt.first();
    Row currentDeliveryRow = deliveryWeightIt.getCurrentRow();
    Row newPostalDetail = null;
    try
    while (currentDeliveryRow != null)
    newPostalDetail = postalDetailIt.createRow();
    SequenceImpl s = new SequenceImpl("SITE_POSTAL_REL_SEQ", getDBTransaction());
    Number newSeq = s.getSequenceNumber();
    System.out.println("numberOfGeneratedRows: "+numberOfGeneratedRows+", newSeq: "+newSeq+", FROMWEIGHT: "+currentDeliveryRow.getAttribute(DeliveryWeightImpl.FROMWEIGHT)); newPostalDetail.setAttribute(PostalDetailImpl.FROMWEIGHT,currentDeliveryRow.getAttribute(DeliveryWeightImpl.FROMWEIGHT));
    newPostalDetail.setAttribute(PostalDetailImpl.TOWEIGHT,currentDeliveryRow.getAttribute(DeliveryWeightImpl.TOWEIGHT));
    postalDetailIt.insertRow(newPostalDetail);
    numberOfGeneratedRows++;
    currentDeliveryRow = deliveryWeightIt.next();

    Ok I think I found my mystake.
    I was using the entity association instead of using a view link.
    I avoid using links because I encountered Class Cast exception => similar to thread 10.1.2: view Link accessors in entity object return ViewRow ??????
    Will there be patch available soon?
    Regards
    Frederic

  • Iterating through View Object RowIterator Bug.

    I use this code to loop through the rows of a view object (As described in javadoc of RowIteratior).
    public String checkIterations() {
    String res = "Iterated through : ";
    RowIterator view = this.getDepartmentsView1();
    view.reset();
    Row row;
    while ((row = view.next()) != null) {
    System.out.println("rownum: " + row.getAttribute("RowNum"));
    res += row.getAttribute("RowNum") + " ";
    return res;
    Yet this code never goes through the first row if the executequery has been performed for view object.
    details:
    [http://adfbugs.blogspot.com/2009/07/iterating-through-view-object.html]
    Is this a bug?
    Edited by: mkonio on Jul 28, 2009 11:41 PM

    Thanks Andrejus and Steve.
    Its a development bug
    problem and solution described in:
    Fusion Developer's Guide for Oracle ADF
    9.7.6 What You May Need to Know About Programmatic Row Set Iteration

  • WARNING: rowIterator is null

    Hi, i'm trying to create simple list and edit pages with ADF Faces. I'm using JDeveloper 10.1.3.4, BC4J, Tomcat 6.0.18 and MySQL. When I select a row and submit with a commandButton to go to Edit Page. My Tomcat shows the next messages and the edit form shows always the first row data:
    11-09-2008 10:30:29 PM oracle.adfinternal.view.faces.model.binding.FacesCtrlRangeBinding$FacesModel getSelectedRow
    WARNING: rowIterator is null
    11-09-2008 10:30:29 PM oracle.adfinternal.view.faces.model.binding.FacesCtrlRangeBinding$FacesModel getSelectedRow
    WARNING: rowIterator is null
    11-09-2008 10:30:29 PM oracle.adfinternal.view.faces.model.binding.FacesCtrlRangeBinding$FacesModel getSelectedRow
    WARNING: rowIterator is null
    11-09-2008 10:30:29 PM oracle.adfinternal.view.faces.model.binding.FacesCtrlRangeBinding$FacesModel getSelectedRow
    WARNING: rowIterator is null
    11-09-2008 10:30:29 PM oracle.adfinternal.view.faces.model.binding.FacesCtrlRangeBinding$FacesModel makeCurrent
    WARNING: No row found for rowKey:null
    11-09-2008 10:30:57 PM oracle.adfinternal.view.faces.model.binding.FacesCtrlRangeBinding$FacesModel getSelectedRow
    WARNING: rowIterator is null
    11-09-2008 10:30:57 PM oracle.adfinternal.view.faces.model.binding.FacesCtrlRangeBinding$FacesModel getSelectedRow
    WARNING: rowIterator is null
    11-09-2008 10:30:57 PM oracle.adfinternal.view.faces.model.binding.FacesCtrlRangeBinding$FacesModel getSelectedRow
    WARNING: rowIterator is null
    11-09-2008 10:30:57 PM oracle.adfinternal.view.faces.model.binding.FacesCtrlRangeBinding$FacesModel getSelectedRow
    WARNING: rowIterator is null
    11-09-2008 10:30:57 PM oracle.adfinternal.view.faces.model.binding.FacesCtrlRangeBinding$FacesModel makeCurrent
    WARNING: No row found for rowKey:null
    Can anybody help me please?
    Regards

    Does the application run correctly when running it off the local OC4J in jdev? Or does it only happen on the Tomcat server?

  • RowIterator in POI

    Hello Techies,
    Iam using jakarta's poi for reading excel sheet. Iam getting problem in using rowIterator().
    int tempEno = 0;
    String tempEname = null;
    while (it.hasNext())
        row = (HSSFRow) it.next();
      HSSFCell cell = row .getCell(myTradingConstants.ENO_COLUMN_NUMBER);
      tempEno =(int)cell.getNumericCellValue();
      System.out.println("tempEno"+tempEno);
      cell = row.getCell(myTradingConstants.ENAME_COLUMN_NUMBER);
      tempEname = cell.getStringCellValue();
      System.out.println("tempEname"+tempEname);
    }Iam getting the following exception
    Exception in thread "main" java.lang.NumberFormatException: You cannot get a numeric value from a String based cell
         at org.apache.poi.hssf.usermodel.HSSFCell.getNumericCellValue(HSSFCell.java:712)
         at myTradeSample.main(myTradeSample.java:67)
    cell type is either Numeric,string,error and fourmula and blank. But iam having other types also Date,Double,Time etc. In this case How to resolve the problem.
    Where as if i did not used rowIterator() n by using getLastRowNum()
    it is working fine.
    int lastRowNumber = sheet.getLastRowNum();
    for (int i = 1; i <= lastRowNumber; i++) {
    HSSFCell cell = row                         .getCell(myTradingConstants.ENO_COLUMN_NUMBER);
    tempEno = (int) cell.getNumericCellValue();
    cell = row.getCell(myTradingConstants.ENAME_COLUMN_NUMBER);
    tempEname = cell.getStringCellValue();But problem with getLastRowNum() is that iam not getting xact number of rows in the sheet.
    Iam having 24 rows But it is showing 35.
    Why iam facing problem with getLastRowNUmber().
    thanx(inadvance),
    ramu

    But problem with getLastRowNum() is that iam not
    not getting xact number of rows in the sheet.
    Iam having 24 rows But it is showing 35.
    Why iam facing problem with getLastRowNUmber().I don't know what this "rowiterator" is, I can't easily find it in the POI documentation. You didn't say what class it is so you can look it up yourself. However in regard to your last question: there's a method in HSSFSheet whose description says
    "Returns the number of phsyically defined rows (NOT the number of rows in the sheet)"
    This suggests that you don't understand the various kinds of rows, physically-defined or not.

  • BC4J - RowIterator : Order By

    Hi,
    I've two EO Question and QuestionOption as Master/Detail EO (Link with FK). I reach the Master EO with a View based on the Question-EO. In the class QuestionImpl.java I have a method to reach the QuestionOption : getQuestionOption()
    public RowIterator getQuestionOption() {
    return (RowIterator)getAttributeInternal(QUESTIONOPTION);
    Now I need to order the QuestionOption. How can I do this ? The unique link of QuestionOption is this RowIterator.
    Thanks
    Yves

    Ok, this is a bit of a lame sollution (I don't know if it will work either ;-)), but you could try the following.
    First find out what's the actual class of the RowIterator object that is returned. See, RowIterator is an interface and those usually have some Implementation class to go with, which have more features for you to (ab)use. ;) When you know the actual class of the object, cast it to that type and call the appropriate methods (my guess is that setOrderBy() and executeQuery() will be available, once cast to the right type).
    Good luck.

  • Why findByAltKey(String keyName, Key key, int) returns a RowIterator object

    Hi All,
    I was thinking that why findByAltKey(String keyName, Key key, int) returns a RowIterator object and not Row object because alternate key is a candidate key and is unique so only one record should be there for a particular alternate key.
    Thanks
    Puneet

    findByKey (which you could also use) returns Row[]. findByAltKey is just a special version of findByKey that returns a RowIterator.
    Probably it's not going to change for historical reasons.
    Plus, the Key you use doesn't have to be a full key - it can be a partial one, meaning that you can match more than one row.
    John

  • 10.1.3.4.0 : iterator mode : RowIterator.ITER_MODE_LAST_PAGE_FULL

    hi
    The ADF Developer's Guide For Forms/4GL Developers 10g Release 3 (10.1.3.0) section "27.1.4 Presenting and Scrolling Data a Page at a Time Using the Range" ...
    at http://download.oracle.com/docs/cd/B32110_01/web.1013/b25947/bcadvvo.htm#sthref2557
    ... documents two iterator mode flags.
    The first is ITER_MODE_LAST_PAGE_PARTIAL documented as "the style that works best for web applications ".
    The second is ITER_MODE_LAST_PAGE_FULL which turns out the be effectively the default iterator mode value, while the last page is not full.
    Please consider this example application created using JDeveloper 10.1.3.4.0
    at http://www.consideringred.com/files/oracle/2010/IterModeLastPageFull10gApp-v0.01.zip
    It has a simple View Object dropped on a JSF page as a read-only table. It also has a managed-bean that allows to show iterator mode information on the page.
    See the screencast at http://screencast.com/t/qm6flt7asYA
    questions:
    - (q1) Is it intended behaviour to have iterator mode ITER_MODE_LAST_PAGE_FULL while the last page is not full?
    - (q2) How should this iterator mode be configured, and is this possible declarative?
    - (q3) Is it possible to have the "last page full" when navigating ranges of rows using the af:table component (maybe using a configuration unrelated to iterator mode)?
    many thanks
    Jan Vervecken

    Thanks for your reply Frank.
    ... So this seems to be a bug in the behavior. I asked Steve if he would consider this to be a bug and am waiting for his response ...Thank you, I am looking forward to Steve's feedback.
    ... The place to set the declarative setting is on the "Tuning" panel of the VO. ". See the "Fill Last Page of Rows when Paging Through Rowset" checkbox.If I uncheck the "Fill Last Page of Rows when Paging through Rowset" checkbox, as in the modified example application ...
    at http://www.consideringred.com/files/oracle/2010/IterModeLastPageFull10gApp-v0.02.zip
    ... this is reflected on the page, showing
    r_adfHelper.iterModeInfo['EmployeesLimitedVOVIIterator']  ITER_MODE_LAST_PAGE_PARTIAL (0)... instead of ...
    r_adfHelper.iterModeInfo['EmployeesLimitedVOVIIterator']  ITER_MODE_LAST_PAGE_FULL (1) ... but the behaviour of the af:table component has not changed, see also the screenshot in IterModeLastPageFull10gApp-v0.01-v0.02.png.
    - about (q3): Any thoughts on other (configuration) options that could cause "last page full" behaviour in the af:table component?
    regards
    Jan

  • ADF11g : Need help with RowIterator binding

    Hi,
    I am using ADF 11g.
    In a ADF application we have application module under which we have different View Objects.
    In my application I am having a separate Data Controller, which is formed by Java Class.
    Inside this Data Controller, I am having a View Object.
    I need tobind the row iterator to this viewe object. How can it be done?
    Please help
    Thanks and Regards
    Manav Ratra

    The work around for the same can be checked at following forum
    How can i find row keys of all the rows
    Regards
    Manav Ratra

  • Master-Detail Detail does not refresh after it's been empty

    I have a master detail page (both are tables) that works just fine, until I click a master record that has no details.
    After that the panelHeader of teh detail is refreshed with the PPT but the table underneath it is not, I keep seeing "no rows yet", no matter which master record I click.
    When I go to a different page and return it's fine again.
    Only one of my pages has this behavior, I tested this on another and it was fine. Has anyone seen this behavior before?
    My console has this message:
    May 11, 2007 10:52:38 AM oracle.adfinternal.view.faces.model.binding.FacesCtrlRangeBinding$FacesModel getSelectedRow
    WARNING: rowIterator is null
    Message was edited by:
    Wendy Tromp

    Ok I found it,
    My details iterator had the following properties:
    <iterator id="AfdelingMedewerkersIterator" RangeSize="-1"
    Binds="AfdelingMedewerkers"
    DataControl="PRBAppModuleDataControl"
    Refresh="IfNeeded" RefreshCondition="#{!adfFacesContext.postback}" />
    I have no idea why I set it like that, but removing the Refresh properties fixed my problem.
    I am still clueless as of why this led to the behavior as described above. I could have understood it if my iterator was not refreshed at all, but I have no idea why it stopped working only after the details were empty and not a second before...
    Anyway, problem solved!

  • Not getting the excpected result.

    Hi all,
    My object is write a java program so tht...it'll generate the .pdf file after retriving the data from MS-Excel file.
    I used POI HSSF to read the data from MS-Excel and used iText to generate .pdf file:
    My Program is:
    * Created on Apr 13, 2005
    * TODO To change the template for this generated file go to
    * Window - Preferences - Java - Code Style - Code Templates
    package forums;
    import java.io.*;
    import java.awt.Color;
    import com.lowagie.text.*;
    import com.lowagie.text.pdf.*;
    import com.lowagie.text.Font.*;
    import com.lowagie.text.pdf.MultiColumnText;
    import com.lowagie.text.Phrase.*;
    import net.sf.hibernate.mapping.Array;
    import org.apache.poi.hssf.*;
    import org.apache.poi.poifs.filesystem.*;
    import org.apache.poi.hssf.usermodel.*;
    import com.lowagie.text.Phrase.*;
    import java.util.Iterator;
    * Generates a simple 'Hello World' PDF file.
    * @author blowagie
    public class pdfgenerator {
         * Generates a PDF file with the text 'Hello World'
         * @param args no arguments needed here
         public static void main(String[] args) {
              System.out.println("Hello World");
              Rectangle pageSize = new Rectangle(916, 1592);
                        pageSize.setBackgroundColor(new java.awt.Color(0xFF, 0xFF, 0xDE));
              // step 1: creation of a document-object
              //Document document = new Document(pageSize);
              Document document = new Document(pageSize, 132, 164, 108, 108);
              try {
                   // step 2:
                   // we create a writer that listens to the document
                   // and directs a PDF-stream to a file
                   PdfWriter writer =PdfWriter.getInstance(document,new FileOutputStream("c:\\weeklystatus.pdf"));
                   writer.setEncryption(PdfWriter.STRENGTH128BITS, "Hello", "World", PdfWriter.AllowCopy | PdfWriter.AllowPrinting);
    //               step 3: we open the document
                             document.open();
                   Paragraph paragraph = new Paragraph("",new Font(Font.TIMES_ROMAN, 13, Font.BOLDITALIC, new Color(0, 0, 255)));
                   POIFSFileSystem pofilesystem=new POIFSFileSystem(new FileInputStream("D:\\ESM\\plans\\weekly report(31-01..04-02).xls"));
                   HSSFWorkbook hbook=new HSSFWorkbook(pofilesystem);
                   HSSFSheet hsheet=hbook.getSheetAt(0);//.createSheet();
                   Iterator rows = hsheet.rowIterator();
                                  while( rows.hasNext() ) {
                                       Phrase phrase=new Phrase();
                                       HSSFRow row = (HSSFRow) rows.next();
                                       //System.out.println( "Row #" + row.getRowNum());
                                       // Iterate over each cell in the row and print out the cell's content
                                       Iterator cells = row.cellIterator();
                                       while( cells.hasNext() ) {
                                            HSSFCell cell = (HSSFCell) cells.next();
                                            //System.out.println( "Cell #" + cell.getCellNum() );
                                            switch ( cell.getCellType() ) {
                                                 case HSSFCell.CELL_TYPE_STRING:
                                                 String stringcell=cell.getStringCellValue ()+" ";
                                                 writer.setSpaceCharRatio(PdfWriter.NO_SPACE_CHAR_RATIO);
                                                 phrase.add(stringcell);
                                            // document.add(new Phrase(string));
                                                      System.out.print( cell.getStringCellValue () );
                                                      break;
                                                 case HSSFCell.CELL_TYPE_FORMULA:
                                                           String stringdate=cell.getCellFormula()+" ";
                                                           writer.setSpaceCharRatio(PdfWriter.NO_SPACE_CHAR_RATIO);
                                                           phrase.add(stringdate);
                                                 System.out.print( cell.getCellFormula() );
                                                           break;
                                                 case HSSFCell.CELL_TYPE_NUMERIC:
                                                 String string=String.valueOf(cell.getNumericCellValue())+" ";
                                                      writer.setSpaceCharRatio(PdfWriter.NO_SPACE_CHAR_RATIO);
                                                      phrase.add(string);
                                                      System.out.print( cell.getNumericCellValue() );
                                                      break;
                                                 default:
                                                      //System.out.println( "unsuported sell type" );
                                                      break;
                                       document.add(new Paragraph(phrase));
                                       document.add(new Paragraph("\n \n \n"));
                   // step 4: we add a paragraph to the document
              } catch (DocumentException de) {
                   System.err.println(de.getMessage());
              } catch (IOException ioe) {
                   System.err.println(ioe.getMessage());
              // step 5: we close the document
              document.close();
    My Input from MS-Excel file is:
         Planning and Tracking Template for Interns                                                                 
         Name of the Intern     N.Kesavulu Reddy                                                            
         Project Name     Enterprise Sales and Marketing                                                            
         Description     Estimated Effort in Hrs     Planned/Replanned          Actual          Actual Effort in Hrs     Complexity     Priority     LOC written new & modified     % work completion     Status     Rework     Remarks
    S.No               Start Date     End Date     Start Date     End Date                                        
    1     setup the configuration          31/01/2005     1/2/2005     31/01/2005     1/2/2005                                        
    2     Deploying an application through Tapestry, Spring, Hibernate          2/2/2005     2/2/2005     2/2/2005     2/2/2005                                        
    3     Gone through Componentization and Cxprice application          3/2/2005     3/2/2005     3/2/2005     3/2/2005                                        
    4     Attend the sessions(tapestry,spring, hibernate), QBA          4/2/2005     4/2/2005     4/2/2005     4/2/2005                                        
         The o/p I'm gettint in .pdf file is:
    Planning and Tracking Template for Interns
    N.Kesavulu Reddy Name of the Intern
    Enterprise Sales and Marketing Project Name
    Remarks Rework Status % work completion LOC written new & modified Priority
    Complexity Actual Effort in Hrs Actual Planned/Replanned Estimated Effort in Hrs Description
    End Date Start Date End Date Start Date S.No
    38354.0 31/01/2005 38354.0 31/01/2005 setup the configuration 1.0
    38385.0 38385.0 38385.0 38385.0 Deploying an application through Tapestry, Spring, Hibernate
    2.0
    38413.0 38413.0 38413.0 38413.0 Gone through Componentization and Cxprice application
    3.0
    38444.0 38444.0 38444.0 38444.0 Attend the sessions(tapestry,spring, hibernate), QBA 4.0
                                       The issues i'm facing are:
    When it is reading a row from MS-Excel it is writing to the .pdf file from last cell to first cell.( 2 cell in 1 place, 1 cell in 2 place like if the row has two cells with data as : Name of the Intern: Kesavulu Reddy then it is writing to the .pdf file as Kesavulu Reddy Name of Intern)
    and the second issue is:
    It is not recognizing the date format..it is recognizing the date in first row only......
    Plz Tell me wht is the solution for this...
    Regards
    [email protected]

    Use your debugger to step through the code line by line. This should help you understand what it's doing. Or if you don't want to do that, sprinkle output statements all over until you know what it's doing.

  • Need help to extend a EO based VO

    Hi All,
    I have VO which is EO based. All the select columns are displayed in an advance table on a page. Now i need to add another field in the advance table which is in another table.
    This is VO.xml file:
    <?xml version="1.0" encoding='windows-1252'?>
    <!DOCTYPE ViewObject SYSTEM "jbo_03_01.dtd">
    <!--$Header: OpportunityLineDetailsVO.xml 115.20.115200.3 2005/06/20 21:24:25 sekkiral ship $-->
    <ViewObject
    Name="OpportunityLineDetailsVO"
    OrderBy="creation_date"
    BindingStyle="Oracle"
    CustomQuery="true"
    RowClass="oracle.apps.asn.opportunity.server.OpportunityLineDetailsVORowImpl"
    ComponentClass="oracle.apps.asn.common.fwk.server.ASNViewObjectImpl"
    MsgBundleClass="oracle.jbo.common.JboResourceBundle"
    FetchMode="FETCH_AS_NEEDED"
    Passivate="All"
    UseGlueCode="false" >
    <SQLQuery><![CDATA[
    SELECT OpportunityLineEO.lead_id,
    OpportunityLineEO.lead_line_id,
    OpportunityLineEO.inventory_item_id,
    OpportunityLineEO.organization_id,
    OpportunityLineEO.uom_code,
    OpportunityLineEO.quantity,
    OpportunityLineEO.total_amount,
    OpportunityLineEO.forecast_date,
    OpportunityLineEO.creation_date,
    NVL(msit.description,mct.description) AS product_category,
    OpportunityLineEO.object_version_number,
    OpportunityLineEO.product_category_id,
    OpportunityLineEO.product_cat_set_id,
    OpportunityLineEO.attribute_category,
    OpportunityLineEO.attribute1,
    OpportunityLineEO.attribute2,
    OpportunityLineEO.attribute3,
    OpportunityLineEO.attribute4,
    OpportunityLineEO.attribute5,
    OpportunityLineEO.attribute6,
    OpportunityLineEO.attribute7,
    OpportunityLineEO.attribute8,
    OpportunityLineEO.attribute9,
    OpportunityLineEO.attribute10,
    OpportunityLineEO.attribute11,
    OpportunityLineEO.attribute12,
    OpportunityLineEO.attribute13,
    OpportunityLineEO.attribute14,
    OpportunityLineEO.attribute15,
    mskfv.concatenated_segments as item_number
    FROM as_lead_lines_all OpportunityLineEO,
    mtl_system_items_tl msit,
    mtl_categories_tl mct,
         mtl_system_items_b_kfv mskfv
    WHERE OpportunityLineEO.inventory_item_id = msit.inventory_item_id(+)
    AND OpportunityLineEO.organization_id = msit.organization_id (+)
    AND msit.language (+) = USERENV('LANG')
    AND OpportunityLineEO.product_category_id = mct.category_id
    AND mct.language = USERENV('LANG')
    AND mskfv.inventory_item_id (+) = msit.inventory_item_id
    AND mskfv.organization_id (+) = msit.organization_id
    ]]></SQLQuery>
    <DesignTime>
    <Attr Name="_isCodegen" Value="true" />
    <Attr Name="_version" Value="9.0.3.13.68" />
    <Attr Name="_CodeGenFlagNew" Value="4" />
    <Attr Name="_rowSuperClassName" Value="oracle.apps.asn.common.fwk.server.ASNViewRowImpl" />
    <Attr Name="_objectSuperClassName" Value="oracle.apps.asn.common.fwk.server.ASNViewObjectImpl" />
    </DesignTime>
    <EntityUsage
    Name="OpportunityLineEO"
    Entity="oracle.apps.asn.opportunity.schema.server.OpportunityLineEO" >
    <DesignTime>
    <Attr Name="_EntireObjectTable" Value="false" />
    <Attr Name="_queryClause" Value="false" />
    </DesignTime>
    </EntityUsage>
    <ViewAttribute
    Name="LeadId"
    IsUpdateable="while_insert"
    IsNotNull="true"
    EntityAttrName="LeadId"
    EntityUsage="OpportunityLineEO"
    AliasName="LEAD_ID"
    ColumnType="VARCHAR2" >
    </ViewAttribute>
    <ViewAttribute
    Name="LeadLineId"
    IsUpdateable="while_insert"
    IsNotNull="true"
    EntityAttrName="LeadLineId"
    EntityUsage="OpportunityLineEO"
    AliasName="LEAD_LINE_ID"
    ColumnType="VARCHAR2" >
    </ViewAttribute>
    <ViewAttribute
    Name="InventoryItemId"
    IsUpdateable="while_insert"
    EntityAttrName="InventoryItemId"
    EntityUsage="OpportunityLineEO"
    AliasName="INVENTORY_ITEM_ID"
    ColumnType="VARCHAR2" >
    </ViewAttribute>
    <ViewAttribute
    Name="OrganizationId"
    IsUpdateable="while_insert"
    EntityAttrName="OrganizationId"
    EntityUsage="OpportunityLineEO"
    AliasName="ORGANIZATION_ID"
    ColumnType="VARCHAR2" >
    </ViewAttribute>
    <ViewAttribute
    Name="UomCode"
    EntityAttrName="UomCode"
    EntityUsage="OpportunityLineEO"
    AliasName="UOM_CODE"
    ColumnType="VARCHAR2" >
    </ViewAttribute>
    <ViewAttribute
    Name="Quantity"
    EntityAttrName="Quantity"
    EntityUsage="OpportunityLineEO"
    AliasName="QUANTITY"
    ColumnType="VARCHAR2" >
    </ViewAttribute>
    <ViewAttribute
    Name="TotalAmount"
    IsNotNull="true"
    EntityAttrName="TotalAmount"
    EntityUsage="OpportunityLineEO"
    AliasName="TOTAL_AMOUNT"
    ColumnType="VARCHAR2" >
    </ViewAttribute>
    <ViewAttribute
    Name="ForecastDate"
    EntityAttrName="ForecastDate"
    EntityUsage="OpportunityLineEO"
    AliasName="FORECAST_DATE"
    ColumnType="VARCHAR2" >
    </ViewAttribute>
    <ViewAttribute
    Name="CreationDate"
    IsNotNull="true"
    EntityAttrName="CreationDate"
    EntityUsage="OpportunityLineEO"
    AliasName="CREATION_DATE"
    ColumnType="VARCHAR2" >
    </ViewAttribute>
    <ViewAttribute
    Name="ProductCategory"
    IsQueriable="false"
    IsPersistent="false"
    Precision="282"
    Type="java.lang.String"
    AliasName="PRODUCT_CATEGORY"
    ColumnType="VARCHAR2"
    Expression="PRODUCT_CATEGORY"
    SQLType="VARCHAR" >
    <DesignTime>
    <Attr Name="_DisplaySize" Value="282" />
    </DesignTime>
    </ViewAttribute>
    <ViewAttribute
    Name="ObjectVersionNumber"
    EntityAttrName="ObjectVersionNumber"
    EntityUsage="OpportunityLineEO"
    AliasName="OBJECT_VERSION_NUMBER"
    Passivate="true"
    ColumnType="VARCHAR2" >
    </ViewAttribute>
    <ViewAttribute
    Name="ProductCategoryId"
    IsUpdateable="while_insert"
    EntityAttrName="ProductCategoryId"
    EntityUsage="OpportunityLineEO"
    AliasName="ProductCategoryId"
    Passivate="true"
    ColumnType="VARCHAR2" >
    </ViewAttribute>
    <ViewAttribute
    Name="ProductCatSetId"
    IsUpdateable="while_insert"
    EntityAttrName="ProductCatSetId"
    EntityUsage="OpportunityLineEO"
    AliasName="ProductCatSetId"
    ColumnType="VARCHAR2" >
    </ViewAttribute>
    <ViewAttribute
    Name="SelectFlag"
    IsPersistent="false"
    Precision="1"
    Type="java.lang.String"
    AliasName="SELECT_FLAG"
    ColumnType="VARCHAR2"
    SQLType="VARCHAR" >
    </ViewAttribute>
    <ViewAttribute
    Name="ItemNullFlag"
    IsPersistent="false"
    Precision="30"
    Type="java.lang.String"
    AliasName="ITEM_NULL_FLAG"
    ColumnType="VARCHAR2"
    SQLType="VARCHAR" >
    </ViewAttribute>
    <ViewAttribute
    Name="ProcOrganizationId"
    IsPersistent="false"
    Type="oracle.jbo.domain.Number"
    AliasName="PROC_ORGANIZATION_ID"
    ColumnType="Number"
    SQLType="NUMERIC" >
    </ViewAttribute>
    <ViewAttribute
    Name="ProcInventoryItemId"
    IsPersistent="false"
    Type="oracle.jbo.domain.Number"
    AliasName="PROC_INVENTORY_ITEM_ID"
    ColumnType="Number"
    SQLType="NUMERIC" >
    </ViewAttribute>
    <ViewAttribute
    Name="EmptyString"
    IsPersistent="false"
    Precision="1"
    Type="java.lang.String"
    AliasName="EMPTY_STRING"
    ColumnType="VARCHAR2"
    SQLType="VARCHAR" >
    </ViewAttribute>
    <ViewAttribute
    Name="AttributeCategory"
    EntityAttrName="AttributeCategory"
    EntityUsage="OpportunityLineEO"
    AliasName="AttributeCategory"
    ColumnType="VARCHAR2" >
    </ViewAttribute>
    <ViewAttribute
    Name="Attribute1"
    EntityAttrName="Attribute1"
    EntityUsage="OpportunityLineEO"
    AliasName="Attribute1"
    ColumnType="VARCHAR2" >
    </ViewAttribute>
    <ViewAttribute
    Name="Attribute2"
    EntityAttrName="Attribute2"
    EntityUsage="OpportunityLineEO"
    AliasName="Attribute2"
    ColumnType="VARCHAR2" >
    </ViewAttribute>
    <ViewAttribute
    Name="Attribute3"
    EntityAttrName="Attribute3"
    EntityUsage="OpportunityLineEO"
    AliasName="Attribute3"
    ColumnType="VARCHAR2" >
    </ViewAttribute>
    <ViewAttribute
    Name="Attribute4"
    EntityAttrName="Attribute4"
    EntityUsage="OpportunityLineEO"
    AliasName="Attribute4"
    ColumnType="VARCHAR2" >
    </ViewAttribute>
    <ViewAttribute
    Name="Attribute5"
    EntityAttrName="Attribute5"
    EntityUsage="OpportunityLineEO"
    AliasName="Attribute5"
    ColumnType="VARCHAR2" >
    </ViewAttribute>
    <ViewAttribute
    Name="Attribute6"
    EntityAttrName="Attribute6"
    EntityUsage="OpportunityLineEO"
    AliasName="Attribute6"
    ColumnType="VARCHAR2" >
    </ViewAttribute>
    <ViewAttribute
    Name="Attribute7"
    EntityAttrName="Attribute7"
    EntityUsage="OpportunityLineEO"
    AliasName="Attribute7"
    ColumnType="VARCHAR2" >
    </ViewAttribute>
    <ViewAttribute
    Name="Attribute8"
    EntityAttrName="Attribute8"
    EntityUsage="OpportunityLineEO"
    AliasName="Attribute8"
    ColumnType="VARCHAR2" >
    </ViewAttribute>
    <ViewAttribute
    Name="Attribute9"
    EntityAttrName="Attribute9"
    EntityUsage="OpportunityLineEO"
    AliasName="Attribute9"
    ColumnType="VARCHAR2" >
    </ViewAttribute>
    <ViewAttribute
    Name="Attribute10"
    EntityAttrName="Attribute10"
    EntityUsage="OpportunityLineEO"
    AliasName="Attribute10"
    ColumnType="VARCHAR2" >
    </ViewAttribute>
    <ViewAttribute
    Name="Attribute11"
    EntityAttrName="Attribute11"
    EntityUsage="OpportunityLineEO"
    AliasName="Attribute11"
    ColumnType="VARCHAR2" >
    </ViewAttribute>
    <ViewAttribute
    Name="Attribute12"
    EntityAttrName="Attribute12"
    EntityUsage="OpportunityLineEO"
    AliasName="Attribute12"
    ColumnType="VARCHAR2" >
    </ViewAttribute>
    <ViewAttribute
    Name="Attribute13"
    EntityAttrName="Attribute13"
    EntityUsage="OpportunityLineEO"
    AliasName="Attribute13"
    ColumnType="VARCHAR2" >
    </ViewAttribute>
    <ViewAttribute
    Name="Attribute14"
    EntityAttrName="Attribute14"
    EntityUsage="OpportunityLineEO"
    AliasName="Attribute14"
    ColumnType="VARCHAR2" >
    </ViewAttribute>
    <ViewAttribute
    Name="Attribute15"
    EntityAttrName="Attribute15"
    EntityUsage="OpportunityLineEO"
    AliasName="Attribute15"
    ColumnType="VARCHAR2" >
    </ViewAttribute>
    <ViewAttribute
    Name="OppBestForecastAmount"
    IsQueriable="false"
    IsPersistent="false"
    Precision="255"
    Type="oracle.jbo.domain.Number"
    AliasName="VIEW_ATTR"
    ColumnType="VARCHAR2"
    SQLType="NUMERIC" >
    </ViewAttribute>
    <ViewAttribute
    Name="OppWorstForecastAmount"
    IsQueriable="false"
    IsPersistent="false"
    Precision="255"
    Type="oracle.jbo.domain.Number"
    AliasName="VIEW_ATTR"
    ColumnType="VARCHAR2"
    SQLType="NUMERIC" >
    </ViewAttribute>
    <ViewAttribute
    Name="OppForecastAmount"
    IsQueriable="false"
    IsPersistent="false"
    Precision="255"
    Type="oracle.jbo.domain.Number"
    AliasName="VIEW_ATTR"
    ColumnType="VARCHAR2"
    SQLType="NUMERIC" >
    </ViewAttribute>
    <ViewAttribute
    Name="ItemNumber"
    IsPersistent="false"
    Precision="40"
    Type="java.lang.String"
    AliasName="Item_Number"
    ColumnType="VARCHAR2"
    Expression="Item_Number"
    SQLType="VARCHAR" >
    </ViewAttribute>
    <ViewLinkAccessor
    Name="OpportunityDetailsVO"
    ViewLink="oracle.apps.asn.opportunity.server.OpptyDetailsToLinesVL"
    Type="oracle.jbo.Row"
    Reversed="true"
    IsUpdateable="false" >
    </ViewLinkAccessor>
    <ViewLinkAccessor
    Name="OpptyLineCmptPrdtDetailsVO"
    ViewLink="oracle.apps.asn.opportunity.server.OpptyLineToCmptPrdtDetailsVL"
    Type="oracle.jbo.RowIterator"
    IsUpdateable="false" >
    </ViewLinkAccessor>
    <ViewLinkAccessor
    Name="OpportunityLineNonRevFrcstDetailsVO"
    ViewLink="oracle.apps.asn.opportunity.server.OpptyLineToNonRevFrcstDetailsVL"
    Type="oracle.jbo.RowIterator"
    IsUpdateable="false" >
    </ViewLinkAccessor>
    <ViewLinkAccessor
    Name="OpportunityLineRevFrcstDetailsVO"
    ViewLink="oracle.apps.asn.opportunity.server.OpptyLineToRevFrcstDetailsVL"
    Type="oracle.jbo.RowIterator"
    IsUpdateable="false" >
    </ViewLinkAccessor>
    </ViewObject>
    The corresponding EO.xml file is:
    <?xml version="1.0" encoding='windows-1252'?>
    <!DOCTYPE Entity SYSTEM "jbo_03_01.dtd">
    <Entity
    Name="xxdbdOpportunityCeddEO"
    DBObjectType="table"
    DBObjectName="XXDBD_CEDD"
    AliasName="xxdbdOpportunityCeddEO"
    BindingStyle="Oracle"
    UseGlueCode="false"
    CodeGenFlag="76"
    RowClass="dbdcustom.oracle.apps.asn.opportunity.schema.server.xxdbdOpportunityCeddEOImpl"
    DefClass="oracle.apps.fnd.framework.server.OAEntityDefImpl"
    CollClass="oracle.apps.fnd.framework.server.OAEntityCache" >
    <DesignTime>
    <Attr Name="_isCodegen" Value="true" />
    <Attr Name="_version" Value="9.0.3.13.97" />
    <AttrArray Name="_publishEvents">
    </AttrArray>
    </DesignTime>
    <Attribute
    Name="LeadId"
    IsNotNull="true"
    Type="oracle.jbo.domain.Number"
    ColumnName="LEAD_ID"
    ColumnType="NUMBER"
    SQLType="NUMERIC"
    TableName="XXDBD_CEDD"
    PrimaryKey="true" >
    <DesignTime>
    <Attr Name="_DisplaySize" Value="22" />
    </DesignTime>
    </Attribute>
    <Attribute
    Name="LeadLineId"
    IsNotNull="true"
    Type="oracle.jbo.domain.Number"
    ColumnName="LEAD_LINE_ID"
    ColumnType="NUMBER"
    SQLType="NUMERIC"
    TableName="XXDBD_CEDD"
    PrimaryKey="true" >
    <DesignTime>
    <Attr Name="_DisplaySize" Value="22" />
    </DesignTime>
    </Attribute>
    <Attribute
    Name="CeddDate"
    Type="oracle.jbo.domain.Date"
    ColumnName="CEDD_DATE"
    ColumnType="DATE"
    SQLType="TIMESTAMP"
    TableName="XXDBD_CEDD" >
    <DesignTime>
    <Attr Name="_DisplaySize" Value="7" />
    </DesignTime>
    </Attribute>
    <Key
    Name="XxdbdCeddPk" >
    <AttrArray Name="Attributes">
    <Item Value="dbdcustom.oracle.apps.asn.opportunity.schema.server.xxdbdOpportunityCeddEO.LeadId" />
    <Item Value="dbdcustom.oracle.apps.asn.opportunity.schema.server.xxdbdOpportunityCeddEO.LeadLineId" />
    </AttrArray>
    <DesignTime>
    <Attr Name="_DBObjectName" Value="XXDBD_CEDD_PK" />
    <Attr Name="_isPrimary" Value="true" />
    </DesignTime>
    </Key>
    </Entity>
    Now I extended the VO Object.
    The corresponding VO.xml file is:
    <?xml version="1.0" encoding='windows-1252'?>
    <!DOCTYPE ViewObject SYSTEM "jbo_03_01.dtd">
    <ViewObject
    Name="xxdbdOpportunityLineDetailsVO"
    Extends="oracle.apps.asn.opportunity.server.OpportunityLineDetailsVO"
    OrderBy="CREATION_DATE"
    BindingStyle="Oracle"
    CustomQuery="true"
    RowClass="dbdcustom.oracle.apps.asn.opportunity.server.xxdbdOpportunityLineDetailsVORowImpl"
    ComponentClass="dbdcustom.oracle.apps.asn.opportunity.server.xxdbdOpportunityLineDetailsVOImpl"
    MsgBundleClass="oracle.jbo.common.JboResourceBundle"
    UseGlueCode="false" >
    <SQLQuery><![CDATA[
    SELECT OpportunityLineEO.lead_id LEAD_ID,
    OpportunityLineEO.lead_line_id LEAD_LINE_ID,
    OpportunityLineEO.inventory_item_id,
    OpportunityLineEO.organization_id,
    OpportunityLineEO.uom_code,
    OpportunityLineEO.quantity,
    OpportunityLineEO.total_amount,
    OpportunityLineEO.forecast_date,
    OpportunityLineEO.creation_date,
    NVL(msit.description,mct.description) AS product_category,
    OpportunityLineEO.object_version_number,
    OpportunityLineEO.product_category_id,
    OpportunityLineEO.product_cat_set_id,
    OpportunityLineEO.attribute_category,
    OpportunityLineEO.attribute1,
    OpportunityLineEO.attribute2,
    OpportunityLineEO.attribute3,
    OpportunityLineEO.attribute4,
    OpportunityLineEO.attribute5,
    OpportunityLineEO.attribute6,
    OpportunityLineEO.attribute7,
    OpportunityLineEO.attribute8,
    OpportunityLineEO.attribute9,
    OpportunityLineEO.attribute10,
    OpportunityLineEO.attribute11,
    OpportunityLineEO.attribute12,
    OpportunityLineEO.attribute13,
    OpportunityLineEO.attribute14,
    OpportunityLineEO.attribute15,
    mskfv.concatenated_segments as item_number,
    xxdbdOpportunityCeddEO.cedd_date
    FROM as_lead_lines_all OpportunityLineEO,
    mtl_system_items_tl msit,
    mtl_categories_tl mct,
    mtl_system_items_b_kfv mskfv,
    xxdbd_cedd xxdbdOpportunityCeddEO
    WHERE OpportunityLineEO.inventory_item_id = msit.inventory_item_id(+)
    AND OpportunityLineEO.LEAD_ID=xxdbdOpportunityCeddEO.LEAD_ID
    and OpportunityLineEO.LEAD_LINE_ID=xxdbdOpportunityCeddEO.LEAD_LINE_ID
    AND OpportunityLineEO.organization_id = msit.organization_id (+)
    AND msit.language (+) = USERENV('LANG')
    AND OpportunityLineEO.product_category_id = mct.category_id
    AND mct.language = USERENV('LANG')
    AND mskfv.inventory_item_id (+) = msit.inventory_item_id
    AND mskfv.organization_id (+) = msit.organization_id
    ]]></SQLQuery>
    <DesignTime>
    <Attr Name="_isCodegen" Value="true" />
    <Attr Name="_version" Value="9.0.3.13.97" />
    <Attr Name="_CodeGenFlagNew" Value="36" />
    </DesignTime>
    <EntityUsage
    Name="xxdbdOpportunityCeddEO"
    Entity="dbdcustom.oracle.apps.asn.opportunity.schema.server.xxdbdOpportunityCeddEO"
    SourceUsage="oracle.apps.asn.opportunity.server.OpportunityLineDetailsVO.OpportunityLineEO"
    Reference="true" >
    <DesignTime>
    <Attr Name="_queryClause" Value="false" />
    <AttrArray Name="_srcAttributes">
    <Item Value="oracle.apps.asn.opportunity.schema.server.OpportunityLineEO.LeadLineId" />
    <Item Value="oracle.apps.asn.opportunity.schema.server.OpportunityLineEO.LeadId" />
    </AttrArray>
    <AttrArray Name="_dstAttributes">
    <Item Value="dbdcustom.oracle.apps.asn.opportunity.schema.server.xxdbdOpportunityCeddEO.LeadLineId" />
    <Item Value="dbdcustom.oracle.apps.asn.opportunity.schema.server.xxdbdOpportunityCeddEO.LeadId" />
    </AttrArray>
    </DesignTime>
    </EntityUsage>
    <ViewAttribute
    Name="ProductCategory"
    IsQueriable="false"
    IsPersistent="false"
    Precision="282"
    Type="java.lang.String"
    ColumnType="VARCHAR2"
    AliasName="PRODUCT_CATEGORY"
    Expression="PRODUCT_CATEGORY"
    SQLType="VARCHAR" >
    <DesignTime>
    <Attr Name="_OverrideAttr" Value="true" />
    <Attr Name="_DisplaySize" Value="282" />
    </DesignTime>
    </ViewAttribute>
    <ViewAttribute
    Name="SelectFlag"
    IsPersistent="false"
    Precision="1"
    Type="java.lang.String"
    ColumnType="VARCHAR2"
    AliasName="SELECT_FLAG"
    SQLType="VARCHAR" >
    <DesignTime>
    <Attr Name="_OverrideAttr" Value="true" />
    </DesignTime>
    </ViewAttribute>
    <ViewAttribute
    Name="ItemNullFlag"
    IsPersistent="false"
    Precision="30"
    Type="java.lang.String"
    ColumnType="VARCHAR2"
    AliasName="ITEM_NULL_FLAG"
    SQLType="VARCHAR" >
    <DesignTime>
    <Attr Name="_OverrideAttr" Value="true" />
    </DesignTime>
    </ViewAttribute>
    <ViewAttribute
    Name="ProcOrganizationId"
    IsPersistent="false"
    Type="oracle.jbo.domain.Number"
    ColumnType="Number"
    AliasName="PROC_ORGANIZATION_ID"
    SQLType="NUMERIC" >
    <DesignTime>
    <Attr Name="_OverrideAttr" Value="true" />
    </DesignTime>
    </ViewAttribute>
    <ViewAttribute
    Name="ProcInventoryItemId"
    IsPersistent="false"
    Type="oracle.jbo.domain.Number"
    ColumnType="Number"
    AliasName="PROC_INVENTORY_ITEM_ID"
    SQLType="NUMERIC" >
    <DesignTime>
    <Attr Name="_OverrideAttr" Value="true" />
    </DesignTime>
    </ViewAttribute>
    <ViewAttribute
    Name="EmptyString"
    IsPersistent="false"
    Precision="1"
    Type="java.lang.String"
    ColumnType="VARCHAR2"
    AliasName="EMPTY_STRING"
    SQLType="VARCHAR" >
    <DesignTime>
    <Attr Name="_OverrideAttr" Value="true" />
    </DesignTime>
    </ViewAttribute>
    <ViewAttribute
    Name="OppBestForecastAmount"
    IsQueriable="false"
    IsPersistent="false"
    Precision="255"
    Type="oracle.jbo.domain.Number"
    ColumnType="VARCHAR2"
    AliasName="VIEW_ATTR"
    SQLType="NUMERIC" >
    <DesignTime>
    <Attr Name="_OverrideAttr" Value="true" />
    </DesignTime>
    </ViewAttribute>
    <ViewAttribute
    Name="OppWorstForecastAmount"
    IsQueriable="false"
    IsPersistent="false"
    Precision="255"
    Type="oracle.jbo.domain.Number"
    ColumnType="VARCHAR2"
    AliasName="VIEW_ATTR"
    SQLType="NUMERIC" >
    <DesignTime>
    <Attr Name="_OverrideAttr" Value="true" />
    </DesignTime>
    </ViewAttribute>
    <ViewAttribute
    Name="OppForecastAmount"
    IsQueriable="false"
    IsPersistent="false"
    Precision="255"
    Type="oracle.jbo.domain.Number"
    ColumnType="VARCHAR2"
    AliasName="VIEW_ATTR"
    SQLType="NUMERIC" >
    <DesignTime>
    <Attr Name="_OverrideAttr" Value="true" />
    </DesignTime>
    </ViewAttribute>
    <ViewAttribute
    Name="ItemNumber"
    IsPersistent="false"
    Precision="40"
    Type="java.lang.String"
    ColumnType="VARCHAR2"
    AliasName="Item_Number"
    Expression="Item_Number"
    SQLType="VARCHAR" >
    <DesignTime>
    <Attr Name="_OverrideAttr" Value="true" />
    </DesignTime>
    </ViewAttribute>
    <ViewAttribute
    Name="CeddDate"
    IsPersistent="false"
    Type="oracle.jbo.domain.Date"
    ColumnType="DATE"
    AliasName="CeddDate"
    Expression="Cedd_Date"
    SQLType="DATE" >
    </ViewAttribute>
    </ViewObject>
    Now my question is : Do I need to substitute the EO with the new EO that i have developed??
    And then how to proceed further.
    Please help me. This is very urgent.
    Thanx in advance.

    I have created a New EO for the custom table.
    And I have extended VO. The VO query has been changed as below:
    Original VO Query:
    SELECT OpportunityLineEO.lead_id,
    OpportunityLineEO.lead_line_id,
    OpportunityLineEO.inventory_item_id,
    OpportunityLineEO.organization_id,
    OpportunityLineEO.uom_code,
    OpportunityLineEO.quantity,
    OpportunityLineEO.total_amount,
    OpportunityLineEO.forecast_date,
    OpportunityLineEO.creation_date,
    NVL(msit.description,mct.description) AS product_category,
    OpportunityLineEO.object_version_number,
    OpportunityLineEO.product_category_id,
    OpportunityLineEO.product_cat_set_id,
    OpportunityLineEO.attribute_category,
    OpportunityLineEO.attribute1,
    OpportunityLineEO.attribute2,
    OpportunityLineEO.attribute3,
    OpportunityLineEO.attribute4,
    OpportunityLineEO.attribute5,
    OpportunityLineEO.attribute6,
    OpportunityLineEO.attribute7,
    OpportunityLineEO.attribute8,
    OpportunityLineEO.attribute9,
    OpportunityLineEO.attribute10,
    OpportunityLineEO.attribute11,
    OpportunityLineEO.attribute12,
    OpportunityLineEO.attribute13,
    OpportunityLineEO.attribute14,
    OpportunityLineEO.attribute15,
    mskfv.concatenated_segments as item_number
    FROM as_lead_lines_all OpportunityLineEO,
    mtl_system_items_tl msit,
    mtl_categories_tl mct,
         mtl_system_items_b_kfv mskfv
    WHERE OpportunityLineEO.inventory_item_id = msit.inventory_item_id(+)
    AND OpportunityLineEO.organization_id = msit.organization_id (+)
    AND msit.language (+) = USERENV('LANG')
    AND OpportunityLineEO.product_category_id = mct.category_id
    AND mct.language = USERENV('LANG')
    AND mskfv.inventory_item_id (+) = msit.inventory_item_id
    AND mskfv.organization_id (+) = msit.organization_id
    New VO Query is:
    SELECT OpportunityLineEO.lead_id LEAD_ID,
    OpportunityLineEO.lead_line_id LEAD_LINE_ID,
    OpportunityLineEO.inventory_item_id,
    OpportunityLineEO.organization_id,
    OpportunityLineEO.uom_code,
    OpportunityLineEO.quantity,
    OpportunityLineEO.total_amount,
    OpportunityLineEO.forecast_date,
    OpportunityLineEO.creation_date,
    NVL(msit.description,mct.description) AS product_category,
    OpportunityLineEO.object_version_number,
    OpportunityLineEO.product_category_id,
    OpportunityLineEO.product_cat_set_id,
    OpportunityLineEO.attribute_category,
    OpportunityLineEO.attribute1,
    OpportunityLineEO.attribute2,
    OpportunityLineEO.attribute3,
    OpportunityLineEO.attribute4,
    OpportunityLineEO.attribute5,
    OpportunityLineEO.attribute6,
    OpportunityLineEO.attribute7,
    OpportunityLineEO.attribute8,
    OpportunityLineEO.attribute9,
    OpportunityLineEO.attribute10,
    OpportunityLineEO.attribute11,
    OpportunityLineEO.attribute12,
    OpportunityLineEO.attribute13,
    OpportunityLineEO.attribute14,
    OpportunityLineEO.attribute15,
    mskfv.concatenated_segments as item_number,
    xxdbdOpportunityCeddEO.cedd_date
    FROM as_lead_lines_all OpportunityLineEO,
    mtl_system_items_tl msit,
    mtl_categories_tl mct,
         mtl_system_items_b_kfv mskfv,
              xxdbd_cedd xxdbdOpportunityCeddEO
    WHERE OpportunityLineEO.inventory_item_id = msit.inventory_item_id(+)
    AND OpportunityLineEO.LEAD_ID=xxdbdOpportunityCeddEO.LEAD_ID
    and OpportunityLineEO.LEAD_LINE_ID=xxdbdOpportunityCeddEO.LEAD_LINE_ID
    AND OpportunityLineEO.organization_id = msit.organization_id (+)
    AND msit.language (+) = USERENV('LANG')
    AND OpportunityLineEO.product_category_id = mct.category_id
    AND mct.language = USERENV('LANG')
    AND mskfv.inventory_item_id (+) = msit.inventory_item_id
    AND mskfv.organization_id (+) = msit.organization_id
    I have substituted the new VO with the old one.Then through personalition, i have added a new field and assigned cedd_date to the field.
    But when i open the page, when i create a line, all the values are going to the first able but this date value is not going to the custom table.
    Can someone please help me in this. This is very urgent.
    Thanx in advance.

Maybe you are looking for