Swap task flow in dynamic region from menuitem in menubar

Hello,
I have a dynamic region and two task flows. I have action listeners that swap the task flows into the dynamic regions. When these action listeners are tied to buttons, everything works as expected, but if i attach them to menuitems on a menubar, despite the fact the the listener is executed (based on log file debugging), the task flow in the region does not change.
Can anyone please give me an idea why, and exactly how someone can swap a task flow in a dynamic region from a menuitem.
I'm using Jdeveloper 11.1.1.0.1
Thanks
Edited by: fakintoy on Apr 22, 2009 3:45 PM
Edited by: fakintoy on Apr 22, 2009 3:46 PM
Edited by: fakintoy on Apr 22, 2009 4:06 PM

Hi,
My guess is that the region is not added to the list of partial targets. Add a partialTrigger on the region pointing on the menu item.
p.s. Code snippet would really help to get a more precise answer here
Regards,
~ Simon

Similar Messages

  • Problem reentering task flow in dynamic region

    Hi All,
    I have problem with reentering task flow in dynamic region.
    JDeveloper/ADF 11.1.2.3.0
    Use Case:
    Application contains bussines modules(implemented as bounded task flows) displayed in dynamic region.
    In some modules, default activity is Method Call activity which performs some validations(input parameters, state of records in db, etc.)
    and if some conditions are not satisfied, shows message to the user and exits module (navigates to Task Flow Return activity).
    Problem:
    If user tries to start the same module again, nothing happens(message is not shown).
    If user choose some other module and after that start first module, message is shown(so I suppose this means that task flow was correctly exited first time but dynamic region state was not refreshed).
    Current implementation info:
    Dynamic region has attached regionNavigationListener which resets taskFlowId variable in dynamic region bean if regionNavigationEvent.getNewViewId() == null but this listener is not called if Method Call activity directly navigates to Task Flow Return activity.
    (if user navigates to Task Flow Return activity from button on some page, this works as expected)
    Also, I tried to reset taskFlowId variable from task flow finalizer and to programatically refresh region binding, but this still doesn't work.
    So, am I missing some point about refreshing dynamic region or this is bug in ADF?
    Thanks,
    Dario

    I don't have any popup.
    There is only page which contains dynamic region.
    This dynamic region can be empty or can contain one of business modules(bounded task flows) which are invoked from menu.
    In some cases business module must exit(by invoking task flow return activity) immediately after invocation(because some business validations fail).
    In this case, module will show message to the user.
    Problem is that if user call the same module again, nothing happens(message is not shown) because regionNavigationListener(which only purpose is to reset taskFlowId variable when business module exits) is not triggered when Method Call activity(which is default activity in BTF) navigates to Task Flow Return activity.
    Also, I tried to use Router activity instead Method Call, but problem still exists(regionNavigationListener is not triggered).
    Obviously, regionNavigationListener is called only if navigating from page(or fragment) and this is probably a bug in ADF so I opened SR.
    Edited by: kdario on Oct 27, 2012 5:04 AM

  • Issue with refresh of task flow in dynamic region

    Hi All,
    I am using Jdeveloper version 11.1.1.6. In my fusion application I am facing an issue with the task flow refresh in the dynamic region. In my application, I have one task flow in which the side navigation command links are there and on the right side it has a dynamic region which is used to display the respective task flows on click of navigation links. Now two of the links actually call the same task flow in dynamic region but for different purpose. One for creating a record and another one for modifying the record. The default activity of that task flow has a page fragment that has couple of fields. One a drop down and another one a text field for searching the accounts against which the record is to be created or modified. On click of the navigation link, I set the task flow id to be displayed and refresh the dynamic region. Now the issue is with those two links which shows the same task flow. Let's say  I searched for a record by putting some value in input text and then went on to modify flow using the modify navigation link. Then the value that I entered in search input text in the create flow stays and does not go away. I found out the cause for the issue and this is happening because of the immediate = true on the navigation command links. Now I cannot remove that because of the obvious reason that then it will start throwing exceptions for the mandatory fields when I am in middle of any flow. Is there any way to achieve it.
    Please help as this is quite urgent. I can also upload the sample application if anyone needs it.
    Regards
    Ajay

    try to put RefreshCondition in the pageDef file for that particular task Flow and try to make that condition to true only when you switch between edit or add. While switching, make sure that the mapped bean properties should also point to respective values i.e. either empty for new or holds some value for edit.
    So, when ever the above condition returns true, task flow gets refreshes and it will holds only the current values not the old values.
    i hope this will resolve your issue.

  • Navigate to initial task flow in dynamic region with JDeveloper 12c

    I have a home page with a dynamic region and three links and I am working with page fragments. The initial bounded task flow is "btfInicio".
    The requirement is that in each bounded task flow I have to implement a close button to return to the initial bounded task flow. This is my code:
    My Bean for my home page.
    public class AdministradorActividades extends DataControlBean {
        private HashMap parametrosGenerales = new HashMap();
        private String taskFlowId = "/WEB-INF/btfInicio.xml#btfInicio";
        private RichRegion regionPrincipal;
        public String gestionarDatosClinicos() {
            taskFlowId = "/WEB-INF/datosClinicos/btfDatosClinicos.xml#btfDatosClinicos";
            refrescarRegion();
            return null;
        public void refrescarRegion(){
            AdfFacesContext adfContext = AdfFacesContext.getCurrentInstance();
            UIComponent region = findComponentInRoot("rPrin");
            adfContext.addPartialTarget(region);
    My Home page.
    <af:decorativeBox id="db4" theme="medium"
                                                                          inlineStyle="margin-bottom:5px; margin-left:5px; margin-right:5px; margin-top:5px;">
                                                            <f:facet name="center">
                                                                <af:region value="#{bindings.regionDinamica.regionModel}"
                                                                           id="rPrin" partialTriggers="::lCli ::lCon ::lRep"/>
                                                            </f:facet>
                                                        </af:decorativeBox>
    My Home page Def:
    <taskFlow id="regionDinamica" xmlns="http://xmlns.oracle.com/adf/controller/binding"
                      taskFlowId="${pageFlowScope.managerRegion.taskFlowId}" activation="deferred"
                      parametersMap="#{pageFlowScope.managerRegion.parametrosGenerales}" Refresh="ifNeeded"/>
    I have tried this inside a fragment from my bounded task flow "btfdatosClinicos" where I have a button , but doesn't work. The home page is not refreshed:
            AdfFacesContext adfContext = AdfFacesContext.getCurrentInstance();
            AdministradorActividades admActividades = (AdministradorActividades) adfContext.getPageFlowScope().get("managerRegion");
            admActividades.setTaskFlowId("/WEB-INF/btfInicio.xml#btfInicio");
            UIComponent region = findComponentInRoot("rPrin");
            adfContext.addPartialTarget(region);
    If I Implement a control flow case inside my bounded task flow "btfdatosClinicos" to "btfInicio" then I can see the page fragment that correspond to the bounded task flow "btfInicio", but if I clic one of the three links, then the action event is not executed.

    Hi Miguel,
    I think you are complicating the requirement without needing. Why would you put the back button inside your other taskflows? This would be useful just if you are calling those from another bounded taskflows.
    Look what you can do;
    You can create your links for dynamic regions. Cool. But in your decorative box, in the top facet, you can drag a drop the btfinicion and display it as a link (yes, this will be your back button). and that's it. You don't need to mess with partial triggers or refrescar regiones methods.
    Let me know if this doesn't impact your requirement.
    By the way, en que pais trabajas?
    Saludos

  • Error when launching bounded task flows in dynamic tabs from UI Shell templ

    Hello,
    could you tell me what is wrong with launching task flows in new tabs?
    I am using the UI Shell template, the task flow is bounded with one simple page (I tried with both fragments jspf and pages jsp)
    The execption is the following:
    java.lang.ClassCastException: javax.faces.component.UIViewRoot cannot be cast to oracle.adf.view.rich.component.fragment.UIXRegion
    Here's the code I am using to launch the bounded task flow:
    private void launchActivity(String title, String taskflowId, // taskflow is something like "/WEB-INF/mytask_flow.xml"
    boolean newTab) {
    try {
    if (newTab) {
    TabContext.getCurrentInstance().addTab(title, taskflowId);
    } else {
    TabContext.getCurrentInstance().addOrSelectTab(title,
    taskflowId);
    } catch (TabContext.TabOverflowException toe) {
    toe.handleDefault();
    Root cause of ServletException.
    java.lang.ClassCastException: javax.faces.component.UIViewRoot cannot be cast to oracle.adf.view.rich.component.fragment.UIXRegion
         at oracle.adfinternal.view.faces.taglib.region.RegionTag.doStartTag(RegionTag.java:105)
         at oracle.jsp.runtime.tree.OracleJspBodyTagNode.executeHandler(OracleJspBodyTagNode.java:50)
         at oracle.jsp.runtime.tree.OracleJspCustomTagNode.execute(OracleJspCustomTagNode.java:261)
         at oracle.jsp.runtime.tree.OracleJspClassicTagNode.evalBody(OracleJspClassicTagNode.java:87)
         at oracle.jsp.runtime.tree.OracleJspBodyTagNode.executeHandler(OracleJspBodyTagNode.java:58)
         Truncated. see log file for complete stacktrace

    Hi Pramod,
    Have you tried setting the Transaction attributes of your task-flow? Open up your task flow definition then go to Overview Tab. Try changing the appropriate attributes like setting the transaction as "Always Begin New Transaction" and/or unchecking the "Share data controls with calling task- flow". Try to mix settings and find the one that suit your needs.
    Regards,
    Pino

  • Problem in passing parameters between flow task in a dynamic region

    Hi,
    I have a problem with the passing of parameters between task flow when it is executed within a dynamic region. To implement this, I followed the Baranovskis Andrejus Blog "JDeveloper 11g and ADF Task Flow Parameters" and everything works perfect as the task flow are not invoked from a dynamic region. But if the same task flow are converted to fragment of pages and executed in a dynamic region, the filter in the task flow that is called does not work, it does not return any records.
    Any idea that I may be missing to make this work well?.
    Thanks in advance.

    Hi Frank.
    My case is the first, ie in a single dynamic region, a task flow call another passing parameters to filter data to display in the second, using a task flow call activitie. As I said in the message above, everything works well as both task flow to not become unbounded task flow with fragmet page.
    Any ideas?
    Thanks

  • ADF Security, Task Flow as a region in a page resource grant

    JDeveloper 12c (12.1.2); Application uses ADF form based security, external LDAP provider (Active Directory)
    After sign-in page (upon successful authentication/authorization) user is forwarded to a page that executes VO method prior to render. I am new to task flow concept and am told to achieve this like:
    - create bounded task flow, with method call activity (execute exposed AM method that calls VO method, runs custom SQL) and view activity as page fragment.
    - then drop the above task flow into a page as a region
    In ADF security setup, I gave resource grant task-flow to certain application role. Started the application, login and got 403 error. Then went back and gave resource grant 'view' to the actual page that contains task flow. It worked fine.
    So the question is, when protecting application (implemented with task flows) with ADF security, I thought it is enough to grant those task flows to whatever application roles (groups) and inherently any page that uses that task flow(s) (as a region) will be protected?
    From this test, it seems that I have to assign each page (that has task flow as a region) to application roles individually?

    Hi,
    any page that is contained in a bounded task flow is protected  by the task flow permission grant, this is correct. If this is not what you see, please file a bug with support or send me a simple reproducible test case please. My mail address (replace all < name > with the described symbol.
    frank <dot> nimphius <at> oracle <dot> com
    The test case will need to be in a ZIP file nemaed to "unzip" and should be able for me to run stand alone (please no database scripts to run prior to try the test case)
    Frank

  • How to get return values from task flow in af:region ?

    Hi!
    I'm working with a taskFlow that is rendered inside a popup using the "popup inside a region pattern" (http://www.oracle.com/technology/products/adf/patterns/popupregionpattern.pdf), but now this taskFlow has an input parameter and a return value definition. So the question is how to get a value returned by this taskFlow thas is called inside a region?
    Any suggestion?
    Thanks in advance!

    Hi,
    write the value to a shared memory scope like session and read it in the regionNavigation listener. If you follow the paper you refer to then the listener determines of the viewId is null, this a return happens. It wuld then look in the memory scope for the return value.
    Another option would be to use an object that you pass as an argument to the task flow you open in the popup. Then you change the object you passed in, which then makes the return information available in teh calling flow. The object you pass in would have to be in a shared scope too
    Frank

  • Calling a bounded task flow (that uses fragments) from another application

    Hello,
    I'm currently having difficulties calling a task flow located inside another application.
    I have application Console which is my main application in which I would like to run other applications within. Inside this Console I have it divided into splitter windows and inside them I have regions. My goal is to be able to call a task flow from another application inside one of these regions but so far I'm having no luck.
    My first problem occurred when I created a 'local' task flow to make a call to another application's task flow. When I set the properties to the task flow call, it gave me an error that it could not find the .XML file for that task flow when I ran the Console application. I then proceeded to copy that .XML from the remote application into the Console's WEB-INF directory and I seemed to get a bit farther. The error I get now is saying that I cannot run a task-flow that uses fragments. It's essentially trying to run that task flow as an entirely new page instead of inside the region that it's bound to. It's NOT a dynamic region (although that's the end goal here). So I then changed the other application's task flow to simply display an entire page rather than fragments inside a region and voila, it works..... kind of.
    To recap how I was able to call another application's task flow inside the Console:
    - I had to manually copy the task flow xml file into the Console WEB-INF directory
    - I had to change the task flow so that it didn't use fragments
    - I have called the task flow but I lose my console page entirely, no more regions or splitters so I'm back to square one.
    If anybody has any suggestions, hints, tips or anything, send them this way and I will be forever greateful.
    Thanks,
    Mark

    Thanks for your response Frank.
    Unfortunately the problem seems to be greater than that. I've been able to package task-flows into a jar library and tried importing them that way with no luck.
    I'm simple trying to call an external task-flow to run inside a region which is inside a splitter panel that I call my console.
    Any other ideas ?

  • Invoking taskflow dynamically on to dynamic Region from Tree Nodes

    Hello,
    I have a tree , each node represents application task flow want to invoke the corresponding task flow when node is clicked into same Dynamic Region, is it possible?
    Any idea will be greatly appreciated.
    Thanks
    Ram

    Thanks for quick response, I have a mouse double click event on tree node to fire task flow.
    I added a method in region bean to change and update the view scope from treeListener.
    public void handleTreeDoubleClick(ClientEvent ce){
    System.out.println(ce.getComponent().toString());
    RichTree tree = (RichTree)ce.getComponent();
    System.out.println("double click");
    System.out.println("sNodeValue : menuTreeSelectionListener "+sNodeValue);
    FacesContext fctx = FacesContext.getCurrentInstance();
    String rowKeyString = sNodeValue;
    RegionBean regionBean = new RegionBean();
    // regionBean.setDynamicTaskFlowId(TaskFlowId.parse(""));
    System.out.println("changing the task flow ...");
    regionBean.refreshRegion(TaskFlowId.parse("/WEB-INF/task-flow-welcome.xml#task-flow-welcome"));
    public void refreshRegion(TaskFlowId TaskFlowId) {
    System.out.println("taskflow id :"+TaskFlowId.toString());
    this.setDynamicTaskFlowId(TaskFlowId);
    oracle.adf.view.rich.context.AdfFacesContext adfFacesContext = oracle.adf.view.rich.context.AdfFacesContext.getCurrentInstance();
    adfFacesContext.getPageFlowScope().put("CurrentTaskflowId", TaskFlowId);
    But region is not getting refrehed with new taskflow id:
    console output.............
    changing the task flow ...
    taskflow id :/WEB-INF/task-flow-welcome.xml#task-flow-welcome
    any thoughts?
    Thanks
    Ram

  • Bean Scope in dynamic regions

    JDeveloper Version 11.2.1.3.0
    In My Application i have one main URL Invoked Bounded Task flow and i have declared few beans in Pageflowscope in Managed Beans section of Overview tab.
    in this main task flow i have dragged and dropped other task flows as dynamic regions based on the outcome of main task flows tab actions sub task flows will be rendered. i have achieved this task and everything is working fine.
    now i want to access the page flow beans which are declared in main task-flow in this sub dynamic regions.
    how i will get the reference of that main BTF page flow scope bean in the sub-task flow ?
    Regards,
    BK

    Hi,
    you will have to pass the bean as an input parameter to the task flow. Given pageFlowScope is a large scope I suggest you change the bean scope to viewScope because this is all you need. See: http://www.oracle.com/technetwork/issue-archive/2013/13-may/o33adf-1920483.html
    Frank

  • Implement commit,rollback,cancel popup when swapping task in dynamic region

    Hello,
    I have been trying to implement this functionality when I swap task flows in a dynamic region....
    A popup/dialog to be displayed with the following options (assuming there are changes to be saved on the task flow being swapped out)
    Commit - save the changes on the the outgoing task flow and continue to bring in the new task flow
    Rollback - cancel the changes on the the outgoing task flow and continue to bring in the new task flow
    Cancel - remain on the outgoing task flow and do not bring in the new task flow
    If i click on a button within the outgoing task flow, it is possible to determine the condition of the view object, determine if there are pending changes and display such a dialog, the problem is if that the navigation within the dynamic region is being performed from outside the region, we are advised against using task flow return activities when using bounded task flows within regions ( section 17.1.8 of fusion dev guide for 11.1.1.1.0 ) so the only thing i can think of is building a finalizer routine for the task flow. While this does get executed when the task flow is swapped out... how can i display the dialog from there, and stop execution of the finalizer and return to the original task flow if ultimately i want to cancel.
    Any ideas? other solutions?
    Thanks.

    Thanks for the reply Richard,
    I think this will probably be an important feature for anyone using the single page model, unless that model is not being encouraged/being discouraged. Unfortunately I'm not aware of the "How-to" you mentioned, but I would dearly LOVE to be. The project I am working on is in a relatively early stage, and this would be the time to put things in extension libraries, templates and the like. Especially if there is no official line on when a formal fix might be available, the plans not being firm and all...
    But thanks for the reply none the less... I'd still appreciate any further information if anyone has some form of solution.
    Cheers

  • Error while calling DYnamic shell task flow from unbounded login activity

    Hi All,
    MY problem-Hi ,
    In my case I have alogin page in undounded task flow which calls dounded task flow.
    My bounded task flow uses dynamic tab shell.And if login is successfull user will be directed to welcome page where default welcome tab shell is open.
    When i run my application i m receving tabConetxt null pointer excetion.
    As per my knowledeg i know how to pass tab context reference from 1 task flow to other.But not sure how should i pass tab context from Login View activity to welcom taskflow
    follwing exception occurs when i click on login link
    javax.faces.FacesException: javax.el.PropertyNotFoundException: Target Unreachable, 'tabContext' returned null
    at com.sun.faces.application.ApplicationImpl.createComponent(ApplicationImpl.java:262)
    at javax.faces.webapp.UIComponentELTag.createComponent(UIComponentELTag.java:222)
    at javax.faces.webapp.UIComponentClassicTagBase.createFacet(UIComponentClassicTagBase.java:510)
    at javax.faces.webapp.UIComponentClassicTagBase.findComponent(UIComponentClassicTagBase.java:661)
    at javax.faces.webapp.UIComponentClassicTagBase.doStartTag(UIComponentClassicTagBase.java:1142)
    Truncated. see log file for complete stacktrace
    Caused By: javax.el.PropertyNotFoundException: Target Unreachable, 'tabContext' returned null
    at com.sun.el.parser.AstValue.getTarget(AstValue.java:88)
    at com.sun.el.parser.AstValue.setValue(AstValue.java:133)
    at com.sun.el.ValueExpressionImpl.setValue(ValueExpressionImpl.java:255)
    at com.sun.faces.application.ApplicationImpl.createComponent(ApplicationImpl.java:259)
    at javax.faces.webapp.UIComponentELTag.createComponent(UIComponentELTag.java:222)
    Truncated. see log file for complete stacktrace
    ANy idea about this
    Edited by: Shubhangi m on May 27, 2010 5:31 AM

    This question was answered in: Oracle UI Shell Functional Pattern
    Edited by: Richard Wright on Jun 15, 2010 8:52 AM

  • Open popup in dynamic region once region changes flows

    I need to open a popup in a flow if boolean is set to true in the pageFlowScope bean of the dynamic flow bean used in a dynamic region. The parent page/flow is configured in the adfc-config.xml and is controlled by a session bean.
    So the scenario is the main page has links to several different pages, each of which has a mean of editing a widget. The Widget edit page has a Tree object that lists the items by user defined categories. Double the tree widget opens a popup with the editor section for that particular widget. These widgets rely on each other and if there is a problem in a contained widget, then I provide a clickable link to go to that object. I'm able to get the main page to change regions to the correct widget flow.
    Once I get to the new widget control flow, the tree is displayed as usual and in the pageFlowScope bean I've set a boolean and populated the widget definition for display. Unfortuately, I have found a way to open the popup.
    I've tried a phase listener calling a method in the parent page. However, I'm not able to find the pageFlowScope bean by any means. I've set the pageFlowScope bean into the session and get it in the phaseListener method, but all attempts to show the popup seem to go into the great void. I've even added a button with the actionListener to pageFlowScope.myBean.showPopup, but can trigger the action event for that either.
    Using: JDeveloper 11g. Not using BC. Any help would be greatly appreciated.

    Thank you. That worked.
    I have one more question. How can I change the task flow in the dynamicRegion from another taskFlow. For example: I have taskFlow1 loaded into the dynamic region and I want on a button click from taskFlow1 to load taskFlow2 into the dynamicRegion. Is it possible?

  • Adding ADF task flow to page as region fails on first request

    Using JDeveloper 11.1.1.1.0, I've created a simple task flow that executes a method call (to set some bind variables and issue a SQL query), then forwards to a jsff page. I've then added a region to another page and dragged this task flow onto my region.
    When I run the page, I see the following in the log:
    <24-Jul-2009 14:22:29 o'clock BST> <Error> <HTTP> <BEA-101020> <[ServletContext@19304275[app:pipeline module:pipeline path:/pipeline spec-version:2.5]] Servlet failed with Exception
    java.lang.NullPointerException
         at oracle.adfinternal.view.faces.renderkit.rich.FormRenderer.encodeAll(FormRenderer.java:234)
         at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1187)
         at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:335)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:751)
         at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:415)
         Truncated. see log file for complete stacktraceAnd the Page Loading animation continues indefinitely. If I make a second request to the same page, the same NullPointerException appears in the log but the page loads successfully. It seems that the first request from any new session doesn't complete, but subsequent requests do.
    Can anyone give me any hints about what might cause the oracle.adfinternal.view.faces.renderkit.rich.FormRenderer to throw a NullPointerException at line 234?

    Hi Branislav.
    Since I don't have the source code for oracle.adf.* and oracle.adfinternal.*, it's very difficult to do any meaningful debugging. Debugging the code that I do have access to (apache packages), appears to show that the oracle rendering class fails when it gets to closing my af:form tag. I've removed the af:form and the page is now working correctly.
    At some point I'm going to have to reinstate this form though :-\

Maybe you are looking for

  • MBP iSight Recording

    i was wondering if its possible to record video directly with my iSight and MBP. I purchased a 15.4" 2.2ghz 2gb 120gb MBP last week and will receive it this week. I need to record video for class presentations, any suggestions or ideas? thank you!

  • Flash PHP MySQL issue

    can someone please tell me what i'm doing wrong: (Actionscript) var db_out:URLVariables = new URLVariables(); db_out.from = "property"; db_out.where = "`state`='OR'"; var db_req:URLRequest = new URLRequest("php/search.php"); db_req.data = db_out; db_

  • Maintain overhead structure/Actual Accrual calculation

    Cost element accountingAccrual Calculation Percentage method Maintain Overhead Structure Maintain CO-OM Accrual Calculation: Overhead Structure Overview. In our controlling area the actual accrual is going to expire by end of next month which is

  • Oracle not installing in WINDOWS 2003 SERVER

    I cound not able to install oracle 10g in windows 2003 server. But its working fine in windows xp. I dont know for what reson its not installing. Once autoexec.exe is started, Its showing a black screen with please wait...... But after 10seconds its

  • Error in purchase document number range

    good wishes sapgurus, while creating PO via requisition assignment using t.co.me58.   I am getting this error    *Document number range (i.e PR no.)is not within the defined number ranges*. I have followed all the steps in this method of creating PO.