Infobus with JBO

I've created a couple of JBO views and a link between them. Then I used a wizard to generate an Infobus panel which displays the master/detail query that results from the JBO views.
The problem occurs when I try to insert a new row into the detail query. An error message informs me that the data item to which the controls on the pane are bound does not implement the void newRow() method of the RowsetAccess interface.
The data aware controls (grids and navigation bars) on the pane are bound to their data items through a setDataItemName("infobus:/infobusName/sessionName/JBOViewName") call.
I may have been naive but I expected the resulting items to be instances of my subclasses of jbo.ViewObjectImpl or jbo.ViewRowImpl, as they are published in the deployed JBO Application Module.
But when I checked
dataGrid.getDataItem().getClass().getName()
it turned out it is of class
oracle.dacf.dataset.RowsetAccessImpl
can anyone tell me what to do? i just want to be able to insert a row, without having to write tons of code.
thank you

Stefanov,
If you generated your form with the wizard, it should write all the code for you. Here are a few things to check.
In your Business Components project, check your Application Module's data model. It should contain something like the following in the Data Model tree:
masterView
detailView via viewLink
In other words, your detail table should be listed as a subnode of the master table rather than at the same level as the master table.
Second, try running the App Module tester (right mouse on the App Module and select Test, connect to the database, then double-click on the link name under the ViewLinkMembers node. Try to do an insert in the tester.
Did you create one view object which does a join of these two tables, and then use the single-table option in the Infobus wizard? If so, when you do a join of multiple tables in a ViewObject, only the first is listed as updateable. All others are Read Only (by default). Edit the ViewObject, and on the EntityObject page, uncheck the Read Only and Reference checkboxes for the detail Entity.
Laura

Similar Messages

  • Insert multiple rows before commit with JBO:ROW

    Hi
    I try to insert multiple rows in a table but when I try to do it with JBO:ROW, i thows an error.
    Y try to change the ID to make it varible but it wont let me.
    Can anyone help me how to to this the best way posible ?
    thanks.

    provide your sample code.

  • Problems with JBO errors displaying when using custom insert VO methods

    Hi!
    I have a problem I hope I can explain :).
    I have a VO that has custom execute and insert methods implemented in application module.
      public void executeWithParamsMyViewG(String asID)
        // find the view
        MyViewImpl loMyViewImpl =
          getMyViewG();
        loMyViewImpl.setNamedWhereClauseParam("IDParm", asID);
        // execute the querry
        loMyViewImpl.executeQuery();
      public void insertRow(String asID)
        MyViewImpl loMyViewImpl =
          getMyViewG();
        // create new row
        Row loRow = loMyViewImpl.createRow();
        // set fields in new row
        loRow.setAttribute("ID", asID);
        loRow.setAttribute("MyAttribute", "A");
        loRow.setAttribute("MyAttribute2",
                           afContext.getProcessScope().get("MyParm"));
        // insert new row
        loMyViewImpl.insertRow(loRow);
      }I have custom error handler with
        public void reportException(DCBindingContainer bc, Exception ex) {
           //Force JboException's reported to the binding layer to avoid
           //printing out the JBO-XXXXX product prefix and code.
          disableAppendCodes(ex);
          super.reportException(bc, ex);
        private void disableAppendCodes(Exception ex) {
          if (ex instanceof JboException) {
            JboException jboEx = (JboException) ex;
           jboEx.setAppendCodes(false);
            Object[] detailExceptions = jboEx.getDetails();
            if ((detailExceptions != null) && (detailExceptions.length > 0)) {
              for (int z = 0, numEx = detailExceptions.length; z < numEx; z++) {
                disableAppendCodes((Exception) detailExceptions[z]);
        }I also have custom phase listener and page lifecycle but without any 'important' methods overridden.
    Than I have a jspx with af:processChoiceBar for navigation, Create button binded to insertRow method, commit and rollback buttons and form with input fields. One of them is required, but with validation on server side, not on client side (showRequired instead of required).
    My problem is this:
    If I add an empty row, leave all the fields blank and try to commit I get required field message, which is OK. But if I use af:processChoiceBar (previous page, next page, select any of the pages), the message is not displayed. The message is displayed after when I try to return to this page. If I debug the exception in reportException method has the code 27024 for DeferredRowValidationException, not the required attribute error which is displayed.
    Can anyone help me with this please, I've wasted a lot of time on this now.
    Regards!
    BB

    Hi,
    Does anyone know why this would not be working. It's really irritating!

  • Struts tag not working with Jbo Tag-BUG??

    Hi
    I am developing application using Struts with BC4J and encountered this problem.
    In a JSP page if I have &lt;jbo:DataScroller&gt; tag and &lt;html:cancel /&gt; button, the button is not working.
    If I remove the datascroller tag cancel button works fine (the way it should).
    Not sure why this is happening, can Jdev team look into this.
    Thanks

    Sashi N Ravipati wrote : "Not using a DataScroller tag within a form tag is impossible. If u have an example of it let me know."
    File > New > Web Tier > Struts-Based JSP for Business Components > Complete Struts-Based JSP Application
    One of the files it generated for me was EmpView1_Browse.jsp:
    <%@ page language="java" import="oracle.jbo.*" errorPage="errorpage.jsp" contentType="text/html;charset=windows-1252" %>
    <%@ taglib uri="/webapp/DataTags.tld"  prefix="jbo" %>
    <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
    <html>
    <head>
    <META NAME="GENERATOR" CONTENT="Oracle JDeveloper">
    <LINK REL=STYLESHEET TYPE="text/css" HREF="bc4j.css">
    <TITLE><bean:message key="browse.title"/></TITLE>
    </head>
    <body>
    <jbo:DataTransaction appid="JdevModuleDataModel" />
    <h3><bean:message key="browse.header" arg0="EmpView1"/></h3>
    <table border="0">
      <tr>
        <td ALIGN="right"><jbo:DataScroller datasource="JdevModuleDataModel.EmpView1"/></td>
      </tr>
      <tr>
        <td><jbo:DataTable datasource="JdevModuleDataModel.EmpView1" edittarget="/edit_EmpView1.do"/></td>
      </tr>
    </table>
    </body>
    </html>A jbo:DataScroller tag is used and it is not within a form tag.
    success
    -Jan

  • html:option tag with jbo:RowSetIterate

    Hi
    I am trying to build a list box using the following code.
    <html:select property="providerTypeId">
    <html:option value=""> </html:option>
    <jbo:RowsetIterate datasource="PModule.ProviderTypeLuVO">
    <html:option value="<jbo:ShowValue datasource='PModule.ProviderTypeLuVO' dataitem='ProviderTypeId' />"> <jbo:ShowValue datasource="PModule.ProviderTypeLuVO" dataitem="ProviderType" />-<jbo:ShowValue datasource="PModule.ProviderTypeLuVO" dataitem="ProviderTypeDesc" /> </html:option>
    </jbo:RowsetIterate>
    </html:select>
    -- The list box builds like this
    <option value="<jbo:ShowValue datasource="P.ProviderTypeLuVO" dataitem="ProviderTypeId" />">10-PHYSICIAN, M.D</option>
    The value is not retrieved from the ShowValue tag.
    Can some one help on this issue.
    Thanks

    Do you have the taglib correct at the top of the page ?
    i.e.
    <%@ taglib uri="/webapp/DataTags.tld" prefix="jbo" %>
    Rather than the ShowValue tag I tend to use the Row tag to have the row as an object on which I can call the getAttribute method to then populate the combo / list box.
    e.g.
    <select name="recallPriorityCode">
    <option value="">
    </option>
    <jbo:RowsetIterate datasource="spds">
    <jbo:Row id="sprow" datasource="spds" action="Current" />
    <%
    String priorityCode = sprow.getAttribute("PriorityCode").toString();
    String priorityDescription = sprow.getAttribute("PriorityDescription").toString();
    %>
    <option value="<%= priorityCode %>">
    <%= priorityDescription %>
    </option>
    </jbo:RowsetIterate>
    </select>
    Hope this helps.

  • How to reconnect DB with jbo?

    void jMenuItem5_actionPerformed(ActionEvent e) {
    System.out.println("Closing DB...");
    myApp.sessionInfo1.revokeSession();
    myAM =myApp.sessionInfo1.getApplicationModule();
    myAM.getTransaction().rollback();
    myAM.getTransaction().disconnect();
    void jMenuItem4_actionPerformed(ActionEvent e) {
    System.out.println("Open DB ...");
    myApp.sessionInfo1 = new SessionInfo();
    myApp.sessionInfo1.setAppModuleInfo(new ModuleInfo("billingAppModule", "BillingAppModuleModule"));
    myApp.sessionInfo1.setConnectionInfo(new LocalConnection("billingcore"));
    myApp.sessionInfo1.setName("sessionInfo1");
    tGWPane.sessionInfo1=myApp.sessionInfo1;
    try {
    tGWPane.rejbInit();
    myApp.sessionInfo1.publishSession();
    } catch (Exception exc){
    exc.printStackTrace();
    null

    There is only one bit of advice required ... read the docs provided with the upgrade.
    If you follow the instructions you will be successful.

  • Intermittent JBO-35007 (Row currency has changed...) and coordination

    I get an intermittent JBO-35007: Row currency has changed since the user interface was rendered. It is not repeatable - ie. if the user leaves the application and starts it again, whatever they were doing works ok. It happens about every hour when the user is doing constant testing. It is somewhat repeatable if you go into one of the screens it happens on, then leave the application open and do something else entirely for 30 - 40 minutes, when you come back and select a different record (using select radio button) it occurs, but even this is not always repeatable. It happens on our screens where we have master and details displayed on the one screen and both master and details are displayed as tables (ie. multiple records). The user says it happens most often when he is using the drop down on the master list that lets you see the next ten records.
    When the problem happens the master and detail records no longer coordinate, so the user can add a detail record to a master different from the one it appears to be adding too. I have told him to logout after a JBO-35007, but he doesn't think that the users will always remember to do that.
    We've just disabled the back button, although the tester is sure he wasn't using that. We've changed session timeout on web.xml so that it will timeout after 20 minutes of inactivity, so it can no longer occur after 30 minutes of inactivity, but it's still happening after that.
    Any suggestions would be greatly appreciated. Thanks.

    I've been assisting Anita and her team in tracking down this issue with JBO-35007 and then JBO-25013. Her team has done an excellent job in nailing this issue down, the problem is surprisingly simple to replicate once you know how, and can now be reproduced consistently.
    Anita and I would like ask for some assistance and advice from potentially the JDev crew and others on have they found a solution to this, and potentially strategies to reduce the issue. Anita has raised an SR, but as getting through 1st level support can be a pain in the butt, I'd thought we'd try a 2 pronged attack and see if we can get assistance from OTN.
    This is the scenario:
    1) There are 2 simple ADF Faces web pages, the 1st with a table, record selector and "edit" submit button to navigate to the 2nd screen. The 2nd screen is an input form for editing the record selected from the 1st page and a submit button to return to the 1st screen. Let's call these pages "view" and "edit" for simplicity.
    2) On the view page, the table selector has autoSubmit="true". This is important.
    3) On the view page there are multiple records showing. For simplicity we'll refer to three records X, Y and Z. By default on entry to the screen, record X is selected.
    4) The user on the view screen selects record Y via the table record-selector, and then presses the edit submit button. A side affect of selecting record Y with the autoSubmit is the underlying iterator row currency is updated, now pointing at Y.
    5) Today, the internet is running a bit slow for whatever reason, and the ADF Faces application doesn't reply instantly by showing the edit page. The user, a bit frustrated with the experience, changes their mind, and still with the view page showing because it hasn't updated yet, decides to pick record Z via the table record-selector, and presses the edit submit button again.
    6) This is actually two actions, as the table-selector's autosubmit results in another request to the midtier to update the iterator's row currency, and then the edit button to navigate to the edit page.
    7) Eventually the application responds, and it shows the edit page for record Y.
    It's a bit hard to guess here if it should actually show record Y or record Z. I don't mean this is a bug, but rather should it logically show record Y because that was the first user's action, or record Z because that's what the user selected. No matter, lets just accept the user sees record Y (possibly incorrectly thinking they're seeing record Z) and start updating the record.
    8) The user then presses the submit button on the edit page showing record Y, and JBO-35007 and JBO-25013 is thrown.
    Why is JBO-35007 thrown? I'd suggest that the selecting of record Z in step 5 & 6 is successfully updating the iterator's row currency, even though the edit page has yet to be fully rendered on the client's browser. It appears that the midtier has no way of knowing that the client has yet received the edit page, so it blindly accepts new requests from the client.
    This is actually similar to the back button problem, in terms of communications with the midtier. The solution to the back button problem at this stage appears to be "user education". However our problem is worse than the back button issue, as slow internet connections are a reality beyond their control, and expecting the users not to double click is stretching the "user education" solution thing a bit too far IMHO.
    A couple of separate points I'd like to raise:
    1) As for point 2 above, the table has autoSubmit set to true. This is the route of the problem and as such could be set to false. However when generating master-table-detail-table pages in JDev, typically you want the master's autoSubmit = true such that the detail table automatically refreshes when a new master record is selected. If we say no to autoSubmit, this means no to master-table-detail-table and is that reasonable as that is a feature in JDev.
    2) However, if the autoSubmit is set to false, the problem is not reproducible. I'd suggest when the user clicks on the submit button on the edit page in this case, the submit button has some sort of functionality to stop the user selecting the button twice until the midtier responds. Is this correct? Potentially there is Javascript functionality doing this? I'm aware on other Web-developer forums of discussions on the <body> tag onload & unload Javascript events to enable/disable buttons to stop multiple submit calls to the midtier. Does the ADF Faces command buttons do this? If such a feature exists, cannot this same functionality be added to the autoSubmit?
    3) We could turn off the tokenValidation in both pageDef, or a combination, but I think this a case where we do want the tokenValidation as the midtier and client are confused.
    4) JDev's HTTP Analyzer can assist in showing what's flowing between the browser and midtier, in particular that you can see the additional autoSubmit of step 5 & 6 sent from the browser.
    5) This issue becomes more prevalent on a slow internet connection. It is hard to produce "naturally" on a fast JDev install. However it can be reproduced by placing a breakpoint on the <afh:html> tag of the edit page and running the test in debug mode. When the breakpoint is reached on first navigating to the edit page, you can return to your browser, which is still showing the view page, select another record and submit, return to the debugger, and press continue.
    As mentioned if anybody could lend support with this issue it would be appreciated. Is there a solution to this? Is this is a bug? Any other thoughts appreciated.
    Thanks & regards,
    CM.
    PS. Anita, if you could add any clarifications if needed please.

  • Jsp stops before jbo:DataScroller on Tomcat 4.1.18

    We are currently installing a web app for one of our customers and are having a few problems. Any help would be greatly appreciated. The app has been developed with JDeveloper 9.0.3 and I am attempting to get the war file we have deployed to work with Apache Tomcat version 4.1.18 and Java 2 SDK, SE v1.4.0_01
    The root of the problem I am having at the moment is that none of the jsp's with jbo:DataTable / jbo:DataScroller's on them are working on the Tomcat. They are working perfectly fine on the OC4J embedded server and I have used the same war file on a machine with Apache Tomcat v4.0.4 and the same version of Java 2 SDK and it works fine.
    When I request one of these jsp's what I get back is the contents of the page up to the DataScroller and at this point it appears to stop rendering. When I view source when the task bar says 'Done', the html stops abruptly just at the point it should have started dealing with the DataScroller ! No errors are displayed, just an empty space where the DataTable should be.
    In the Tomcat logs I have found the following jboException :
    Only one of the two parameters target or targetParam should be defined. I think this applies to the DataScroller but it doesn't make any sense to me !
    What does anyone think ? I uninstalled Tomcat 4.0.4 and Java 2 SDK from the machine I am working with and started again from scratch with Tomcat 4.1 so that Tomcat can be installed as an NT Service.
    I keep messing around with this but don't seem to be getting anywhere. The problem is as well, that one of my colleagues is installing this tomorrow ! Everything had been tested and was working fine until our customer requested today that they would like to run Tomcat as a service (which is a perfectly reasonable request in my opinion) so this is the point at which I started trying to get it running with version 4.1 (as a service).
    Tomcat 4.0.4 and 4.1.18 support the same standards of Servlets and JSP's as far as I am aware ? Could it be something to do with tag libraries ?
    Please can someone help, as my colleague will be with the customer again in about 7 hours !
    Thanks in advance for any help
    Regards,
    Joe Mellors

    By the way, the full call stack for the error I quoted is :
    StandardWrapperValve[jsp]: Servlet.service() for servlet jsp threw exception
    org.apache.jasper.JasperException: Only one of the two parameters target or targetParam should be defined.
         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:248)
         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:432)
         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:386)
         at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:534)
         at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:530)
         at java.lang.Thread.run(Thread.java:536)
    ----- Root Cause -----
    javax.servlet.ServletException: Only one of the two parameters target or targetParam should be defined.
         at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:530)
         at org.apache.jsp.dt_jsp._jspService(dt_jsp.java:161)
         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:204)
         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:432)
         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:386)
         at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:534)
         at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:530)

  • Too many objects match the primary key oracle.jbo.Key[2044 ].;

    When I try to use the Accounting Setup Manager, I get a blank error message and when I click again, I get the following exception:
    Application: FND, Message Name: FND_GENERIC_MESSAGE. Tokens: MESSAGE = oracle.jbo.TooManyObjectsException: JBO-25013: Too many objects match the primary key oracle.jbo.Key[2044 ].;
    Any ideas?
    P.S. I've made all my tablespaces auto-extensible, I picked an accounting method, and I checked to make sure my balancing field has a valid value set.
    EDIT: I made a new calendar and it worked. Sorry for the 'stupid' question. That's a pretty stupid error message though, in my defense
    Edited by: asci on Sep 21, 2012 11:32 AM

    Please see these docs.
    R12 : Accounting Setup Manager Errors With JBO-25013 Too Many Objects Match The Primary Key oracle.jbo.Key [ID 604784.1]
    Accounting Setup Manager with Exception JBO-25013 [ID 1276858.1]
    General Ledger FAQ for Accounting Setup Manager (ASM) [ID 778826.1]
    JBO-25013: Too many objects match the primary key oracle.jbo.Key [ID 730055.1]
    How do you Create a Dummy Ledger with Minimal GL Setup for Agency Setup? [ID 1300365.1]
    Thanks,
    Hussein

  • Table with unique Constraint

    Dear All
    i have a a project ADF-BC / JSF - JDeveloper 11.1.2.3.0 latest, and i have EO contains PK constrain in db in 2 fields (userid & Roleid) and i implemented bundle to handle error message with jbo error code and it works fine in AM test
    and i have VO contains LOV in one attribute of this unique constrain columns (Roleid), now i dropped VO in jsf page as a af:table as below with input text with list of values for roleid and auto submit = true , and i face unexpected behavior from lov attribute in case of entering repeated value ..
    when i enter another repeated value , it give me error message i created in the bundle and everything ok until now
    but when i tab out of input text with list of values , it go back to old value as may be validation fired in back ground , it is not a problem until now
    when i try to make anything else, he still gives me error message of duplicated key
    i change the value again to correct value to avoid duplication error message , i am surprised , still i get the error message and shows me the repeated value again !!
    simply it still save the old repeated value however i corrected , please any one help me to know what is happening and how to solve ?
    Attribute in EO :
    <Attribute
    Name="RoleId"
    Precision="10"
    ColumnName="ROLE_ID"
    SQLType="VARCHAR"
    Type="java.lang.String"
    ColumnType="VARCHAR2"
    TableName="USER_ROLES"
    PrimaryKey="true">
    <DesignTime>
    <Attr Name="_DisplaySize" Value="10"/>
    </DesignTime>
    <validation:ExistsValidationBean
    Name="RoleId_Rule_1"
    ResId="CS.model.BC.EO.UserRolesEO.RoleId_Rule_1"
    OperandType="EO"
    AssocName="CS.model.BC.ASS.UsersRolesFk2ASS"/>
    </Attribute>
    Interface af : table
    <af:table value="#{bindings.UserRoles2.collectionModel}" var="row"
    rows="#{bindings.UserRoles2.rangeSize}"
    emptyText="#{bindings.UserRoles2.viewable ? 'No data to display.' : 'Access Denied.'}"
    fetchSize="#{bindings.UserRoles2.rangeSize}"
    rowBandingInterval="0"
    filterModel="#{bindings.UserRoles2Query.queryDescriptor}"
    queryListener="#{bindings.UserRoles2Query.processQuery}"
    filterVisible="true" varStatus="vs"
    selectedRowKeys="#{bindings.UserRoles2.collectionModel.selectedRow}"
    selectionListener="#{bindings.UserRoles2.collectionModel.makeCurrent}"
    rowSelection="single" id="t1" columnSelection="none"
    columnStretching="column:c3">
    <af:column sortProperty="#{bindings.UserRoles2.hints.RoleId.name}"
    filterable="true" sortable="true"
    headerText="#{bindings.UserRoles2.hints.RoleId.label}"
    id="c2">
    <af:inputListOfValues id="roleIdId"
    popupTitle="Search and Select: #{bindings.UserRoles2.hints.RoleId.label}"
    value="#{row.bindings.RoleId.inputValue}"
    model="#{row.bindings.RoleId.listOfValuesModel}"
    required="#{bindings.UserRoles2.hints.RoleId.mandatory}"
    columns="#{bindings.UserRoles2.hints.RoleId.displayWidth}"
    shortDesc="#{bindings.UserRoles2.hints.RoleId.tooltip}"
    autoSubmit="true" editMode="select">
    <f:validator binding="#{row.bindings.RoleId.validator}"/>
    </af:inputListOfValues>
    </af:column>
    <af:column sortProperty="#{bindings.UserRoles2.hints.RoleName.name}"
    sortable="true"
    headerText="#{bindings.UserRoles2.hints.RoleName.label}"
    id="c3">
    <af:outputFormatted value="#{row.bindings.RoleName.inputValue}"
    id="of7" partialTriggers="roleIdId"/>
    </af:column>
    <af:column sortProperty="#{bindings.UserRoles2.hints.Active.name}"
    filterable="true" sortable="true"
    headerText="#{bindings.UserRoles2.hints.Active.label}"
    id="c4">
    <af:outputFormatted value="#{row.bindings.Active.inputValue}"
    id="of8" partialTriggers="roleIdId"/>
    </af:column>
    </af:table>
    Edited by: user8854969 on Oct 7, 2012 1:34 PM
    Edited by: user8854969 on Oct 7, 2012 2:16 PM

    I believe there is a little confusion here. The error I am encountering has to do with a unique constraint violation and not a foreign key constraint. If I have the data:
    PK FK sequence
    1 5 1
    2 5 2
    3 5 3
    with a unique constraint on (FK, sequence) and want to change it to:
    PK FK sequence
    1 5 1
    4 5 2 --insert
    2 5 3 --update on sequence
    3 5 4 --update on sequence
    I am currently getting a unique constraint violation because the insert is issued before the updates, and the updates alone cause problems because they are issued out of order (i.e. if I do the shifting operation without the insertion of a new record).

  • Jbo.doconnectionpooling=true

    I have a big problem with jbo.doconnectionpooling=true. In JDeveloper 9.0.3.4 (and also 9.0.5.2) when i turn this parameter on for my root application module (AM), then in my web application each request does Activate and Passivate operations on every AM instance usage (even if the AM pool size is sufficient to hold the active instance and jbo.dofailover=false). I dont post any data to database before commit, but between consequtive requests some or all state in BC Java layer (inserted, current rows, changed attribute values) of my VOs with jbo.doconnectionpooling=true are forgotten.
    Reason why I need this so critically is that i have 9 separate applications, that each may have up to 1000 concurrent users. To make this configuration most performant, I'd like to have AM pools of 1000 instances. Without jbo.doconnectionpooling=true this would need potentially 9000 open connections to DB, but my service provider doesnt allow more than 1000 (and is complaining already on that). JDBC connection doesnt hold any uncommitted state for my application, so I decided to use jbo.doconnectionpooling=true, but unfortunately it behaves in my opinion not as stated in documentation.
    Best Regards!
    Mihkel Nõges
    AS Cell Network
    Estonia

    Example BC log:
    [537] Diagnostic Properties: Timing:false Functions:false Linecount:true Threshold:6
    [538] Column count: 50
    [539] ViewObject close prepared statements...
    [540] ViewObject : Created new QUERY statement
    [541] SELECT OppekavaVer.ID,         OppekavaVer.VERSIOON_NR,         OppekavaVer.OPPEKAVA_ID,          OppekavaVer.NIMETUS,         OppekavaVer.NIMETUS_ENG,          OppekavaVer.KVALIFIKATSIOON_ID,         OppekavaVer.KOGUMAHT,          OppekavaVer.PRAKTIKA_MAHT,         OppekavaVer.MAHU_MOOTYHIK_ID,          OppekavaVer.NOMINAALKESTVUS,         OppekavaVer.EESMARGID,          OppekavaVer.VASTUVOTUTINGIMUSED,         OppekavaVer.OPPETOO_KORRALDUS,          OppekavaVer.PRAKTIKA_VOIMALUSED,         OppekavaVer.ON_OSAKOORMUS,          OppekavaVer.OPPEJOUDUDE_KVALIFIKATSIOON,         OppekavaVer.ISCED_KOOD,          OppekavaVer.ON_ASENDATUD,         OppekavaVer.MUUTM_ARV,          OppekavaVer.MUUTJA,         OppekavaVer.MUUTM_AEG,          OppekavaVer.HARIDUSTASE_ID,         OppekavaVer.OPPEASUTUS_ID,          OppekavaVer.STANDARDID,         OppekavaVer.LOPETAMISE_TINGIMUSED,          OppekavaVer.ISCED_TASE,         OppekavaVer.NIMETUS_OTSING,          OppekavaVer.NOMINAALKESTVUS_KUUD,         Oppekava.ID  AS ID1,         Oppekava.KOOD,         Oppekava.OPPEASUTUS_ID  AS OPPEASUTUS_ID1,         Oppekava.ON_RIIKLIK_OPPEKAVA,          Oppekava.OPPEKAVA_KOOD,         OLEKUD.OKV_STAATUS(OppekavaVer.ID)  AS STAATUS,         Oppeasutus.NIMETUS_SHORT,         Oppeasutus.ID  AS ID2,         OppekavaVer.VASTUVOTU_OLEK,         OppekavaVer.AVAMISE_KUUP,          OppekavaVer.SULGEMISE_KUUP,         (select ms.syndmuse_aeg  from koolitusluba kl inner join menetlus                 m on  kl.ID=m.KOOLITUSLUBA_ID inner join menetlus_syndmus              ms    on   m.ID=ms.MENETLUS_ID and ms.OMISTATUD_OLEK=12570            where    OppekavaVer.OPPEKAVA_ID=kl.OPPEKAVA_ID union     select          ms.syndmuse_aeg     from menetlus m inner  join    menetlus_syndmus           ms on m.ID=ms.MENETLUS_ID      and    ms.OMISTATUD_OLEK=12570       where   OppekavaVer.ID=m.OPPEKAVA_VER_ID     and not exists(select  * from koolitusluba where oppekava_id=OppekavaVer.OPPEKAVA_ID))  AS REGISTREERIMISE_AEG FROM OPPEKAVA_VER OppekavaVer, OPPEKAVA Oppekava, OPPEASUTUS Oppeasutus WHERE OppekavaVer.OPPEKAVA_ID = Oppekava.ID AND OppekavaVer.OPPEASUTUS_ID = Oppeasutus.ID(+) AND (OppekavaVer.OPPEASUTUS_ID=? and OppekavaVer.VERSIOON_NR=(select max(versioon_nr) from oppekava_ver okv2 where okv2.oppekava_id=Oppekava.id)) ORDER BY OppekavaVer.NIMETUS ASC
    [542] Binding param 1: 1014
    [543] Column count: 9
    [544] OracleSQLBuilder Executing Select on: OPPEASUTUS (false)
    [545] Built select: 'SELECT ID, NIMETUS, KL_TYYP, REG_NR, KL_OMANDIVORM, NIMETUS_SHORT FROM OPPEASUTUS Oppeasutus'
    [546] Executing FAULT-IN...SELECT ID, NIMETUS, KL_TYYP, REG_NR, KL_OMANDIVORM, NIMETUS_SHORT FROM OPPEASUTUS Oppeasutus WHERE ID=:1
    [547] Column count: 9
    [548] ViewObject close prepared statements...
    [549] ViewObject : Created new QUERY statement
    [550] SELECT Oppeasutus.ID,         Oppeasutus.NIMETUS,         Oppeasutus.KL_TYYP,         Oppeasutus.KL_OMANDIVORM,         Oppeasutus.REG_NR,         Oppeasutus.NIMETUS_SHORT FROM OPPEASUTUS Oppeasutus WHERE (Oppeasutus.ID = :1) ORDER BY Oppeasutus.NIMETUS
    [551] Binding param 1: 1014
    [552] DefaultConnectionStrategy is disconnecting an application module connection
    [553] Database state was detected while disconnecting the application module's connection
    [554] Passivating the application module state.
    [555] **PCollManager.resolveName** tabName=PS_TXN
    [556] Getting a connection for internal use...
    [557]    Creating internal connection...
    [558] Trying connection: DataSource='com.evermind.sql.OrionCMTDataSource@1c5'...
    [559] <AM MomVer="0">
       <cd/>
       <TXN Def="0" New="0" Lok="2"/>
       <VO>
          <VO ac="0" Def="ehis.ok.da.OppeasutuseNimetus" Name="OppeasutuseNimetus"/>
          <VO It="1" Sz="100" St="0" ac="0" Def="ehis.ok.da.OppekavaVersioonid" Name="OppekavaVersioonidOtsing">
             <Wh>
                <![CDATA[OppekavaVer.OPPEASUTUS_ID=? and OppekavaVer.VERSIOON_NR=(select max(versioon_nr) from oppekava_ver okv2 where okv2.oppekava_id=Oppekava.id)]]>
             </Wh>
             <Or>
                <![CDATA[OppekavaVer.NIMETUS ASC]]>
             </Or>
             <args ct="1">
                <arg>
                   <![CDATA[1014]]>
                </arg>
             </args>
             <Key>
                <![CDATA[00030000000433333838000000043333383800000003C20B0F]]>
             </Key>
          </VO>
       </VO>
    </AM>
    [560] **insert** id=1, parid=-1, collid=38612, keyArr.len=-1, cont.len=970
    [561]    stmt: begin insert into "PS_TXN" values (:1, :2, :3, empty_blob(), sysdate) returning content into :4; end;
    [562] **commit** #pending ops=1
    [563] **insert** id=-1, parid=0, collid=38612, keyArr.len=-1, cont.len=665
    [564]    stmt: begin insert into "PS_TXN" values (:1, :2, :3, empty_blob(), sysdate) returning content into :4; end;
    [565] **commit** #pending ops=1
    [566] OppekavaVersioonidOtsing notify ROLLBACK ...
    [567] Clearing VO cache for OppekavaVersioonidOtsing
    [568] Clear QueryCollection in cache...
    [569] OppeasutuseNimetus notify ROLLBACK ...
    [570] Clearing VO cache for OppeasutuseNimetus
    [571] Clear QueryCollection in cache...
    [572] OppeasutuseNimetus_0_findByKey notify ROLLBACK ...
    [573] Clearing VO cache for OppeasutuseNimetus_0_findByKey
    [574] Clear QueryCollection in cache...
    [575] Clearing EO cache for ehis.ok.bo.OppekavaVer
    [576] Clearing VO cache for OppekavaVersioonid
    ... Lots of Clearing VO caches
    [830] Resetting AM=EhakAM
    [831] ViewObject close prepared statements...
    ... Lots of closing prepared statements...
    [911] DefaultConnectionStrategy is disconnecting an application module connection
    [912] *** closing jdbc connection now **** ([Connection : com.evermind.sql.OrionCMTConnection@224])
    [913] Reusing a cached session application module instance
    [914] DefaultConnectionStrategy is re-establishing an application module connection
    [915] Resetting AM=EhisOkModule
    [916] Trying connection: DataSource='com.evermind.sql.OrionCMTDataSource@1c5'...
    [917] Successfully logged in
    [918] JDBCDriverVersion: 9.2.0.5.0
    [919] DatabaseProductName: Oracle
    [920] DatabaseProductVersion: Oracle9i Release 9.2.0.4.0 - Production JServer Release 9.2.0.4.0 - Production
    [921] Propertymanager: skipping reload of file and system based properties
    [922] {{ begin Loading BC4J properties
    [923] -----------------------------------------------------------
    [924] BC4J Property jbo.default.language='et' -->(MetaObjectManager) from System Default
    [925] BC4J Property jbo.default.country='EE' -->(MetaObjectManager) from System Default
    [926] BC4J Property DeployPlatform='LOCAL' -->(SessionImpl) from Client Environment
    [927] Skipping empty Property ConnectionMode from System Default
    [928] Skipping empty Property HostName from System Default
    [929] Skipping empty Property ConnectionPort from System Default
    [930] BC4J Property jbo.locking.mode='optimistic' -->(MetaObjectManager) from Client Environment
    [931] Skipping empty Property ApplicationPath from System Default
    [932] BC4J Property AppModuleJndiName='ehis.ok.da.EhisOkModule' -->(SessionImpl) from Client Environment
    [933] BC4J Property java.naming.security.principal='37009232731' -->(SessionImpl) from Client Environment
    [934] Skipping empty Property java.naming.security.credentials from System Default
    [935] Skipping empty Property jbo.user.principal from System Default
    [936] Skipping empty Property jbo.object.marshaller from System Default
    [937] BC4J Property jbo.use.pers.coll='false' -->(SessionImpl) from System Default
    [938] BC4J Property jbo.pers.max.rows.per.node='70' -->(SessionImpl) from System Default
    [939] BC4J Property jbo.pers.max.active.nodes='30' -->(SessionImpl) from System Default
    [940] Skipping empty Property jbo.pcoll.mgr from System Default
    [941] BC4J Property jbo.txn_table_name='PS_TXN' -->(SessionImpl) from System Default
    [942] BC4J Property jbo.txn_seq_name='PS_TXN_seq' -->(SessionImpl) from System Default
    [943] BC4J Property jbo.control_table_name='PCOLL_CONTROL' -->(MetaObjectManager) from System Default
    [944] BC4J Property jbo.stringmanager.factory.class='use_default' -->(SessionImpl) from System Default
    [945] BC4J Property jbo.fetch.mode='AS.NEEDED' -->(MetaObjectManager) from System Default
    [946] BC4J Property jbo.323.compatible='false' -->(MetaObjectManager) from System Default
    [947] Skipping empty Property JBODynamicObjectsPackage from System Default
    [948] BC4J Property MetaObjectContextFactory='oracle.jbo.mom.xml.DefaultMomContextFactory' -->(MetaObjectManager) from System Default
    [949] BC4J Property jbo.load.components.lazily='false' -->(MetaObjectManager) from System Default
    [950] BC4J Property MetaObjectContext='oracle.jbo.mom.xml.XMLContextImpl' -->(MetaObjectManager) from System Default
    [951] BC4J Property java.naming.factory.initial='oracle.jbo.common.JboInitialContextFactory' -->(SessionImpl) from Client Environment
    [952] BC4J Property IsLazyLoadingTrue='true' -->(MetaObjectManager) from /oracle/jbo/server/jboserver.properties resource
    [953] BC4J Property ActivateSharedDataHandle='false' -->(MetaObjectManager) from System Default
    [954] Skipping empty Property HandleName from System Default
    [955] Skipping empty Property Factory-Substitution-List from System Default
    [956] BC4J Property jbo.project='OK_BC4J' -->(Configuration) from Client Environment
    [957] BC4J Property jbo.max.cursors='50' -->(MetaObjectManager) from System Default
    [958] BC4J Property jbo.dofailover='false' -->(Configuration) from Client Environment
    [959] BC4J Property jbo.doconnectionpooling='true' -->(Configuration) from Client Environment
    [960] BC4J Property jbo.recyclethreshold='20' -->(Configuration) from Client Environment
    [961] BC4J Property jbo.ampool.dynamicjdbccredentials='false' -->(Configuration) from Client Environment
    [962] BC4J Property jbo.ampool.resetnontransactionalstate='true' -->(SessionImpl) from System Default
    [963] BC4J Property jbo.ampool.sessioncookiefactoryclass='oracle.jbo.http.HttpSessionCookieFactory' -->(Configuration) from Client Environment
    [964] BC4J Property jbo.ampool.connectionstrategyclass='oracle.jbo.common.ampool.DefaultConnectionStrategy' -->(Configuration) from System Default
    [965] BC4J Property jbo.ampool.maxpoolsize='2147483647' -->(Configuration) from System Default
    [966] BC4J Property jbo.ampool.initpoolsize='0' -->(Configuration) from System Default
    [967] BC4J Property jbo.ampool.monitorsleepinterval='600000' -->(Configuration) from System Default
    [968] BC4J Property jbo.ampool.minavailablesize='10' -->(Configuration) from Client Environment
    [969] BC4J Property jbo.ampool.maxavailablesize='50' -->(Configuration) from Client Environment
    [970] BC4J Property jbo.ampool.maxinactiveage='600000' -->(Configuration) from System Default
    [971] BC4J Property jbo.ampool.doampooling='true' -->(Configuration) from System Default
    [972] BC4J Property jbo.passivationstore='null' -->(MetaObjectManager) from System Default
    [973] BC4J Property jbo.saveforlater='false' -->(SessionImpl) from System Default
    [974] BC4J Property jbo.snapshotstore.undo='persistent' -->(SessionImpl) from System Default
    [975] BC4J Property jbo.maxpassivationstacksize='10' -->(SessionImpl) from System Default
    [976] BC4J Property jbo.txn.handleafterpostexc='false' -->(SessionImpl) from System Default
    [977] BC4J Property jbo.maxpoolcookieage='-1' -->(Configuration) from System Default
    [978] BC4J Property PoolClassName='oracle.jbo.common.ampool.ApplicationPoolImpl' -->(Configuration) from System Default
    [979] BC4J Property jbo.maxpoolsize='2147483647' -->(Configuration) from System Default
    [980] BC4J Property jbo.initpoolsize='0' -->(Configuration) from System Default
    [981] BC4J Property jbo.poolrequesttimeout='30000' -->(Configuration) from System Default
    [982] BC4J Property jbo.poolmonitorsleepinterval='600000' -->(Configuration) from System Default
    [983] BC4J Property jbo.poolminavailablesize='5' -->(Configuration) from System Default
    [984] BC4J Property jbo.poolmaxavailablesize='25' -->(Configuration) from System Default
    [985] BC4J Property jbo.poolmaxinactiveage='600000' -->(Configuration) from System Default
    [986] BC4J Property RELEASE_MODE='Stateful' -->(MetaObjectManager) from System Default
    [987] BC4J Property jbo.assoc.consistent='true' -->(MetaObjectManager) from System Default
    [988] BC4J Property jbo.viewlink.consistent='false' -->(MetaObjectManager) from /oracle/jbo/server/jboserver.properties resource
    [989] BC4J Property jbo.passivation.TrackInsert='true' -->(MetaObjectManager) from System Default
    [990] Skipping empty Property jbo.ViewCriteriaAdapter from System Default
    [991] BC4J Property jbo.SQLBuilder='Oracle' -->(MetaObjectManager) from /oracle/jbo/server/jboserver.properties resource
    [992] BC4J Property jbo.ConnectionPoolManager='oracle.jbo.server.ConnectionPoolManagerImpl' -->(MetaObjectManager) from System Default
    [993] BC4J Property jbo.TypeMapEntries='Oracle' -->(MetaObjectManager) from /oracle/jbo/server/jboserver.properties resource
    [994] Skipping empty Property jbo.sql92.JdbcDriverClass from System Default
    [995] BC4J Property jbo.sql92.LockTrailer='FOR UPDATE' -->(MetaObjectManager) from System Default
    [996] BC4J Property jbo.jdbc.trace='false' -->(MetaObjectManager) from System Default
    [997] BC4J Property jbo.sql92.DbTimeQuery='select sysdate from dual' -->(MetaObjectManager) from System Default
    [998] BC4J Property oracle.jbo.defineColumnLength='as_chars' -->(MetaObjectManager) from System Default
    [999] Skipping empty Property jbo.tmpdir from System Default
    [1000] Skipping empty Property jbo.server.internal_connection from System Default
    [1001] Skipping empty Property SessionClass from System Default
    [1002] Skipping empty Property TransactionFactory from System Default
    [1003] BC4J Property jbo.debugoutput='file' -->(Diagnostic) from System Property
    [1004] BC4J Property jbo.debug.prefix='DBG: ' -->(Diagnostic) from /oracle/jbo/common/Diagnostic.properties resource
    [1005] BC4J Property jbo.logging.show.timing='false' -->(Diagnostic) from /oracle/jbo/common/Diagnostic.properties resource
    [1006] BC4J Property jbo.logging.show.function='false' -->(Diagnostic) from /oracle/jbo/common/Diagnostic.properties resource
    [1007] BC4J Property jbo.logging.show.level='false' -->(Diagnostic) from /oracle/jbo/common/Diagnostic.properties resource
    [1008] BC4J Property jbo.logging.show.linecount='true' -->(Diagnostic) from /oracle/jbo/common/Diagnostic.properties resource
    [1009] BC4J Property jbo.logging.trace.threshold='6' -->(Diagnostic) from /oracle/jbo/common/Diagnostic.properties resource
    [1010] BC4J Property jbo.jdbc.driver.verbose='false' -->(Diagnostic) from System Default
    [1011] Skipping empty Property oracle.home from System Default
    [1012] Skipping empty Property oc4j.name from System Default
    [1013] BC4J Property jbo.ejb.txntimeout='1830' -->(SessionImpl) from System Default
    [1014] BC4J Property jbo.ejb.txntype='global' -->(SessionImpl) from System Default
    [1015] BC4J Property jbo.ejb.txn.disconnect_on_completion='false' -->(SessionImpl) from System Default
    [1016] Skipping empty Property oracle.jbo.schema from System Default
    [1017] BC4J Property jbo.xml.validation='false' -->(MetaObjectManager) from System Default
    [1018] BC4J Property ord.RetrievePath='ordDeliverMedia' -->(MetaObjectManager) from System Default
    [1019] BC4J Property ord.HttpMaxMemory='102400' -->(MetaObjectManager) from System Default
    [1020] Skipping empty Property ord.HttpTempDir from System Default
    [1021] BC4J Property ord.wmp.classid='clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95' -->(MetaObjectManager) from System Default
    [1022] BC4J Property ord.qp.classid='clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B' -->(MetaObjectManager) from System Default
    [1023] BC4J Property ord.rp.classid='clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA' -->(MetaObjectManager) from System Default
    [1024] BC4J Property ord.wmp.codebase='http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701' -->(MetaObjectManager) from System Default
    [1025] BC4J Property ord.qp.codebase='http://www.apple.com/qtactivex/qtplugin.cab' -->(MetaObjectManager) from System Default
    [1026] Skipping empty Property ord.rp.codebase from System Default
    [1027] BC4J Property ord.wmp.plugins.page='http://www.microsoft.com/isapi/redir.dll?prd=windows&sbp=mediaplayer&ar=Media&sba=Plugin&' -->(MetaObjectManager) from System Default
    [1028] BC4J Property ord.qp.plugins.page='http://www.apple.com/quicktime/download/' -->(MetaObjectManager) from System Default
    [1029] BC4J Property ord.rp.plugins.page='http://www.real.com/player/' -->(MetaObjectManager) from System Default
    [1030] BC4J Property jbo.security.enforce='None' -->(SessionImpl) from System Default
    [1031] BC4J Property jbo.security.loginmodule='oracle.security.jazn.tools.Admintool' -->(SessionImpl) from System Default
    [1032] BC4J Property jbo.server.useNullDbTransaction='false' -->(SessionImpl) from System Default
    [1033] Copying unknown Client property (jbo.applicationmoduleclassname='ehis.ok.da.EhisOkModule') to session
    [1034] Copying unknown Client property (ApplicationName='ehis.ok.da.EhisOkModule') to session
    [1035] Copying unknown Client property (JDBCDataSource='jdbc/OKREGDS') to session
    [1036] Copying unknown Client property (jbo.jdbc.connectstring='jdbc/OKREGDS') to session
    [1037] Copying unknown Client property (jbo.jndi.use_default_context='true') to session
    [1038] Copying unknown Client property (DBconnection='jdbc/OKREGDS') to session
    [1039] WARNING: Unused property: LC='Calling Function' found in /oracle/jbo/common/Diagnostic.properties resource
    [1040] }} finished loading BC4J properties
    [1041] -----------------------------------------------------------

  • CreateRootApplicationModule pooling jbo:ApplicationModule

    I am using this method of Configuration class to get an instance of an AM :
    m_appModule =
    Configuration.createRootApplicationModule(
    m_sAppModuleName,m_sAppModuleConfigName);
    the call of this method takes time to execute ! (about 2 minutes !)
    it contains 110 VOs grouped into 2 packages, one with 107 VOs and one with 3 VOs
    Questions:
    - how to optimize the data model to speed the call of this method ? how to use the lazy loading (it is checked in the .JPX option) with this method ?
    - is this method is using the AM pool to get one available instance ?
    - is it the same code behind this method and behind the datatag
    <jbo:ApplicationModule id="IFPCatasepa_BC4JModule" configname="<%=control.getConfigname()%>" releasemode="Stateful" /> ?
    - How can I instantiate about n instances of a AM pool when launching the Web container (OC4J), and use this pool in my code to get instant instance of AM ?
    To release the AM (to the pool ???) i am using this method :
    Configuration.releaseRootApplicationModule(m_appModule,true);
    Questions :
    - if I put false to the second arg, is this method checked the AM back to a AM pool ?
    - is this the same code behind as this datatag :
    <jbo:ReleasePageResources />
    I can get quickly an instance of the application module (after the load of a JSP page with jbo:applicationmodule tag stateful mode) :
    // Retrieve all request parameters using our routine to handle multipart encoding type
    HttpContainer container = HttpContainer.getInstanceFromSession(request.getSession());
    m_AMRef = (HttpSessionCookie) container.getSessionCookie(sAM_Id);
    if (m_AMRef == null)
    throw new JboException(Res.format(Res.COOKIE_NOT_FOUND, sAM_Id));
    // Given an ApplicationModule tag id passed as a request parameter, retrieve
    // the instance of the ApplicationModule.
    ApplicationModule am = m_AMRef.useApplicationModule();
    is this code access a pool of AM ?
    THX

    Hi,
    Is this a download page you are writing?
    Assuming you are using ADF Faces and Faces controller, from a design perspective it may be better to reference the AM within a backing bean and an expose the data to the JSP using bean methods. It's much easier to code in a backing bean too.
    You can use the FacesContext within the backing bean to access the binding layer using expression language.
    regards,
    Brenden

  • JBO 25028 error ArrayOutOfBoundException

    I was trying to refactor my working code in line with best practices but fails with the following error.
    Before refactoring, I have the following BC components (VO-View Objects, VL-View Link)
    1) AccessVO: with query select EUL5_EUL_USERS.EU_ID, EUL5_DOCUMENTS.DOC_ID, EUL5_DOCUMENTS.DOC_NAME, EUL5_EUL_USERS.EU_USERNAME
    from EUL5_DOCUMENTS, EUL5_ACCESS_PRIVS, EUL5_EUL_USERS
    where EUL5_ACCESS_PRIVS.GD_DOC_ID = EUL5_DOCUMENTS.DOC_ID
    and EUL5_ACCESS_PRIVS.AP_EU_ID = EUL5_EUL_USERS.EU_ID
    2) Documents_AccessVL: with cardinality 1to * and Source DocumentsVO.DocId and Destination AccessVO.DocId
    3) DocumentsVO: with query select DOC_ID,DOC_NAME from EUL5_DOCUMENTS
    4) Users_AccessVL: with cardinality 1to * and Source UserVO.EuId and Destination AccessVO.EuId
    5) UserVO: with query select EU_ID, EU_USERNAME from EUL5_EUL_USERS
    These View Objects attributes are directly mapped to database (SQL query).
    Now as per best practices I need to map the VO attributes to entity object attributes wherever possible.
    I create the three entity objects each mapped to corresponding tables (EUL5_DOCUMENTS, EUL5_ACCESS_PRIVS, EUL5_EUL_USERS). I cannot refactor the existing VO attributes as the Jdeveloper IDE does not permit to map VO attributes to EO attributes. So, I have to delete all the existing VO attributes and create new ones with the same name and mapped to the entity object attributes. I do not create any additional attributes (say 4 attributes existed before refactoring, the same number exists after refactoring)
    I already have a view (jspx file) associated with the VO objects which display user access/document access at runtime in a table (uses dynamic regions) when user selects a particular user or document in a dropdownlist. I clean the Model project and try testing the refactored code which fails with JBO 25028 error ArrayOutOfBoundException when the user.
    Regards
    Joe

    Now I am getting the following error. How do I debug this to figure out where it is failing.
    oracle.jbo.AttributeLoadException: JBO-27021: Failed to load custom data type value at index 7 with java object of type oracle.jbo.domain.Number due to java.sql.SQLException.
         at oracle.jbo.server.OracleSQLBuilderImpl.doLoadFromResultSet(OracleSQLBuilderImpl.java:1357)
    Regards
    Jigo

  • 10g vs 11g: VO bind variable values stale on jbo.ampool.doampooling = false

    Hi gang
    (JDev 11g Build 5188)
    I'm currently doing some testing as recommended by the Fusion 11g Guide to test the ADF BC state management with jbo.ampool.doampooling = false (see sections 36 and 37). I'm seeing different behaviour under 11g vs 10g.
    I have a single updateable VO with a query restricted by a single bind variable. I have a single JSF page with the bind variable as an inputText control, the executeWithParams operation as a commandButton, and a table showing the results from the VO.
    Under 10g I can:
    1) Open the page
    2) Enter a value (say X) for the bind variable, hit the executeWithParams button and correctly see results in the table matching bind variable value X.
    3) Enter a different value for the bind variable (say Y), hit the executeWithParams button and correctly see results in the table matching value of the bind variable value Y.
    Under 11g I get different behaviour for # 3. Instead when I press the executeWithParams button with the value set to Y, the table still show results for the previous bind variable value X?
    It must be noted that if I set jbo.ampool.doampooling = true, the problem disappears, but presumably the error will reappear in a production system under load, so I need to track down what's happening here.
    Possibly I'm seeing a bug, but given the large amount of 11g changes and large amount of documentation I need to read on state management, it could just be I've missed something vital for 11g.
    Does anybody have any opinions what's happening here?
    Thanks for your help in advance.
    CM.

    Hi Chris,
    Yes, waking up in my lair after the long winter ;-)
    No problem for the version numbers.
    The reason I was asking was that the referenced issue was reported for JDeveloper 10.1.3.4.0
    So I'm not convinced this is the same issue.
    Bug 7517882 is fixed in 11.1.1.1.0, but a patch is available for 11.1.1.0.1
    I checked I could download it myself:
    1) in (classic) MetaLink, click tab "Patches & Updates"
    2) click "Simple Search"
    3) select "Search By" "Patch Number"
    4) enter the patch number: 7517882
    5) select the Platform "Microsoft Windows (32 bits)"
    6) click "Go"
    7) Download the patch for version 11.1.1.1.0
    8) click "View Readme" and follow instructions to install the patch.
    If you have any problem, open a SR requesting a support engineer to upload the patch on our FTP server.
    I would recommend you test the patch to ensure this is the same issue and the problem is fixed in your case after applying the patch.
    If not, you can easily de-install it anyway.
    For completeness, the following bugs were closed as duplicated of Bug 7517882
    Bug 7553275 - VOIMPL.GETBINDVARIABLE() RETURNS NULL AFTER APPLICATION MODULE ACTIVATION.
    (logged against 10.1.3.4.0)
    Bug 7556903 - JDEVELOPER 11G EXECUTEWITHPARAMS DOES NOT WORK CORRECTLY WITH AMPOOLING OFF
    (logged against 11.1.1.0.0)
    Regards,
    Didier.

  • Overriding JBO messages from JHS resource bundle

    Hello,
    JHS 10.1.2.0
    in you jhsdevguide.pdf on page 3-97 the page end with the following text
    -- start of text
    Suggestion: You can override the text for several types of messages (for
    example JHS- or JBO-errors) by specifying the error code as an entry in the
    Resource Bundle. Make sure you compile (rebuild) the class after making any
    additions; otherwise you might lose them the next time you run JAG.
    -- end of text
    I was able to get the JHS- messages to work, however I had no sucess with JBO- messages.
    Do I need to do something extra/ different?
    regards
    Sanjiv

    Sanjiv,
    The documentation is wrong in the sense that it does not apply to JBO message. To customize JBO error messages, you can follow the steps as descroibed in the JDeveloper online help topic "Customizing Error Messages", which can be found under Building J2EE Applications -> Working with the Business Tier -> Developing ADF Business Components -> Implementing Business Logic -> Implementing Validation Logic -> Handling Exceptions.
    Steven Davelaar,
    JHeadstart Team.

Maybe you are looking for

  • After upgrade to 10.9.1 office for mac 2011 will not open most excel files.

    After upgrade to 10.9.1 office for mac will not open most excel files. The files will open in open office. I have tried re-saving as excel file, no joy. I have repaired permissions, no joy. below are the results of EtreCheck scan. Hardware Informatio

  • Response object in JSP Dyn page

    Hi SAP EP Gurus, I want to use response.setStatus() mehtod in jspdynpage but it is not working as expected. I am able to use other methods of response object like response.write(). As per my knowledge if i set response.setStatus(200) is should send e

  • Update on Nokia Belle Refresh (111.040.1511).

    Hello my mobile these days has been replaced. On it still is the version 111.030.0609. I want to update on Nokia Belle Refresh (111.040.1511). But there is no link to do that. Can anyone help me? Thanks in advance. Nobby

  • Exporting movies to wmv files

    Trying to export short movies into wmv files. After I create the file through Expert Settings and choosing wmv, I open the file and it is only 30 seconds long. The original file in iMovie is 3 minutes long. I have tried other movies and even saved th

  • I HAVE A CREATIVE SUITE 5.5 DESIGN PREMIUM

    I WANT TO RE-INSTALL IT ON A MAC BOOK HOW TO DO ?