Urgent: oracle.jbo.domain.Number Bug (continued)

Dear Shailesh(JDeveloper Team):
To catch your attention, I posted the topic here again:
[original topic]
We are developing a BC4J application for our US customer. Our web server (iAS) and database (Oracle 8i) are installed on RS/6000, AIX 4.3.3
When we try to set a Number type field value (Number is the only type in Oracle database to stand for a number, either a float field or sequence number). On AIX iAS, if the value is integer, larger than 100 and is not multiple of 100 ( such as 123, 112, 5676, 43435 ), the system(ont our jsp, web bean, but handled by low level classes) will automatically add two zeroes at the end of the number before insert to database table. For example:
123---->12300
112---->11200
5676--->567600
43435-->4343500.
It is incorrect! On the other hand, when we try to retrieve value from a field which type is Number, if the value is a integer but larger than 100, and is not multiple of 100 ( such as 123, 112, 5676, 43435 ), the system will automatically add two zeroes at the end of the number after got from database table. For example:
123---->12300
112---->11200
5676--->567600
43435-->4343500
We check the xml file of the BC4J, Number field type in the middle-tier is denoted as oracl.jbo.domain.Number, so we wrote a program (JSP) without accessing database, like this one:
<%
for (int i=0 ; i<1000; i++) {
%>
<p> <%=new oracle.jbo.domain.Number(i).toString() %></p>
<%}%
The program runs correctly in JDeveloper developing environment on NT workstation( in the developing environment, NT mimic a local virtual middle-tier):
0
1
99
100
101
598
599
600
999
But after we deployed the jsp to iAS on RS/6000 and browse it, the output result is very inconceivable:
0
1
99
100
10100 (Should be 101)
59800 (Should be 598)
59900 (Should be 599)
600
99900 (Should be 999)
We checked all through the deployed Jar files on iAS and the oracl.jbo.domain.Number class, we found that the class is extended from oracle.sql.NUMBER, and the toString method is also inherited from oracle.sql.NUMBER.
We even test below simple jsp program using oracl.jbo.domain.Number type:
<%@ page contentType="text/html" autoFlush="true" import="java.lang.*,LocaMotion.*"%>
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
<META NAME="GENERATOR" CONTENT="Oracle JDeveloper">
<TITLE>
Hello World
</TITLE>
</HEAD>
<BODY>
<%
String strI="123";
%>
<p> <%=new oracle.jbo.domain.Number(strI)%></p>
</BODY>
</HTML>
In JDeveloper developing environment, it prints 123 in browser, but when deployed to iAS, it prints 12300.
Why the same Java class has different behavior under different OS (NT and RS/6000)? We think it is a bug on implementation of oracle.sql.NUMBER. We assume this is caused by the machine CPU register length: NT: 32 bits, RS/6000: 64 bits.
This bug must be fixed to ensure the BC4J application workable. Would you please resolve this problem for us at your time?
We are eager to waiting for your answer, as we are in FVT phase, our customer is BITCO enterprises inc. in Virginia.
Thanks,
[Answer from Shailesh(JDeveloper Team)]:
I'd suspect this is an issue in oracle.sql.NUMBER implementation. Could you help us by verifying that oracle.sql.NUMBER.toString() also reproduces the same problem. A potential fix I could think of is to use the jdbc libraries that come with RS/6000-AIX version of the database.
[Our test result]:
We test the oracle.sql.NUMBER.toString() method, it also reproduces the same problem.
What's the "jdbc libraries that come with RS/6000-AIX version of the database"?
,who offer it? IBM or Oracle. Where could I find it and how to use it? Will oracle.sql.NUMBER problem for AIX fixed?
null

As a follow up , could you tell the specific database version of Oracle8i you are using.(i.e 8.1.6 or 8.1.7/ also if you have applied any patches)
. Just wondering if you had tried a simple JDBC program (without BC4J) (eg: a command line program) which uses oracle.sql.Number and produced the same erroneous results.
appericiate if you could provide any additional information.
thanks and best regards
raghu

Similar Messages

  • Urgent: oracle.jbo.domain.Number Bug (continued I)

    Dear Shailesh and Raghu (JDeveloper Team):
    To catch your attention, I posted the topic here again:
    ------------------------------------------------------------------------------------------[original topic]
    We are developing a BC4J application for our US customer. Our web server (iAS) and database (Oracle 8i) are installed on RS/6000, AIX 4.3.3
    When we try to set a Number type field value (Number is the only type in Oracle database to stand for a number, either a float field or sequence number). On AIX iAS, if the value is integer, larger than 100 and is not multiple of 100 ( such as 123, 112, 5676, 43435 ), the system(ont our jsp, web bean, but handled by low level classes) will automatically add two zeroes at the end of the number before insert to database table. For example:
    123---->12300
    112---->11200
    5676--->567600
    43435-->4343500.
    It is incorrect! On the other hand, when we try to retrieve value from a field which type is Number, if the value is a integer but larger than 100, and is not multiple of 100 ( such as 123, 112, 5676, 43435 ), the system will automatically add two zeroes at the end of the number after got from database table. For example:
    123---->12300
    112---->11200
    5676--->567600
    43435-->4343500
    We check the xml file of the BC4J, Number field type in the middle-tier is denoted as oracl.jbo.domain.Number, so we wrote a program (JSP) without accessing database, like this one:
    <%
    for (int i=0 ; i<1000; i++) {
    %>
    <p> <%=new oracle.jbo.domain.Number(i).toString() %></p>
    <%}%
    The program runs correctly in JDeveloper developing environment on NT workstation( in the developing environment, NT mimic a local virtual middle-tier):
    0
    1
    99
    100
    101
    598
    599
    600
    999
    But after we deployed the jsp to iAS on RS/6000 and browse it, the output result is very inconceivable:
    0
    1
    99
    100
    10100 (Should be 101)
    59800 (Should be 598)
    59900 (Should be 599)
    600
    99900 (Should be 999)
    We checked all through the deployed Jar files on iAS and the oracl.jbo.domain.Number class, we found that the class is extended from oracle.sql.NUMBER, and the toString method is also inherited from oracle.sql.NUMBER.
    We even test below simple jsp program using oracl.jbo.domain.Number type:
    <%@ page contentType="text/html" autoFlush="true" import="java.lang.*,LocaMotion.*"%>
    <HTML>
    <HEAD>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
    <META NAME="GENERATOR" CONTENT="Oracle JDeveloper">
    <TITLE>
    Hello World
    </TITLE>
    </HEAD>
    <BODY>
    <%
    String strI="123";
    %>
    <p> <%=new oracle.jbo.domain.Number(strI)%></p>
    </BODY>
    </HTML>
    In JDeveloper developing environment, it prints 123 in browser, but when deployed to iAS, it prints 12300.
    Why the same Java class has different behavior under different OS (NT and RS/6000)? We think it is a bug on implementation of oracle.sql.NUMBER. We assume this is caused by the machine CPU register length: NT: 32 bits, RS/6000: 64 bits.
    This bug must be fixed to ensure the BC4J application workable. Would you please resolve this problem for us at your time?
    We are eager to waiting for your answer, as we are in FVT phase, our customer is BITCO enterprises inc. in Virginia.
    Thanks,
    [Answer from Shailesh(JDeveloper Team)]:
    I'd suspect this is an issue in oracle.sql.NUMBER implementation. Could you help us by verifying that oracle.sql.NUMBER.toString() also reproduces the same problem. A potential fix I could think of is to use the jdbc libraries that come with RS/6000-AIX version of the database.
    [Our test result]:
    We test the oracle.sql.NUMBER.t oString() method, it also reproduces the same problem.
    What's the "jdbc libraries that come with RS/6000-AIX version of the database"?
    ,who offer it? IBM or Oracle. Where could I find it and how to use it? Will oracle.sql.NUMBER problem for AIX fixed?
    [Answer from Raghu(JDeveloper Team)]:
    JDev Team
    unregistered posted January 04, 2001 10:14 AM
    Hi
    we are trying to follow up internally on this. Did you file a bug with Oracle Support on this. ?
    If not I would suggest to do that, but at the same time we would be following up on that with the respecitive product group which works on that.
    thanks and best regards
    raghu
    IP: Logged
    JDev Team
    unregistered posted January 04, 2001 04:08 PM
    As a follow up , could you tell the specific database version of Oracle8i you are using.(i.e 8.1.6 or 8.1.7/ also if you have applied any patches)
    . Just wondering if you had tried a simple JDBC program (without BC4J) (eg: a command line program) which uses oracle.sql.Number and produced the same erroneous results.
    appericiate if you could provide any additional information.
    thanks and best regards
    raghu
    Larry's answer:
    Yes. We opened a Tar on http://metalink.oracle.com (Tar number is 1350841.999), but still no solution provided.
    Our software platform is AIX 4.3.3., Oracle 8i is 8.1.6, iAS is 1.0.
    Below program is a very simple Jsp that uses oracle.sql.NUMBER but no BC4J classed used.
    <%@ page contentType="text/html" autoFlush="true" import="java.lang.*,oracle.sql.*"%>
    <HTML>
    <HEAD>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
    <META NAME="GENERATOR" CONTENT="Oracle JDeveloper">
    <TITLE>
    Hello World
    </TITLE>
    </HEAD>
    <BODY>
    <%
    String strI="123";
    %>
    <p> <%=new oracle.sql.NUMBER(strI).stringValue()%></p>
    </BODY>
    </HTML>
    In JDeveloper developing environment (WINDOWS NT), it prints 123 in browser, but when deployed to iAS on AIX, it prints 12300.
    null

    thanks for the extra information. We have passed the information to specific product group and they are looking into it.
    As it looks like specific issue we can take this offline.
    can you send your email id [email protected]
    and we can let you know on the status.
    raghu

  • Strange Bug in oracle.jbo.domain.Number

    Hi
    There is a strange Bug in oracle.jbo.domain.Number. Look at the following code:
    System.out.println(new Number("12E4"));In JDeveloper 9.0.5.3 this code prints
    12000which is correct. In JDeveloper 10.1.3 this code throws an exception:
    java.lang.NumberFormatException: For input string: "E4"
         at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
         at java.lang.Integer.parseInt(Integer.java:447)
         at java.lang.Integer.parseInt(Integer.java:497)
         at oracle.sql.NUMBER.toBytes(NUMBER.java:1861)
         at oracle.sql.NUMBER.stringToBytes(NUMBER.java:3398)
         at oracle.sql.NUMBER.<init>(NUMBER.java:277)
         at oracle.jbo.domain.Number.<init>(Number.java:289)
         at project1.Main.main(Main.java:10)I think this is a serious bug since some very basic behaviour is not working as expected anymore.

    It's a bug.
    The parseInt method is called and from its javadoc it's clear that it throws a NumberFormatException:
    Parses the string argument as a signed decimal integer. The characters in the string must all be decimal digits, except that the first character may be an ASCII minus sign '-' ('\u002D') to indicate a negative value. The resulting integer value is returned, exactly as if the argument and the radix 10 were given as arguments to the parseInt(java.lang.String, int) method.
    Maybe the earlier implementation of oracle.jbo.domain.Number didn't use the parseInt method.
    Ronald

  • Oracle.jbo.domain.Number; local class incompatible

    Hi Forum,
    Development Tool     : Jdeveloper 9.0.4 (part of Oracle 10g Suite)
    Target Application Summary:
    A simple application which displays the content of a database table and allows it to be modified both through a web interface as well as a Swing standalone client.
    A Workspace having three projects:
    1) A Business layer defined by using BC4J(Business Components For Java) provided with Jdeveloper 10g.
    2) A Swing/JClient application for BC4J which accesses the BCJ4 layer using a Business component client data model.
    3)A JSP application using JSP for business components which accesses the BC4j layer
    Target Deployment:
    1) Light-weight swing interface at machine 1
    2) Business components and JSP part in an application server on Machine 2
    3) Oracle DB on Machine3
    Problem Statement
    We deployed the BC4J Middle tier on OC4J standalone as a session bean. Then the client jar was deployed as a remote application(using Swing/JClient for business componments), the following error comes:
    (oracle.jbo.PiggybackException) JBO-28300: Piggyback read error
    ----- LEVEL 1: DETAIL 0 -----
    (java.io.InvalidClassException) oracle.jbo.domain.Number; local class incompatible: stream classdesc serialVersionUID = -6507359405709672486, local class serialVersionUID = -592084144037230518
    Can the forum help me with the problem (i am using the library BC4JOracleDomains which has oracle.jbo.domain.Number class)
    Thanking you in advance.

    Firstly, good job on describing your problem/situation. Some people just don't bother to be verbose.
    Secondly, I have to note that I don't do any development in this way so I have no 1st hand experience with this excpetion. But, it appears as though you are using different versions of the jar files (which in turn contain different versions of the classes). Maybe you should take a look at that?

  • Oracle.jbo.domain.Number / Date comparable ?

    Hello,
    I'd like to know whether there was a plan to make the oracle.jbo.domain.Number and oracle.jbo.domain.Date classes implement the Comparable interface?
    That would save some unnecessary wrapping code...
    Thanks in advance,
    Remi

    I just want to push this Idea, since it is hard to understand, why such a simple interface is not implemented for such a basic class. It would make a lot of things much easier.

  • Oracle.jbo.domain.Number to int and back

    I have a database field that comes back as a oracle.jbo.domain.Number.
    I want to increment this by one so was trying to convert it to an int, apply the increment then turn it back into a number.
    2 questions :
    1) Can I increment oracle.jbo.domain.Number directly
    2) If not how to I turn it to an int and back
    Many thanks,
    Richard

    Convert oracle.jbo.domain.Number to int with the intValue method.
    oracle.jbo.domain.Number var;
    int intValue=var.intValue();Convert int to oracle.jbo.domain.Number with the Number (int value) constructor.
    int intValue;
    oracle.jbo.domain.Number var=new oracle.jbo.domain.Number(intValue);

  • PL/SQL Object Type - Java oracle.jbo.domain

    PL/SQL Object Type <-> Java oracle.jbo.domain
    can anybody help me, getting my domains to work?
    Following scenario:
    in pl/sql we have an object type called MULTI_LANGUAGE. This type is used for storing multilingual texts as nested table in one(!) column.
    So the object MULTI_LANGUAGE contains a member variable LANGUAGE_COLLECTION of type LANGUAGE_TABLE, which itself is a nested table of objects
    of the type LANGUAGE_FIELD (this again is only a language id and the corresponding content)
    Also the methods setContent(langID, langContent) and getContent(langId) are defined on Object MULTI_LANGUAGE.
    For example: Table having primary key, 2 other columns and one column of object type MULTI_LANGAGE (=nested table of objects)
    |ID|Column1|Column2|  multilingual Column  |
    |--|---------------------------------------|
    |  |       |       |  -------------------  |
    |  |       |       | | 1 | hello         | |
    |  |       |       |  -------------------  |
    |1 | foo   | bar   | | 2 | hallo         | |   <- Row Nr 1
    |  |       |       |  -------------------  |
    |  |       |       | | 3 | ola           | |
    |  |       |       |  -------------------  |
    |--|-------|-------|-----------------------|
    |  |       |       |  -------------------  |
    |  |       |       | | 1 | world         | |
    |  |       |       |  -------------------  |
    |2 | abc   | def   | | 2 | welt          | |   <- Row Nr 2
    |  |       |       |  -------------------  |
    |  |       |       | | 3 | ???  ;-)      | |
    |  |       |       |  -------------------  |
    |--|-------|-------|-----------------------|Now i've tried to modell this structure as an oracle.jbo.domain.
    class MultiLanguage extends Struct having this StructureDef:
    attrs[(0)] = new DomainAttributeDef("LanguageColl", "LANGUAGE_COLL", 0, oracle.jbo.domain.Array.class, 2003, "ARRAY", -127, 0, false, "campusonlinepkg.common.LanguageField");
    and
    class LanguageField extends Struct having this StructureDef:
    attrs[(0)] = new DomainAttributeDef("Id", "ID", 0, oracle.jbo.domain.Number.class, 2, "NUMERIC", -127, 0, false);
    attrs[(1)] = new DomainAttributeDef("Content", "CONTENT", 1, java.lang.String.class, 12, "VARCHAR", -127, 4000, false);
    Is there anything wrong with this StructureDef?
    When running the BC-Browser with -Djbo.debugoutput=console -Djbo.jdbc.driver.verbose=true parameters I get suspect warnings when browsing the records
    [196] Executing FAULT-IN...SELECT NR, NAME FROM B_THESAURI BThesauri WHERE NR=:1
    [197] SQLException: SQLState(null) vendor code(17074)
    [198] java.sql.SQLException: Ungültiges Namensmuster: XMLTEST.null
    ...snip: detail of stack...
    [240] SQLException: SQLState(null) vendor code(17060)
    [241] java.sql.SQLException: Deskriptor konnte nicht erstellt werden: Unable to resolve type "null"
    ...snip: detail of stack...
    [280] Warning:No element type set on this array. Assuming java.lang.Object.
    (XMLTEST is the name of the schema)
    Seems as if the framework can't read the TypeDescriptor or does not know which descriptor to read (XMLTEST.null??)
    Do I have to implement my own JboTypeMap?
    Please help, I'm stuck.
    Thanks in advance, Christian

    Thanks for your suggestion, but it seems to me as if there is one level missing.
    in pl/sql I have following structure:
    Struct MULTI_LANGUAGE (Object type) - outermost
      Array LANGUAGE_TABLE (nested table type)
        Struct LANGUAGE_FIELD (Object type simple) - innermostthe reason why i had to wrap another struct around the array was because it is not possible to define methods on a nested table. this is only possible on objects.
    on the outermost object type (which holds the array of language fields) I needed to define following 2 methods for direct access:
    getContent (langId in number) returns varchar2
    setContent (langId in number, langContent in varchar2)
    I would like to rebuild the same structure in java, because newly written java code should live in perfect harmony with legacy pl/sql code ;-)
    Both applications (Java and pl/sql) have to access the same data as long as migration to java goes on.
    Is this nested structure too much for a Domain?
    Any other suggestions?
    Thanks again, Christian

  • Cannot convert type class java.lang.String to class oracle.jbo.domain.Clob

    Cannot convert type class java.lang.String to class oracle.jbo.domain.ClobDomain.
    Using ADF Business Components I have a JSFF page fragment with an ADF form based on a table with has a column of type CLOB. The data is retrieved from the database and displayed correctly but when any field is changed and submitted the above error occurs. I have just used the drag and drop technique to create the ADF form with a submit button, am I missing a step?
    I am using the production release of Jdeveloper11G

    Reproduced and filed bug# 7487124
    The workaround is to add a custom converter class to your ViewController project like this
    package oow2008.view;
    import javax.faces.application.FacesMessage;
    import javax.faces.component.UIComponent;
    import javax.faces.context.FacesContext;
    import javax.faces.convert.Converter;
    import javax.faces.convert.ConverterException;
    import oracle.jbo.domain.ClobDomain;
    import oracle.jbo.domain.DataCreationException;
    public class ClobConverter implements Converter {
         public Object getAsObject(FacesContext facesContext,
                                   UIComponent uIComponent,
                                   String string) {
           try {
             return string != null ? new ClobDomain(string) : null;
           } catch (DataCreationException dce) {
             dce.setAppendCodes(false);
             FacesMessage fm =
               new FacesMessage(FacesMessage.SEVERITY_ERROR,
                                "Invalid Clob Value",
                                dce.getMessage());
             throw new ConverterException(fm);
         public String getAsString(FacesContext facesContext,
                                   UIComponent uIComponent,
                                   Object object) {
           return object != null ?
                  object.toString() :
                  null;
    }then to register the converter in faces-config.xml like this
    <faces-config version="1.2" xmlns="http://java.sun.com/xml/ns/javaee">
      <application>
        <default-render-kit-id>oracle.adf.rich</default-render-kit-id>
      </application>
      <converter>
        <converter-id>clobConverter</converter-id>
        <converter-class>oow2008.view.ClobConverter</converter-class>
      </converter>
    </faces-config>then reference this converter in the field for the ClobDomain value like this
              <af:inputText value="#{bindings.Description.inputValue}"
                            label="#{bindings.Description.hints.label}"
                            required="#{bindings.Description.hints.mandatory}"
                            columns="40"
                            maximumLength="#{bindings.Description.hints.precision}"
                            shortDesc="#{bindings.Description.hints.tooltip}"
                            wrap="soft" rows="10">
                <f:validator binding="#{bindings.Description.validator}"/>
                <f:converter converterId="clobConverter"/>
              </af:inputText>

  • Getting Error:::oracle.jbo.domain.Date cannot be cast to java.lang.String

    Hi Friends,
    I have simple req'.
    i have one date filed in OAF page...if user has change the date filed..means if he incresed by 2 days..then i need to call one procedure..if not no need to call....
    first am picking that date field to by uusing prepared stmt and putting in to one variable..like below
    try {
    ps1 = am.getOADBTransaction().getJdbcConnection().prepareStatement("SELECT -------");
    ResultSet rs2 = ps1.executeQuery();
    while (rs2.next()) {
    schDate = rs2.getString(1);//storing the value
    } catch (Exception e) {
    throw OAException.wrapperException(e);
    Next..am picking the current value like this(user can change the value) like below...
    OAViewObject viewObj = (OAViewObject)am.findViewObject("simpleVO");
    String currSchDate = (String)viewObj.getCurrentRow().getAttribute("iDate");
    java.text.SimpleDateFormat dtFormat = new java.text.SimpleDateFormat ("MM/dd/yyyy");
    StringBuilder date = new StringBuilder(dtFormat.format(currSchDate));
    Then am comparing the values like below..
    if (schDate.equals(date)) {
    String outParamValue = "";
    String secondOutParamValue = "";
    but am geting the below error
    ## Detail 0 ##
    java.lang.ClassCastException: oracle.jbo.domain.Date cannot be cast to java.lang.String
         at xxuss.oracle.apps.abc.webui.xxPGCO15.processFormRequest(xxGCO15.java:594)
    Appriciate any help...its very urgent
    Regards
    Harry

    Instead of :
    String currSchDate = (String)viewObj.getCurrentRow().getAttribute("iDate");Try
    String currSchDate = viewObj.getCurrentRow().getAttribute("iDate").toString();
    -Anand

  • GetCurrentDate() not found in  oracle.jbo.domain.Date;

    Is it a known bug.
    Then how do we get the current date and time?
    Thanks in advance.

    Viani - you're right, but oracle.jbo.domain.Date is definitely not right - see Calendar as suggested above.
    John

  • Set oracle.jbo.domain.Date object to null

    Hi
    We have a case where we need to set a Date value to null.
    We have tried row.setCxdDate(null) and row.setCxdDate(new Date("")), but to no avail.
    When we call DBTransaction.commit() in the application module, all the other changes are persisted to the database, except for the date. No exceptions are generated at all.
    I have searched through these forums, and the only thing I have come up with, was that this was filed as a bug to be fixed in the 9.0.3 release; we are using 10.1.2!
    Does anyone know how to solve this?
    TIA
    Gareth

    It returned "1970-01-01"
    By the way I found that there is one method getTime() in oracle.jbo.domain.Date class
    http://otndnld.oracle.co.jp/document/products/as10g/101300/B25221_03/web.1013/b16007/oracle/jbo/domain/Date.html used in 10.3
    But could not find it while using in JDeveloper 11.1.1.3 <http://download.oracle.com/docs/cd/E17904_01/apirefs.1111/e10653/oracle/jbo/domain/Date.html>
    Edited by: Moinak on Mar 4, 2011 7:08 AM
    Edited by: Moinak on Mar 4, 2011 7:10 AM

  • 11g R1 ArrayOfStringDomain throws JboException at oracle.jbo.domain.Array

    Hi,
    I tried to run the ArrayOfStringDomain example #1 from Steve Muench [http://radio.weblogs.com/0118231/stories/2004/09/23/notYetDocumentedAdfSampleApplications.html#1] on JDeveloper 11g R1 and got the following exception:
    ### Testing EmpView ###
    Exception in thread "main" oracle.jbo.JboException: Cannot insert/update Array without context information
         at oracle.jbo.domain.Array.prepareForDML(Array.java:736)
         at oracle.jbo.server.ViewRowSetImpl.prepareLobObjectForBind(ViewRowSetImpl.java:7071)
         at oracle.jbo.server.ViewRowSetImpl.getParametersAsStorageTypes(ViewRowSetImpl.java:4480)
         at oracle.jbo.server.ViewRowSetImpl.execute(ViewRowSetImpl.java:968)
         at oracle.jbo.server.ViewRowSetImpl.executeQueryForMasters(ViewRowSetImpl.java:1162)
         at oracle.jbo.server.ViewRowSetImpl.executeQueryForMode(ViewRowSetImpl.java:1082)
         at oracle.jbo.server.ViewRowSetImpl.executeQuery(ViewRowSetImpl.java:1076)
         at oracle.jbo.server.ViewObjectImpl.executeQuery(ViewObjectImpl.java:5601)
         at test.TestClient.main(TestClient.java:23)
    Process exited with exit code 1.
    The same application runs on JDeveloper 10g (10.1.3.4) without problem.
    Is there anything to be changed in release 11?
    thanks in advance,
    Bahar

    You're hitting bug# 7452095.
    Workaround is to introduce a helper class like this:
    package test;
    import java.sql.Connection;
    import java.sql.SQLException;
    import java.util.HashMap;
    import java.util.Map;
    import oracle.jbo.Transaction;
    import oracle.jbo.domain.Array;
    import oracle.jbo.domain.DomainContext;
    import oracle.sql.ArrayDescriptor;
    public class ArrayHelper {
        public static Array newArray(ArrayDescriptor descriptor,
                                     Connection conn,
                                     Object names,
                                     Transaction txn)
        throws SQLException {
            Array arr = new Array(descriptor, conn, names);
            Map m = new HashMap();
            m.put(DomainContext.ELEMENT_SQL_NAME,
                  descriptor.getTypeName());
            arr.setContext(null, txn, m);
            return arr;
    }then replace lines in your code that are constructing the new Array like this:
    arr = new Array(descriptor,conn,names);with this instead:
    arr = ArrayHelper.newArray(descriptor,conn,names,getDBTransaction());

  • How can i Convet String to oracle.jbo.domain.Date

    Hi all,
    How can i Convet String to oracle.jbo.domain.Date ?
    Pls help its urgent?
    Thanks
    Amit

    Hi
    Try this hope this helps.
            oracle.jbo.domain.Date current_date = null;
            oracle.jbo.domain.Date current_date1 = null;
            String date = null;
            try{
                PreparedStatement st = getDBTransaction().createPreparedStatement("select trunc(sysdate) from dual",1);
                ResultSet result = st.executeQuery();
                while (result.next()) {
                   date = result.getString(1);
                   System.out.println("Sysdate:"+date);
                current_date = current_date1.toDate(date);
                System.out.println("Date Format:"+current_date);
            }catch(SQLException sqle){
                sqle.printStackTrace();
            }

  • Error Message: JBO-25009: Cannot create an object of type:oracle.jbo.domain

    Hi, When im giving a default value to a date column in the attribute settings i get this error when im running my jsp page (bc4j web application):
    Error Message: JBO-25009: Cannot create an object of type:oracle.jbo.domain.Date with value: 31-dic-2099
    How can i fix that? I�ve already trying all possible date formats.
    Thanku

    The default format for Date (oracle.sql.DATE which is the superclass of oracle.jbo.domain.Date) is yyyy-mm-dd.

  • Adding one day to a oracle.jbo.domain.Date and truncating the time part

    JDev 11.1.1.4.0
    Hello
    I need to add a day to oracle.jbo.domain.Date and get back a oracle.jbo.domain.Date without the time part.
    So far I've got
    Date valueDate = (Date)rowCpt.getAttribute("ValueDate");                                       
    Calendar cal = Calendar.getInstance();
    cal.setTime(new java.util.Date(valueDate.timestampValue().getTime()));
    cal.add(Calendar.DATE, 1);
    Date newDate = new oracle.jbo.domain.Date(new Timestamp(cal.getTime().getTime()));This adds 1 day to the date but keeps the time part of the date.
    How do I get rid of the time part of the date ?
    Thanks
    Paul

    The Calendar class allows you to set or clear each field.
    Date valueDate = (Date)rowCpt.getAttribute("ValueDate");                                       
    Calendar cal = Calendar.getInstance();
    cal.setTime(new java.util.Date(valueDate.timestampValue().getTime()));
    cal.add(Calendar.DATE, 1);
    cal.clear(Calendar.HOUR);
    cal.clear(Calendar.MINUTE);
    cal.clear(Calendar.SECOND);
    cal.clear(Calendar.MILLISECOND);
    Date newDate = new oracle.jbo.domain.Date(cal.getTimeInMillis());should work.
    Timo

Maybe you are looking for

  • I purchased an upgrade to my one note app.  How can I get that to transfer to my new iPad?

    I purchased an upgrade for my OneNote app, how do I get that to transfer to my new iPad?   I downloaded the app but the upgrade is not loaded on this new iPad.

  • What exactly is new in Leopard if I don't have an Intel based Mac?

    I recently helped my father upgrade his iMac to Leopard. Everything went extreemly smooth and the new OS is up and running. While the machine is only a couple of years old, it is not running an Intel CPU. As I flip through the installation book and s

  • DST Start & End Time

    My Requirement is this : From the given Time Zone I should get the following attributes 1. DSTStartTime 2. DSTEndTime TimeZone myZone = TimeZone.getTimeZone("America/New_York"); In the case of America/New_York DSTRules 2007 states that DST starts on

  • Employee Download - HR* prefix in Number range

    Our requirment when we download employee from ECC the prefix of Number range should be HR* we defined same number range with prefix HR----- and mark as Ext. but while download it takes only sales prospect number range. What extra setting requir for g

  • Tabs and formatting text

    Hi, a couple of things. I know this is just a Beta version but: When I paste text into the controls it ignores all tabbing. When I try to align justify both left and right sides of the text it doesn't work. I can't import text where some of the text