ADF equivalent to Forms activity

If I had a screen in Oracle Forms to maintain DEPT, I might write some code to check whether a particular DEPTNO was in use in an EMP record before letting the User delete that record (in other words, pre-empting the foreign key error rather than handling the error when it occurs). How would I achieve that using ADF?
Thanks in advance,
Chris

Thanks for replying, Frank.
I've interpreted your instructions as follows (I'm sure there are other, better, ways):
Create a VO on the table I want to look up.
Override the remove() method in the table-I-want-to-delete-from's EOImpl class, finding the look-up-table's VO handle, then adding a custom where clause based on the table-I-want-to-delete-from's PK, running the query and seeing if I get any rows back. If I do, then I display a message, if I don't then I proceed with the super.remove().
But I can't work out how to get at the look-up-table's VO handle from the table-I-want-to-delete-from's EOImpl class. I thought I'd be able to use the AM's findViewObject() method, but I can't get it to compile.
Any ideas? (anyone!)
Chris

Similar Messages

  • Custom Formatting of a ADF Read-Only Form

    From what I've worked with so far, the ADF read-only form will only allow you to pick the number of "rows" and "columns" to format data. Columns titles are aligned to the left and column values aligned to the right.
    But the specs I've been given are for a highly customized layout, with column titles above the column values, and with some rows containing only two columns of data and some rows requiring up to ten columns of data.
    How can I adjust the format of ADF components, like read-only forms, to customize the layout?
    Thanks in advance.

    Thanks for the advice Shay.
    What I need to do is take one view object's data (20 columns) and spread them out, in HTML terms, into multiple tables to provide various TR/TD formats on a single screen.
    Are you saying it is possible to layout a single view object's columns into different layout panels to mimic multiple HTML table formats?
    Thanks again.

  • How to get the value of a parameter/field in a ADF Read-Only Form

    Hi,
    My requirement is as follows. Could anyone shed some light on this issue.
    I am showing the records from db table using ADF Read-Only Form ( which uses ViewObject created for the table). Now I want to capture(get) the value of a field in this form and then have to invoke an action based on the value in this field. I mean to say the next page depends the value of a field in this form.
    Please suggest how can I achieve this functionality?
    Thanks in advance.
    ~Sivaji

    That's indeed what Sivaji needs.
    In the page definition you can add a value to the parameters of a certain method. Like RJundi mentioned, point to the attribute of the current row.
    Example:
    The value of the read only textfield will be something like this:
    #{bindings.EmployeeName.inputValue}points to an attribute value in the pageDef of the page:
        <attributeValues id="EmployeeName" IterBinding="AllEmployees">
          <AttrNames>
            <Item Value="EmployeeName"/>
          </AttrNames>
        </attributeValues>The attribute value has also an iterator binding defined in the page def:
        <iterator id="AllEmployees" RangeSize="10"
                  Binds="AllEmployees" DataControl="MyService"/>If you want to 'pass' the attribute of the current row to the service, you can create a methodaction (eg: public void printEmpName(String name)) in the page def or you can drop the method from the datacontrol on to the page. After dropping the method, a screen will appear asking to fill in a value for the parameter ('name' in this example). Fill in '#{bindings.EmployeeName.inputValue}' if you want to pass the EmployeeName of the current row.
    Hope it helps,
    Koen Verhulst

  • How to get the key values of record in ADF Read-only Form?

    Hi
    I am using ADF Business Component VO.
    I have a search page( ADF Search Form) and I am displaying the results of the search in a ADF Read-Only Table( only few columns are shown) .Then by selecting a record and clicking on the button 'View' , I am navigating to a different page(ADF Read-Only Form) to show all the columns of the table for the selected record.
    In the second page, I have one more button 'view child details'.Now when I click on this view child details button, I have to show another page(ADF Read-Only Form) which fetches the data from one of the child tables of parent record.
    My idea is to create a ViewLink between the parent and child tables.( I have more than 15 child tables for a parent table).
    Is there anyother way to achieve this functionality?
    Please respond ASAP.
    Thanks in advance.
    ~Sivaji..
    Message was edited by:
    Sivaji...the boss

    Sijav,
    ASAP?
    Anyway - yes, you can do this with a view link. When you add the child table to the application model, make sure you actually add it as a child of the parent table instance (select the parent VO first, then use the shuttle to add it). This way, the parent->child relationship should be coordinated for you automatically. You should not need to get the key values manually.
    Then, when you create the page to show the detail table, make sure you use the child table that is shown as a child of the parent table in the data control palette (expand parent table to see the child).
    Hope this helps,
    John

  • ADF UIX Search Form - Is this a bug?

    I created a JDev 9.0.5.2 ADF UIX Search form from the component palette. I ran the page without making any changes. I chose the Find button which displayed the search criteria. I selected the delete button and then the create button, which created 2 blank records (possible bug?) in the search criteria table at the top. I selected one of the blank records and entered search criteria. I chose the submit button which changed the data in the search criteria table as it is supposed to do. I selected the other blank record, entered search criteria and submitted it. Again the data in the search criteria table was changed appropriately. I selected the delete button and the wrong record was deleted (bug?).
    Are these bugs?

    Hello,
    a similar sort of situation is created if you have a Read-only table on a page which drills down to an edit/create input form page. If you enable a create functionality you need to enable some way for the user to back out of the created record and clean up the newly created row. On the detail page (JobsEdit.do) i created a link to a custom event on the master page action (JobsView.do) like this:
    <button text="Cancel" destination="JobsView.do?event=cancelinput"/> In the Data Action class for the JobsView page i have a method defined as follows:
    public void onCancelinput(DataActionContext ctx)
        Row row = ctx.getBindingContainer().getApplicationModule().findViewObject("JobsView1").getCurrentRow();
        row.refresh(row.REFRESH_REMOVE_NEW_ROWS );
    }as a workaround, it sounds like you may need put some manual controls in place to tightly control any newly created rows which have/will not been used. I don't know if this will resolve the deleting wrong record problem...
    regards,
    Brenden

  • How to control the canvas of the ADF Read-Only Form

    Hi
    Could you give an idea of how to control the canvas of the fields in ADF Read-Only form. My requirements are as follows
    1) ALL the labels has to left justified irrelevant of their length
    2) ALL the values also has to left justified and should be wrapped if it exceeds some length.
    3) I want to show the results in more than one column with proper alignment as mentioned above.
    Thanks in advance.
    Sivaji.......

    Sivaji,
    There is a "rendered" attribute on the af:table component. You can write EL to pragmatically control the evaluated value of expression to set the visibility.
    Assuming you are using BC for your middle layer you can do something like the following:
    <af:table ...
    rendered = #{YourDetailViewObject.somestring.inputValue != null}
    ..>
    Z

  • ADF BC and the Active Data Service

    hi
    The OFM Fusion Developer's Guide for Oracle ADF 11g Release 1 (B31974-05) has a section "42 Using the Active Data Service"
    at http://download.oracle.com/docs/cd/E15523_01/web.1111/b31974/adv_ads.htm
    that says "... If you want your components to update based on events passed into ADF Business Components, then you need to use the Active Data Proxy. ..."
    but it does not seem to explain how to use ADF BC and the Active Data Service.
    I have been able to create this example application ...
    http://www.consideringred.com/files/oracle/2010/ActiveDataServiceADFBCApp-v0.01.zip
    ... that does not have a af:poll component (but has moved polling into a managed bean).
      <managed-bean>
        <managed-bean-name>sumSalBean</managed-bean-name>
        <managed-bean-class>activedataserviceadfbcapp.view.SumSalBean</managed-bean-class>
        <managed-bean-scope>session</managed-bean-scope>
        <managed-property>
          <property-name>empSumSalVO</property-name>
          <value>#{data.activedataserviceadfbcapp_view_sumSalPagePageDef.SumSal.viewObject}</value>
        </managed-property>
      </managed-bean>This is some code in the SumSalBean class:
    package activedataserviceadfbcapp.view;
    // also based on code found in "ADF’s Active Data Service and scalar data (like activeOutputText)" by Matthias Wessendorf
    // at http://matthiaswessendorf.wordpress.com/2010/01/07/adf%E2%80%99s-active-data-service-and-scalar-data-like-activeoutputtext/
    public class SumSalBean
         extends BaseActiveDataModel
         protected static final String SUM_SAL_NAME = "sumSal";
         protected final AtomicInteger fCurrentChangeCount = new AtomicInteger(0);
         protected long fActiveDataUpdateEventTime;
         protected EmpSumSalVO fEmpSumSalVO = null;
         @PostConstruct
         public void setupActiveData()
              ActiveModelContext vActiveModelContext =
                   ActiveModelContext.getActiveModelContext();
              Object[] vKeyPath = new String[0];
              vActiveModelContext.addActiveModelInfo(this, vKeyPath, SUM_SAL_NAME);
              ScheduledExecutorService vSEService = Executors.newScheduledThreadPool(1);
              vSEService.scheduleAtFixedRate(new Runnable()
                        public void run()
                             if (hasDataChanged())
                                  triggerActiveDataUpdateEvent();
                   3, // let's wait some seconds
                   2, // period between the updates
                   TimeUnit.SECONDS);
         public void triggerActiveDataUpdateEvent()
              setActiveDataUpdateEventTime(System.currentTimeMillis());
              incrementCurrentChangeCount();
              ActiveDataUpdateEvent vEvent =
                   ActiveDataEventUtil.buildActiveDataUpdateEvent(
                        ActiveDataEntry.ChangeType.UPDATE,
                        getCurrentChangeCount(), new String[0], null,
                        new String[] { SUM_SAL_NAME },
                        new Object[] { getSumSal() });
              fireActiveDataUpdate(vEvent);
         public String getSumSal()
              EmpSumSalVO vEmpSumSalVO = getEmpSumSalVO();
              return "" + vEmpSumSalVO.getFirstSumSal();
         protected void startActiveData(Collection<Object> rowKeys,
              int startChangeCount)
         protected void stopActiveData(Collection<Object> rowKeys)
         public int getCurrentChangeCount()
              return fCurrentChangeCount.get();
         protected boolean hasDataChanged()
              EmpSumSalVO vEmpSumSalVO = getEmpSumSalVO();
              return vEmpSumSalVO.hasDataChanged(getActiveDataUpdateEventTime());
         public void setEmpSumSalVO(EmpSumSalVO pEmpSumSalVO)
              fEmpSumSalVO = pEmpSumSalVO;
    }How all this behaves a runtime can be seen in this screencast
    at http://www.screentoaster.com/watch/stUEpQSkxIR19aSV9YW1NRVF9W/activedataserviceadfbcapp_v0_01_zip_demo
    I would welcome comments on how the example application in ActiveDataServiceADFBCApp-v0.01.zip can be improved, or references to information on how this should be done properly.
    question
    (q1) Where can I find some example code that does use ADF BC and the Active Data Service?
    many thanks
    Jan Vervecken

    Jan,
    ADF BC does not natively support ADF yet. Its planned for a next release. The only Data Control that out of the box support ADS is BAM. To use ADF BC with e.g. databae change notifications you
    - create a shared AM
    - Configure the VO to respond to database changes (check box)
    - Configure the database to broadcast changes
    - Use an af:poll component for the refresh because the update would be on the model layer only
    So what is in the documentation is a doc bug. In the current releae you can use ADS best with a POJO model (that you use directly for dashboard use cases). You can though use a POJO data control, but this at the current stage would just act as a pass through for the data access.
    See example 156 on http://blogs.oracle.com/smuenchadf/examples/ for how to do it with ADF BC
    Frank
    Ps.: Of course, the plan is to make everything working out of the box with no developer action required.
    Edited by: Frank Nimphius on Feb 12, 2010 6:56 AM
    Re-read your post. Maybe I need to revise my comment. Are you accessing AM directly or via the ADF layer. If the latter - I did not yet look at your sample - then this may work if you don't release the AM module you access directly (may not scale well)

  • OpenScripts not loadable in OLT, OFT doesn't record forms activity

    I think something's borked here. I've got OLT 9.00.1355 running and it integrates fine with the tests created by OFT - I can see them in the test list, play them back, etc. Problem is, the OFT scripts don't seem to be recording anything in Java Forms (and there's a nasty crash bug with LOV entries in self-service apps).
    So today I downloaded OpenScript (Version: 9.0.0.0 Service Release 1) from Oracle and sure enough, it works great and plays back my Forms activity for me. But the scripts don't show up in OFT or OLT and I am needing to do load testing against forms activity.
    What gives?

    Hi Mike
    Let me try and clarify this, first OFT does not support forms and is being replaced by OpenScript, OFT is still supported, but development has stooped and it will be deprecated in the near future, if you need to use forms you need to use OpenScript. OpenScript has different modules for functional testing and for load testing, functional works on a UI level and load works at a protocol level making the load scripts very scalable scripts recorded using the functional testing module will not show under OLT as they can not be used for load testing if you need to load test forms you will need to record the scripts using the load testing module which can be selected using the create new script wizard.
    Hope this helps
    Alex

  • Migrating ADF Security Policies to Active Directory

    Hi,
    Curently I'm searching whether it is possible to migrate ADF security policies created during development to a weblogic production environment with Active directory as the identity store.
    Whilst I did find documentation relating to standalone WLS, yet no documentation seem to be available for migrating ADF policies to an Active directory. Does anyone has links to documentation that guide throguh this security policy migration.
    Thanks.

    Hi,
    Curently I'm searching whether it is possible to migrate ADF security policies created during development to a weblogic production environment with Active directory as the identity store.
    Whilst I did find documentation relating to standalone WLS, yet no documentation seem to be available for migrating ADF policies to an Active directory. Does anyone has links to documentation that guide throguh this security policy migration.
    Thanks.

  • ADF Faces: Exception Handler activity ain't reraised

    Hi there!
    I'm using a Studio Edition Version 11.1.1.3.0 (Build JDEVADF_11.1.1.3.PS2_GENERIC_100408.2356.5660).
    I've done this:
    1. created a bounded task flow flow1 and added to it:
    1.1 a vew activity view1 (the default activity) - shows an inputText field for a db column, for which there is a constraint;
    1.2 a method call activity method1 - calls commit;
    1.3 a view activity view2 - has an ouputText depicting an attribute's value for the same collection as that of inputText in view1;
    1.4 a view activity errorView (marked as an exception handler) - displays a localizedMessage from the currentViewPort;
    1.5 created for the view activities page fragments (with necessary fields and buttons).
    2. linked them as follows:
    2.1 view1 -*-> method1 -*-> view2;
    2.2 errorView -*-> view1.
    3. in the default unbounded task flow created a view activity main, a page file for it, and dropped onto the latter the flow1 as a region;
    4. launched the app (as the table contains some data, the view1 displays first row in a row set);
    5. entered into the view1 's field a non-violating value;
    6. pressed a button (which has just an action property set to move to the method1 ) - everything's fine, we get to the view2;
    6. rerun the app;
    7. entered incorrect value, pressed the button - flow goes, as expected, to the errorView, which informs us the exception's details (JBO-...);
    8. on the errorView page fragment pressed a button - we are now on the view1 page again;
    9. left the wrong (violating) value (or changed it to another incorrect value, doesn't matter) and pressed the button again;
    10. wow, we reached the view2, but, I guess, we hadn't to. Why so?
    One must note, that in clauses 7 and 9, after pressing the button, there apears a popup, which advises us about an ORA-... error, that is, in step 9 the ADF Faces does receive the exception, but why it doesn't reraise the errorView, that's the question.
    Though, when I change the method1 so, that it calls a bean's method, which always throws an IllegalArgumentException, then everything works as should to - we get to the infinite loop - view1 -> method1 -> errorView -> view1.
    Or, when I extract view2 from flow1, and instead of the former insert return activity with End Transaction set to commit, and then wrap (i.e call) flow1 from a newly created bounded task flow flow2, and in main 's page replace flow1 with flow2 region, the result is quite different. The aforesaid popup with ORA- error arises, until one enters a non-violating value. That is in this case everything is good, except, that control never flows into the errorView.
    And there is one more thing to note yet. When I've, namely method1, been calling a bean with the ever exception throwing method, the Integrated WLS's log was silent, but when the method1 was calling commit, then in the log we can see this twice:
    <Utils><buildFacesMessage> ADF: Adding the following JSF error message: ORA-02290: check constraint CHECK(THE_USER.THE_CONSTRAINT) violated
    java.sql.SQLIntegrityConstraintViolationException: ORA-02290: check constraint CHECK(THE_USER.THE_CONSTRAINT) violated
         at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:85)
         at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:133)
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:206)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:455)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:413)
         at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:1035)
         at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:194)
         at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:953)
         at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1224)
         at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3386)
         at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3467)
         at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeUpdate(OraclePreparedStatementWrapper.java:1350)
         at oracle.jbo.server.OracleSQLBuilderImpl.doEntityDML(OracleSQLBuilderImpl.java:429)
         at oracle.jbo.server.EntityImpl.doDML(EntityImpl.java:8044)
         at oracle.jbo.server.EntityImpl.postChanges(EntityImpl.java:6373)
         at oracle.jbo.server.DBTransactionImpl.doPostTransactionListeners(DBTransactionImpl.java:3172)
         at oracle.jbo.server.DBTransactionImpl.postChanges(DBTransactionImpl.java:2980)
         at oracle.jbo.server.DBTransactionImpl.commitInternal(DBTransactionImpl.java:2018)
         at oracle.jbo.server.DBTransactionImpl.commit(DBTransactionImpl.java:2277)
         at oracle.adf.model.bc4j.DCJboDataControl.commitTransaction(DCJboDataControl.java:1577)
         at oracle.adf.model.binding.DCDataControl.callCommitTransaction(DCDataControl.java:1404)
         at oracle.jbo.uicli.binding.JUCtrlActionBinding.doIt(JUCtrlActionBinding.java:1427)
         at oracle.adf.model.binding.DCDataControl.invokeOperation(DCDataControl.java:2141)
         at oracle.jbo.uicli.binding.JUCtrlActionBinding.invoke(JUCtrlActionBinding.java:730)
         at oracle.adf.controller.v2.lifecycle.PageLifecycleImpl.executeEvent(PageLifecycleImpl.java:394)
         at oracle.adfinternal.view.faces.model.binding.FacesCtrlActionBinding._execute(FacesCtrlActionBinding.java:252)
         at oracle.adfinternal.view.faces.model.binding.FacesCtrlActionBinding.execute(FacesCtrlActionBinding.java:210)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at com.sun.el.parser.AstValue.invoke(AstValue.java:157)
         at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:283)
         at oracle.adf.controller.internal.util.ELInterfaceImpl.invokeMethod(ELInterfaceImpl.java:168)
         at oracle.adfinternal.controller.activity.MethodCallActivityLogic.execute(MethodCallActivityLogic.java:161)
         at oracle.adfinternal.controller.engine.ControlFlowEngine.executeActivity(ControlFlowEngine.java:989)
         at oracle.adfinternal.controller.engine.ControlFlowEngine.doRouting(ControlFlowEngine.java:878)
         at oracle.adfinternal.controller.engine.ControlFlowEngine.doRouting(ControlFlowEngine.java:777)
         at oracle.adfinternal.controller.engine.ControlFlowEngine.routeFromActivity(ControlFlowEngine.java:551)
         at oracle.adfinternal.controller.engine.ControlFlowEngine.performControlFlow(ControlFlowEngine.java:147)
         at oracle.adfinternal.controller.application.NavigationHandlerImpl.handleAdfcNavigation(NavigationHandlerImpl.java:109)
         at oracle.adfinternal.controller.application.NavigationHandlerImpl.handleNavigation(NavigationHandlerImpl.java:78)
         at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:130)
         at org.apache.myfaces.trinidad.component.UIXCommand.broadcast(UIXCommand.java:190)
         at oracle.adf.view.rich.component.fragment.UIXRegion.broadcast(UIXRegion.java:148)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.broadcastEvents(LifecycleImpl.java:812)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:292)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:177)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:191)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:97)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:420)
         at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:420)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:247)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:157)
         at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:94)
         at java.security.AccessController.doPrivileged(Native Method)
         at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
         at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:414)
         at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:138)
         at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:159)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.dms.wls.DMSServletFilter.doFilter(DMSServletFilter.java:330)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.doIt(WebAppServletContext.java:3684)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3650)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2268)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2174)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1446)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)What I'm doing wrong? And how can I dismiss that popup, as it duplicates errorView and does not get messages from a custom message bundle?
    Thanks in advance for any comments.
    Yerzhan.

    Hi there!
    I'm using a Studio Edition Version 11.1.1.3.0 (Build JDEVADF_11.1.1.3.PS2_GENERIC_100408.2356.5660).
    I've done this:
    1. created a bounded task flow flow1 and added to it:
    1.1 a vew activity view1 (the default activity) - shows an inputText field for a db column, for which there is a constraint;
    1.2 a method call activity method1 - calls commit;
    1.3 a view activity view2 - has an ouputText depicting an attribute's value for the same collection as that of inputText in view1;
    1.4 a view activity errorView (marked as an exception handler) - displays a localizedMessage from the currentViewPort;
    1.5 created for the view activities page fragments (with necessary fields and buttons).
    2. linked them as follows:
    2.1 view1 -*-> method1 -*-> view2;
    2.2 errorView -*-> view1.
    3. in the default unbounded task flow created a view activity main, a page file for it, and dropped onto the latter the flow1 as a region;
    4. launched the app (as the table contains some data, the view1 displays first row in a row set);
    5. entered into the view1 's field a non-violating value;
    6. pressed a button (which has just an action property set to move to the method1 ) - everything's fine, we get to the view2;
    6. rerun the app;
    7. entered incorrect value, pressed the button - flow goes, as expected, to the errorView, which informs us the exception's details (JBO-...);
    8. on the errorView page fragment pressed a button - we are now on the view1 page again;
    9. left the wrong (violating) value (or changed it to another incorrect value, doesn't matter) and pressed the button again;
    10. wow, we reached the view2, but, I guess, we hadn't to. Why so?
    One must note, that in clauses 7 and 9, after pressing the button, there apears a popup, which advises us about an ORA-... error, that is, in step 9 the ADF Faces does receive the exception, but why it doesn't reraise the errorView, that's the question.
    Though, when I change the method1 so, that it calls a bean's method, which always throws an IllegalArgumentException, then everything works as should to - we get to the infinite loop - view1 -> method1 -> errorView -> view1.
    Or, when I extract view2 from flow1, and instead of the former insert return activity with End Transaction set to commit, and then wrap (i.e call) flow1 from a newly created bounded task flow flow2, and in main 's page replace flow1 with flow2 region, the result is quite different. The aforesaid popup with ORA- error arises, until one enters a non-violating value. That is in this case everything is good, except, that control never flows into the errorView.
    And there is one more thing to note yet. When I've, namely method1, been calling a bean with the ever exception throwing method, the Integrated WLS's log was silent, but when the method1 was calling commit, then in the log we can see this twice:
    <Utils><buildFacesMessage> ADF: Adding the following JSF error message: ORA-02290: check constraint CHECK(THE_USER.THE_CONSTRAINT) violated
    java.sql.SQLIntegrityConstraintViolationException: ORA-02290: check constraint CHECK(THE_USER.THE_CONSTRAINT) violated
         at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:85)
         at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:133)
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:206)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:455)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:413)
         at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:1035)
         at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:194)
         at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:953)
         at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1224)
         at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3386)
         at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3467)
         at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeUpdate(OraclePreparedStatementWrapper.java:1350)
         at oracle.jbo.server.OracleSQLBuilderImpl.doEntityDML(OracleSQLBuilderImpl.java:429)
         at oracle.jbo.server.EntityImpl.doDML(EntityImpl.java:8044)
         at oracle.jbo.server.EntityImpl.postChanges(EntityImpl.java:6373)
         at oracle.jbo.server.DBTransactionImpl.doPostTransactionListeners(DBTransactionImpl.java:3172)
         at oracle.jbo.server.DBTransactionImpl.postChanges(DBTransactionImpl.java:2980)
         at oracle.jbo.server.DBTransactionImpl.commitInternal(DBTransactionImpl.java:2018)
         at oracle.jbo.server.DBTransactionImpl.commit(DBTransactionImpl.java:2277)
         at oracle.adf.model.bc4j.DCJboDataControl.commitTransaction(DCJboDataControl.java:1577)
         at oracle.adf.model.binding.DCDataControl.callCommitTransaction(DCDataControl.java:1404)
         at oracle.jbo.uicli.binding.JUCtrlActionBinding.doIt(JUCtrlActionBinding.java:1427)
         at oracle.adf.model.binding.DCDataControl.invokeOperation(DCDataControl.java:2141)
         at oracle.jbo.uicli.binding.JUCtrlActionBinding.invoke(JUCtrlActionBinding.java:730)
         at oracle.adf.controller.v2.lifecycle.PageLifecycleImpl.executeEvent(PageLifecycleImpl.java:394)
         at oracle.adfinternal.view.faces.model.binding.FacesCtrlActionBinding._execute(FacesCtrlActionBinding.java:252)
         at oracle.adfinternal.view.faces.model.binding.FacesCtrlActionBinding.execute(FacesCtrlActionBinding.java:210)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at com.sun.el.parser.AstValue.invoke(AstValue.java:157)
         at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:283)
         at oracle.adf.controller.internal.util.ELInterfaceImpl.invokeMethod(ELInterfaceImpl.java:168)
         at oracle.adfinternal.controller.activity.MethodCallActivityLogic.execute(MethodCallActivityLogic.java:161)
         at oracle.adfinternal.controller.engine.ControlFlowEngine.executeActivity(ControlFlowEngine.java:989)
         at oracle.adfinternal.controller.engine.ControlFlowEngine.doRouting(ControlFlowEngine.java:878)
         at oracle.adfinternal.controller.engine.ControlFlowEngine.doRouting(ControlFlowEngine.java:777)
         at oracle.adfinternal.controller.engine.ControlFlowEngine.routeFromActivity(ControlFlowEngine.java:551)
         at oracle.adfinternal.controller.engine.ControlFlowEngine.performControlFlow(ControlFlowEngine.java:147)
         at oracle.adfinternal.controller.application.NavigationHandlerImpl.handleAdfcNavigation(NavigationHandlerImpl.java:109)
         at oracle.adfinternal.controller.application.NavigationHandlerImpl.handleNavigation(NavigationHandlerImpl.java:78)
         at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:130)
         at org.apache.myfaces.trinidad.component.UIXCommand.broadcast(UIXCommand.java:190)
         at oracle.adf.view.rich.component.fragment.UIXRegion.broadcast(UIXRegion.java:148)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.broadcastEvents(LifecycleImpl.java:812)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:292)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:177)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:191)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:97)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:420)
         at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:420)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:247)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:157)
         at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:94)
         at java.security.AccessController.doPrivileged(Native Method)
         at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
         at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:414)
         at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:138)
         at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:159)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.dms.wls.DMSServletFilter.doFilter(DMSServletFilter.java:330)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.doIt(WebAppServletContext.java:3684)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3650)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2268)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2174)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1446)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)What I'm doing wrong? And how can I dismiss that popup, as it duplicates errorView and does not get messages from a custom message bundle?
    Thanks in advance for any comments.
    Yerzhan.

  • ADF Swing Empty form probmlem

    Hello,
    I'm trying to follow the "Build a Java Swing Application with Oracle ADF"Cue Cards. I'm stocked at the step 5 (create a Master Form in ADF Swing Form).
    When I try to add a collection OrdersView1 to empty form I've got error messages:
    D:\JDeveloper\tutorial\OrdersApplicationADF\View\src\view\PanelOrdersView1Helper.java
    Error(99,30): identifier $objects not found
    Error(105,30): identifier $objects not found
    Error(111,30): identifier $objects not found
    Error(117,30): identifier $objects not found
    In the xml there is following code:
    if ("Hide".equalsIgnoreCase(panelBinding.getDisplayHint("OrdersView1",
    "OrderDate",
    null))) {
    dataPanel.remove(mOrderDate);
    dataPanel.remove($objects.LabelVariableName);
    if ("Hide".equalsIgnoreCase(panelBinding.getDisplayHint("OrdersView1",
    "OrderId",
    null))) {
    dataPanel.remove(mOrderId);
    dataPanel.remove($objects.LabelVariableName);
    if ("Hide".equalsIgnoreCase(panelBinding.getDisplayHint("OrdersView1",
    "OrderStatusCode",
    null))) {
    dataPanel.remove(mOrderStatusCode);
    dataPanel.remove($objects.LabelVariableName);
    if ("Hide".equalsIgnoreCase(panelBinding.getDisplayHint("OrdersView1",
    "OrderTotal",
    null))) {
    dataPanel.remove(mOrderTotal);
    dataPanel.remove($objects.LabelVariableName);
    Can you help me? What I did wrong?

    Hi,
    Timo's approach works if you use e.g. ADF BC and then drag the "Create" operation as a method activity to the task flow diagram before you navigate to the view. As Timo mentions, if you want to abandon the row you can't just press cancel but i) navigate to another method activity you create from the "Delete" operation, or ii) access the current row in the iterator to remove it there before navigating off.
    Another approach is to expose a method on the ADF BC client interface that creates a new row in ADF BC. You can then drag and drop the method as a parameter form, which initially would be empty
    Frank

  • ADF Human Task Form

    Hi all,
    I created a BPEL process with Human task activity and Auto generated a Human task form(ADF Form).
    after deploying the process ,in the work list console im able to see the task details and task form is also displayed.
    if isome values are upadted in ADF task form it does not get dispalyed in the form.once if i refersh manually i m able to see the changes.
    how can i make the task form refersh automatically say for example after each and every minute.
    Any suggestions?
    Thanks,
    karthik

    Hi Frank,
    i was looking into this document : http://download.oracle.com/docs/cd/E12839_01/integration.1111/e10224/bp_designtf.htm#CACFCJFE
    26.3.2 How To Create an ADF Task Flow Based on a Human Task.
    Here ADF pages are auto generated...
    Any suggestion from you where i can go and edit the auto generated task forms so that it can refersh itself automatically.
    Regards,
    karthik

  • ADF Task Flow Form Deployment

    Dears,
    Good day, I have a question related to BPEL processes deplyment which contain Human Task (customized ADF Form), right now we deploy the BPEL process and the ADF form generated from task flow on the same weblogic server (soa_server1) and it is working fine.
    my question, can we create another weblogic server to host all the ADF forms? other than the soa_server1? in order to make a better performance?
    if yes what the configuration change required to acheive this?
    Best Regards
    Adham Hattab

    Update: After struggling with it almost whole day, I recreated the UI project and the problem has gone away.

  • Error during the adobe form activation

    hi all,
    when am i activate the adobe form layout (Zlayout) , the following error message occured:
    Error during activation
    Message no. EU837
    but iam not found any syntax error in layout development.
    please help in this it very urgent....
    Thanks,
    Ramana

    Hello Sir,
    You need to apply the note 1047930, After this the problem should be resolved.
    Thanks and Regards,
    Deepak...

  • [ADF custom task form] How to get logged user in Worklist app?

    Hi!
    How to get the user id, logged in Worklist application in a managed bean? I'm creating ADF task form for human task and i have to know which user is logged in.
    Thx!

    &lt;af:outputText value="Authenticated User: #{securityContext.userName}" id="ot2"/>
    or via standard j2se apis (Subject.getSubject(..))
    hth clemens (http://blogs.oracle.com/soabpm)

Maybe you are looking for

  • Extremely slow FireWire on iMac 24" (Early 2008)

    Up until recently, my external FW800 drive (NewerTech MiniStack v3) has worked flawlessly with my iMac.  Very fast transfer speeds.  However, that is no longer the case.  The drive spontaneously unmounts, and file transfers on both FW800 and FW400 ar

  • Xserve - Mirrored RAID Failed? Degraded? Confused...

    Hi, Can anyone shed some light on this situation please? Disk utility tells me one thing and Server Monitor tells me another. I have an X-Serve with 3 drives and a Mirrored RAID Set running 10.5.8. Server Monitor is showing a yellow status for disk 1

  • Desktop manager won't start, sometimes

    Edit: I have migrated from kdm to sddm and the problem is just the same. I have a really weird problem with my laptop (Lenovo E335): Sometimes, when I boot/reboot my laptop, kdm is started correctly, but other times (maybe more often) kdm won't start

  • Intriscope pbd files

    Does any documentation about pbd files exist? I want to create my own pbd file for testing classes in my application. I'm using Wily introscope 7.2.

  • ITunes shows the a large "other" in memory usage bar

    My itunes shows a large usage on my ipad air and my iphone 6 of "other".  About 23 GB in each.  Yet when I go onto the device itself it isn't there and the usage is about right for photos, music, etc.  Is there a way to get them in sync I am missing?