Dynamic Region: Did I do it correctly?

I have an item "X" which dynamically shows/hides depending on the value of "Y"...
But my issue is that this item is contained in a region "Xregion" which has directions to the user which I also do not not want to show... unless "Y" is a specific value.. just like the above item.
So I added this region to the list following the item X ... but the region still shows up... the region is a sub-region in case that makes a difference...
Is there anything I should be aware of to make "Xregion" not appear just like the "X" item does/doesnt?
Thank you,
C

You did great & whoever told you that you didn't has no idea what they're talking about.
Enjoy your new Mac.

Similar Messages

  • Input Date does not work correctly In dynamic region

    Hello everyone.
    I created a view with a dynamic region. When switch to a region with Input Date components, if I click the "Choose Date" button, this region will exit to default region without any error message.
    The component works well in default region but not in regions switched by Link.
    I tried it in a completely new application and i am sure there is no any problem except the component and the region themselves.
    SO, if someone tied doing this and know what cause it and how to fix it?
    Edited by: 1007000 on 2013-5-20 下午8:49

    Well, i find out the problem. I set the managed bean of the region backing scope, and Input Date is a server-side component. So the taskflow id will lost when i click the Choose Date button.
    change the scope to pageflow, and it works.

  • How to publish contextual event from dynamic region

    Hi Experts, plz help.
    Scenario :
    I have a page , say Page A.
    I have two bounded task flows, say HeaderTF and LinesTF.
    HeaderTF is placed as a static Region in page A and LinesTF is a dynamic region in page A.
    LinesTF has a table with Amount Column.
    HeaderTF has a text field which shows the total of amount column.
    Requirement :
    when user adds new rows or changes existing rows or deletes any rows in LinesTF, total field in HeaderTF should be updated.
    On change of amount value in lines, I am calculating and updating the total attribute of header VO as all of them are sharing same DC.
    but the value is not reflecting becos partial triggers cannot be kept for total field.
    So I am using contextual events.
    I created a contextual events for amount field, delete button and table as well (In LinesTF).
    and I created handler method in AM which calculates total and dragged it as a text field in HeaderTF.
    Now when I am trying to subscribe from pagedef of pageA, i am able to find the handler which is created in HeaderTF but could not find any contextual events in event lov.
    Question :
    1. Is my approach correct?
    2. Cant we publish contextual events from dynamic regions?
    3. Is there any alternate way of achieving this?
    I did not try refreshing HeaderTF by passing input params because I dont want the entire region to be refreshed.

    Try creating the event mapping - please see "28.7.2 How to Create Contextual Events Manually" in Dev Guide http://download.oracle.com/docs/cd/E15523_01/web.1111/b31974/web_adv.htm#CACJBFGI

  • How to use a menu model with a dynamic region and a task flow parameter

    I am using JDeveloper/ADF 11.1.2.1
    I have a menu model that changes which task flow is displayed in a given dynamic region using a backing bean. That works fine. I would like to be able to pass parameters to that task flow based on which menu item is clicked. For example: i have a task flow which shows a page where input fields are used to filter a table. Depending on the value of the task flow parameter I want to change which input fields are displayed. So i will have multiple menu items which refer to the same task flow but have a different set of parameters. I have tried using request scope variables and setting them in the backing bean for the dynamic region which works until the query is submitted at which point the request scope has changed and the value is no longer available. I have tried a number of other 'creative' approaches but have not gotten anything to work. Anyone done this before? Or have an idea on how to solve it?

    Frank,
    I did a fair bit of digging based on your suggestions and some things I found in your Oracle Fusion Developer's Guide book and I came up with something that works really well. It is fairly elegant but requires code. It would be nice if something like a setPropertyListener could be rolled into the menu model. That would make my solution completely declarative.
    Here is my solution:
    My task flow requires a the value #{pageFlowScope.type} to be set. My application has a dynamic region that is changed on the fly using a menu model. The region uses a backing bean (mainRegionManagerBean) which is in the viewScope to manage what taskflow is shown in the region. There are multiple menu items in the menu model that point to the same task flow but pass different values to the #{pageFlowScope.type} parameter. So i wired the menu items up to different methods in the mainRegionManagerBean which set the value for me. See the relevant code below.
    I would be very interested in the feedback from someone with more experience than I on my solution. Maybe there is a more elegant way...
    In the backing bean there is a primary method that was created by generating a dynamic region link which sets the task flow id and then other methods which call it and set the relevant parameters. (JSFUtils is a helper class i wrote to centralize some common tasks):
    public String shipmentTraceMasterTaskflow()
    taskFlowId = "/WEB-INF/taskflow/master/shipmentTraceMasterTaskflow.xml#shipmentTraceMasterTaskflow";
    JSFUtils.setValue("pageFlowScope.type", "");
    return null;
    public String shipmentTraceProNumber()
    shipmentTraceMasterTaskflow();
    JSFUtils.setValue("pageFlowScope.type", "pronumber");
    return null;
    public String shipmentTraceBOLNumber()
    shipmentTraceMasterTaskflow();
    JSFUtils.setValue("pageFlowScope.type", "bolnumber");
    return null;
    In the menu model (notice that these reference the different methods from above):
    <itemNode id="itemNode_ProNumberTrace" label="ProNumber Trace" action="#{viewScope.mainRegionManagerBean.shipmentTraceProNumber}" focusViewId=""/>
    <itemNode id="itemNode_BOLNumberTrace" label="BOL Number Trace" action="#{viewScope.mainRegionManagerBean.shipmentTraceBOLNumber}" focusViewId=""/>
    On the page:
    <af:region value="#{bindings.dynamicRegion1.regionModel}" id="r1"/>
    In the pagedef:
    <taskFlow id="dynamicRegion1" taskFlowId="${viewScope.mainRegionManagerBean.dynamicTaskFlowId}" activation="deferred" xmlns="http://xmlns.oracle.com/adf/controller/binding" Refresh="ifNeeded">
    <parameters>
    <parameter id="type" value="#{pageFlowScope.type}"/>
    </parameters>
    </taskFlow>
    Edited by: Adam Stortz on Nov 22, 2011 11:10 AM

  • Encountering error while working with Dynamic Regions.

    Hi All,
    I am a beginner in ADF and on a quest to learn ADF. Sometimes I am struggling in the process. Now, when I am working with Dynamic Regions, encountered problem below
    Step 1 : Created a simple department TaskFlow with Department Form
    Step 2: Created a Simple employee TaskFlow with Employee Details
    Step 3: Created a Main page with oracle 2 column layout
    Step 4 : Dragged and dropped department TaskFlow on to main page second facet as Dyanmic region . Created a bean as RegionBean
    Step 5 : Dragged and dropped department TaskFlow as Command Link on the first facet
    Step 6 : Dragged and dropped employee TaskFlow as Command Link on the first facet
    The page runs and shows department information when it renders. But when I click on employees command link, at first it shows employees table with no data and says "ACCESS DENIED ". Then if I click on either department or employee command link, it errors out with below info
    javax.el.PropertyNotFoundException: Target Unreachable, identifier 'vs' resolved to null
         at com.sun.el.parser.AstValue.getTarget(Unknown Source)
         at com.sun.el.parser.AstValue.isReadOnly(Unknown Source)
         at com.sun.el.ValueExpressionImpl.isReadOnly(Unknown Source)
         at oracle.adfinternal.view.faces.renderkit.rich.EditableValueRenderer._getUncachedReadOnly(EditableValueRenderer.java:476)
         at oracle.adfinternal.view.faces.renderkit.rich.EditableValueRenderer.getReadOnly(EditableValueRenderer.java:390)
         at oracle.adfinternal.view.faces.renderkit.rich.EditableValueRenderer.wasSubmitted(EditableValueRenderer.java:345)
         at oracle.adfinternal.view.faces.renderkit.rich.EditableValueRenderer.decodeInternal(EditableValueRenderer.java:116)
         at oracle.adfinternal.view.faces.renderkit.rich.SimpleInputDateRenderer.decodeInternal(SimpleInputDateRenderer.java:73)
         at oracle.adfinternal.view.faces.renderkit.rich.LabeledInputRenderer.decodeInternal(LabeledInputRenderer.java:56)
         at oracle.adf.view.rich.render.RichRenderer.decode(RichRenderer.java:342)
         at org.apache.myfaces.trinidad.render.CoreRenderer.decode(CoreRenderer.java:292)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.__rendererDecode(UIXComponentBase.java:1334)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.decode(UIXComponentBase.java:865)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.processDecodes(UIXComponentBase.java:965)
         at org.apache.myfaces.trinidad.component.UIXEditableValue.processDecodes(UIXEditableValue.java:287)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:1204)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:1190)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.processDecodes(UIXComponentBase.java:962)
         at oracle.adfinternal.view.faces.renderkit.rich.table.BaseColumnRenderer$UIXColumnFilterWrapper.processDecodes(BaseColumnRenderer.java:2108)
         at org.apache.myfaces.trinidad.component.UIXCollection.processComponent(UIXCollection.java:1087)
         at org.apache.myfaces.trinidad.component.TableUtils$1.process(TableUtils.java:238)
         at org.apache.myfaces.trinidad.component.ChildLoop.runAlways(ChildLoop.java:55)
         at org.apache.myfaces.trinidad.component.TableUtils.processFacets(TableUtils.java:232)
         at org.apache.myfaces.trinidad.component.TableUtils$2.process(TableUtils.java:261)
         at org.apache.myfaces.trinidad.component.ChildLoop.runAlways(ChildLoop.java:55)
         at org.apache.myfaces.trinidad.component.ChildLoop.runAlways(ChildLoop.java:48)
         at org.apache.myfaces.trinidad.component.TableUtils.processColumnFacets(TableUtils.java:253)
         at org.apache.myfaces.trinidad.component.UIXTable.processFacetsAndChildren(UIXTable.java:379)
         at org.apache.myfaces.trinidad.component.UIXCollection.decodeChildrenImpl(UIXCollection.java:206)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:1190)
         at org.apache.myfaces.trinidad.component.UIXCollection.processDecodes(UIXCollection.java:200)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:1204)
         at oracle.adf.view.rich.component.fragment.UIXRegion.decodeChildrenImpl(UIXRegion.java:635)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:1190)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.processDecodes(UIXComponentBase.java:962)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:1204)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:1190)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.processDecodes(UIXComponentBase.java:962)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:1204)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:1190)
         at org.apache.myfaces.trinidad.component.UIXForm.processDecodes(UIXForm.java:75)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:1204)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:1190)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.processDecodes(UIXComponentBase.java:962)
         at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1048)
         at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:926)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl$ApplyRequestValuesCallback.invokeContextCallback(LifecycleImpl.java:1519)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:372)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:202)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:508)
         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:173)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:125)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:468)
         at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:468)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:293)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:199)
         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:119)
         at java.security.AccessController.doPrivileged(Native Method)
         at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)
         at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:442)
         at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:103)
         at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:171)
         at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:139)
         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.wrapRun(WebAppServletContext.java:3715)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
    Please help me !!!!!!
    Thanks

    Hi Shay Shmeltzer ,
    Thanks for your quick reply. Below is response for your queries
    What scope did you specify for the bean? View Scope
    Also which browser are you using? Firefox
    Thanks for the link. I started to build dynamic region after taking a look at the video
    What else do you think might be the issue
    Thanks
    Edited by: User44444 on Dec 4, 2012 12:44 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?

  • ADF Dynamic region in a popup does not load

    Hi Experts,
    JDEV version used 11.1.1.5
    I have a page which has a table and each row has a command link on one of the columns.
    When I click on the command link an action listener is invoked which decides the DYNAMIC TF that is to be loaded in a pop up .
    The pop up has a dynamic adf region in it.
    Based on the record clicked (using command link) task flow is loaded in the dynamic region of the the Popup .
    But, when i click the same link for the second time or a different record the popup is displayed as blank , The taskflow in the dynamic region is not loaded at all.(getDynamicTaskFlowId is invoked and is also returing the correct TF to be loaded)
    First time it works as expected  , but its not happening from the second time.
    I have used conditional activation , but later due to the above issue I have tried to put an expression #{true} for the active property to test if it works. It didn't.
    Please note that first time there is no issue.It does not work from the second click on same record or any other record.
    Any other suggestions to fix the above issue  are much appreciated.
    Thanks,
    Vikranth

    Hi Frank,
    I have followed the same approach. However in my case its a dynamic af:region which is causing the issue.
    Any other pointers is much apprecitaed.
    Thanks,
    Vikranth

  • Dynamic Region - Item value turns to NULL

    Hi,
    I have a dynamic region which has some APEX_ITEM.CHECKBOX items in it. I count the checkbox groups and write it into a hidden object as like this.
    In the last row of the code i want to insert the count into P65_CNT_QUESTIONS hidden item.
    But when i submit the page i always get NULL from the P65_CNT_QUESTIONS item.
    Before i submit the page i see the correct value in the session but when i submit, it turns to null.
    I am getting crazy Whats the problem with it. Any suggestion?
    System: MS7 - XE - Oracle Database 10g Express Edition Release 10.2.0.1.0 - Product - Apex 4.0
    declare
    cursor c_h is select distinct qh.nquestion_header_id, vquestion_header from tquestions q, tquestion_headers qh
    where q.nquestion_header_id = qh.nquestion_header_id order by 1;
    cursor c_ans is  select nparam_id,vparam  from TQUESTION_PARAMS order by 1;
    l_cnt number := 0;
    l_hid number := 0;
    l_br varchar2(10) := '<br/>';
    l_tab varchar(50) := '      ';
    l_de varchar2(1000);
    l_hea_cnt NUMBER := 1;
    l_que_cnt NUMBER := 1;
    begin
    FOR rec_c in c_h LOOP
    htp.p(l_br||'<b>'|| l_hea_cnt || '-' ||rec_c.VQUESTION_HEADER||'</b>');
      FOR rec_q in
          (SELECT q.nquestion_id, q.vquestion FROM tquestions q where q.nquestion_header_id = rec_c.nquestion_header_id order by q.nrow_order)
      LOOP
        htp.p(l_br|| l_br ||'<div align="left">'|| l_tab ||l_que_cnt || '-' ||rec_q.VQUESTION||'</div>'||l_br );
        FOR rec_ans in c_ans LOOP
           htp.p(l_tab||APEX_ITEM.RADIOGROUP(
           l_que_cnt ,rec_ans.nparam_id,null,rec_ans.vparam));
        END LOOP;
        l_que_cnt := l_que_cnt +1;
      END LOOP;
      htp.p(l_br||l_br ||'<div><b>ARA ORTALAMA</b></div>'); 
      FOR rec_ans in c_ans LOOP
           htp.p(l_tab||APEX_ITEM.RADIOGROUP(
           l_que_cnt ,rec_ans.nparam_id,null,rec_ans.vparam
       END LOOP;
       l_que_cnt := l_que_cnt +1;
       l_hea_cnt := l_hea_cnt +1;
    END LOOP;
    htp.p(l_br||l_br ||'<div><b>GENEL ORTALAMA</b></div>'); 
    FOR rec_ans in c_ans LOOP
       htp.p(l_tab||APEX_ITEM.RADIOGROUP(
           l_que_cnt ,rec_ans.nparam_id,null,rec_ans.vparam
    END LOOP;
        :P65_CNT_QUESTIONS := l_que_cnt ;
    END;

    You need to set "Page items to submit" to be "P2_SCHEME_CAT_CODE"
    This pulls the value from the browser and sets it within session state, thereby making it available to your PL/SQL
    Regards,
    Scott
    blog: [url grassroots-oracle.com]grassroots-oracle.com
    twitter: [url twitter.com/swesley_perth]@swesley_perth

  • Problem with identifying the Train in Dynamic Region

    Hi,
    I have a two task flows(firstflow,secondflow) and they both have its own individual trains and they are all page fragments. Then I have my main page where in I created a dynamic region based on secondflow. Then in the same page I have dynamic region links for firstflow and secondflow. When I run the application I first see the second flow and its train. Now when I click the firstflow link. its corresponding page is showing up then when I click the train it then goes to the secondflow and its train, I cannot navigte within the firstflow and its train. Please let me know any solution to this. Thanks.

    Hi Chetan,
    Thanks. It did worked. When I first faced this problem and when I created the dynamic region I was propmpted to create the bean and I tried creating it wieth scope = session but then I could not run the application. So I kept it as request. But now when it is changed from the property inspector it is running. I need to try the first method again to see it that happens. Thanks for the solution.

  • Dynamic region table with binding problem

    Hi. I'm using jdev 11.1.1.3 and ADF full stack.
    My app uses single page approach with ADF libraries and a dynamic region to show content. Main page includes a menu bar which is created on session startup and is used to load task flows from libraries.
    I have a class to provide some table functionality like CRUD, multi-row delete, etc and I need to reuse with every table included in libraries.
    To do this, in main web app I have a managed bean to hold table binding and to provide this common functions to all fragments if needed.
    I think it must be in request scope as fragment changes.
    Here's the problem: when I navigate to a fragment which contains a table with binding, first time goes well,
    but next time table, when fragment changes,new table displays without header or without data.
    If I go to another fragment without binding and return to a fragment with problem, it displays well. With fragments without table binding, it works OK.
    I've tried changing scope of this 'general' managed bean, but same thing. If I put a bean for each fragment, it works OK.
    So, how can I 'share' this managed bean through every table? Any suggestions? is it possible?
    Please, help me ....
    Thanks,
    DEMR.

    I am seeing a similar problem in my app. I have a main menu that drives a dynamic region. If the task flow that gets displayed in the dynamic region also contains a dynamic region, when the inner dynamic region is refreshed to point to a second task flow, the page does not render correctly. The errors we have seen include data in tables not being displayed in some cases, and PPR errors in other cases. In both cases, if the inner dynamic region is replaced (by a single bounded task flow with navigation logic in a template, for example) the errors go away. There appears to be issues involved with including a dynamic region within a dynamic region.
    Have you made any progress on solving your issue?

  • ADF dynamic region - Browser is blank

    Hi All,
    I am following a hands-on practice in Oracle JDeveloper 11g Handbook. I have created two bounded task flows named "searchEmployee-flow.xml" and "departmentTee-flow.xml". I want to call these task flows from af:commandLink in a dynamic region. In the Choose Managed Bean for Dynamic Scope dialog I have provided following steps:
    1. Click New (green “+”) to add a managed bean. Set Bean Name as “searchScreenBB,” Class Name as “SearchScreenBean,” and Package as “tuhra.view.backing.” Click OK. Click OK.
    2. I wrote UIManager class to switch page fragments:
    package tuhra.view;
    public class UIManager implements Serializable
    public enum Screen {EMPLOYEE_SEARCH, DEPARTMENT_TREE}
    private Screen searchScreenFocus = Screen.EMPLOYEESEARCH;
    public void setSearchScreenFocus(String focus) {
    this._searchScreenFocus = Screen.valueOf(focus);
    public void setSearchScreenFocus(UIManager.Screen focus){
    this._searchScreenFocus = focus;
    public UIManager.Screen getSearchScreenFocus() {
    return _searchScreenFocus;
    3.
    I opened adfc-config (under Page Flows in the Application Navigator). On the Overview tab, selected Managed Beans and added a bean (using the green “+”) and fill in Name as “uiState,” Class as “tuhra.view.UIManager,” and Scope as “session.”
    4.
    Updated SearchScreenBean.java to read as in the following code listing (without the line numbers).
    package tuhra.view.backing;
    import java.util.HashMap;
    import oracle.adf.controller.TaskFlowId;
    import tuhra.view.UIManager;
    public class SearchScreenBean {
    private static final HashMap<UIManager.Screen,String> REGIONMAP;
    static {
    REGIONMAP = new HashMap<UIManager.Screen,String>(2);
    REGIONMAP.put(UIManager.Screen.EMPLOYEE_SEARCH,
    "/WEB-INF/searchEmployees-flow.xml#searchEmployees-flow");
    REGIONMAP.put(UIManager.Screen.DEPARTMENT_TREE,
    "/WEB-INF/departmentTree-flow.xml#departmentTree-flow");
    private UIManager _uiManager;
    public TaskFlowId getDynamicTaskFlowId(){
    return TaskFlowId.parse(
    REGIONMAP.get(_uiManager.getSearchScreenFocus()));
    public void setUiManager(UIManager _uiManager){
    this._uiManager = _uiManager;
    6.
    To have JSF inject the UI manager value, I switched back to the adfc-config.xml editor and locate the Managed Beans area on the Overview tab and performed folliwing steps as told in book:
    6.1. Select the searchScreenBB bean and then click Add (green “+”) in the Managed Properties: searchScreenBB table. Set the managed property Name to “uiManager” (to match the setUiManager() method in the bean), the Class to tuhra.view.UIManager, and the Value to “#{uiState}.”
    6.2. Now that the logic to switch the screens is in place, you can define how the UI will activate the change in searchScreenFocus values. You could of course use a custom method in SearchScreenBean, but using a af:setPropertyListener is simpler. In the employeeSearch.jspx file, locate the af:commandLink that surrounds the “Search for Employees” image.
    6.3. Drop into the af:commandLink a Set Property Listener (Operations panel). Set From as “#{'EMPLOYEE_SEARCH'},” To as “#{uiState.searchScreenFocus},” and Type as “action.” Click OK.
    6.4. Repeat the preceding step for the “View by Department” link. This time, fill in From as “#{'DEPARTMENT_TREE'}.”
    6.5. Click Save All.
    When I run the form as directed, It is blank and is giving following error messages:
    [Application tuhra2 deployed to Server Instance IntegratedWebLogicServer]
    Target URL -- http://127.0.0.1:7101/tuhra2/faces/employeeSearch.jspx
    Caused by: oracle.adf.controller.ControllerException: ADFC-02001: The ADF Controller cannot find '/WEB-INF/searchEmployees-flow.xml'.
         at oracle.adfinternal.controller.metadata.provider.MdsMetadataResourceProvider.getMetadataObjects(MdsMetadataResourceProvider.java:473)
         at oracle.adfinternal.controller.metadata.provider.MdsMetadataResourceProvider.loadUnmutalbeMetadataResources(MdsMetadataResourceProvider.java:372)
         at oracle.adfinternal.controller.metadata.provider.MdsMetadataResourceProvider.getResources(MdsMetadataResourceProvider.java:183)
         at oracle.adf.controller.internal.metadata.MetadataService.getTaskFlowDefinition(MetadataService.java:239)
         at oracle.adfinternal.controller.activity.TaskFlowCallActivityLogic.findTaskFlowDefinition(TaskFlowCallActivityLogic.java:1072)
         at oracle.adfinternal.controller.activity.TaskFlowCallActivityLogic.invokeTaskFlow(TaskFlowCallActivityLogic.java:224)
         at oracle.adfinternal.controller.engine.ControlFlowEngine.invokeTaskFlow(ControlFlowEngine.java:217)
         ... 82 more
    Caused by: oracle.mds.core.MetadataNotFoundException: MDS-00013: no metadata found for metadata object "/WEB-INF/searchEmployees-flow.xml"
         at oracle.mds.core.MetadataObject.getBaseMO(MetadataObject.java:1279)
         at oracle.mds.core.MDSSession.getBaseMO(MDSSession.java:3040)
         at oracle.mds.core.MDSSession.getMetadataObject(MDSSession.java:1211)
         at oracle.mds.core.MOResolver.getMetadataObjects(MOResolver.java:213)
         at oracle.adfinternal.controller.metadata.provider.MdsMetadataResourceProvider.getMetadataObjects(MdsMetadataResourceProvider.java:421)
         ... 88 more
    <Jul 7, 2011 11:21:14 AM PKT> <Error> <HTTP> <BEA-101020> <[ServletContext@18426608[app:tuhra2 module:tuhra2 path:/tuhra2 spec-version:2.5]] Servlet failed with Exception
    oracle.adf.controller.ControllerException: ADFC-06002: unhandled exception
         at oracle.adfinternal.controller.util.Utils.createAndLogControllerException(Utils.java:208)
         at oracle.adfinternal.controller.engine.ControlFlowEngine.handleException(ControlFlowEngine.java:640)
         at oracle.adfinternal.controller.engine.ControlFlowEngine.invokeTaskFlow(ControlFlowEngine.java:235)
         at oracle.adfinternal.controller.state.ChildViewPortContextImpl.invokeTaskFlow(ChildViewPortContextImpl.java:104)
         at oracle.adfinternal.controller.state.ControllerState.createChildViewPort(ControllerState.java:1380)
         Truncated. see log file for complete stacktrace
    Caused By: oracle.adf.controller.ControllerException: ADFC-02001: The ADF Controller cannot find '/WEB-INF/searchEmployees-flow.xml'.
         at oracle.adfinternal.controller.metadata.provider.MdsMetadataResourceProvider.getMetadataObjects(MdsMetadataResourceProvider.java:473)
         at oracle.adfinternal.controller.metadata.provider.MdsMetadataResourceProvider.loadUnmutalbeMetadataResources(MdsMetadataResourceProvider.java:372)
         at oracle.adfinternal.controller.metadata.provider.MdsMetadataResourceProvider.getResources(MdsMetadataResourceProvider.java:183)
         at oracle.adf.controller.internal.metadata.MetadataService.getTaskFlowDefinition(MetadataService.java:239)
         at oracle.adfinternal.controller.activity.TaskFlowCallActivityLogic.findTaskFlowDefinition(TaskFlowCallActivityLogic.java:1072)
         Truncated. see log file for complete stacktrace
    Caused By: oracle.mds.core.MetadataNotFoundException: MDS-00013: no metadata found for metadata object "/WEB-INF/searchEmployees-flow.xml"
         at oracle.mds.core.MetadataObject.getBaseMO(MetadataObject.java:1279)
         at oracle.mds.core.MDSSession.getBaseMO(MDSSession.java:3040)
         at oracle.mds.core.MDSSession.getMetadataObject(MDSSession.java:1211)
         at oracle.mds.core.MOResolver.getMetadataObjects(MOResolver.java:213)
         at oracle.adfinternal.controller.metadata.provider.MdsMetadataResourceProvider.getMetadataObjects(MdsMetadataResourceProvider.java:421)
         Truncated. see log file for complete stacktrace
    >
    <Jul 7, 2011 11:21:14 AM PKT> <Notice> <Diagnostics> <BEA-320068> <Watch 'UncheckedException' with severity 'Notice' on server 'DefaultServer' has triggered at Jul 7, 2011 11:21:14 AM PKT. Notification details:
    WatchRuleType: Log
    WatchRule: (SEVERITY = 'Error') AND ((MSGID = 'WL-101020') OR (MSGID = 'WL-101017') OR (MSGID = 'WL-000802') OR (MSGID = 'BEA-101020') OR (MSGID = 'BEA-101017') OR (MSGID = 'BEA-000802'))
    WatchData: DATE = Jul 7, 2011 11:21:14 AM PKT SERVER = DefaultServer MESSAGE = [ServletContext@18426608[app:tuhra2 module:tuhra2 path:/tuhra2 spec-version:2.5]] Servlet failed with Exception
    oracle.adf.controller.ControllerException: ADFC-06002: unhandled exception
         at oracle.adfinternal.controller.util.Utils.createAndLogControllerException(Utils.java:208)
         at oracle.adfinternal.controller.engine.ControlFlowEngine.handleException(ControlFlowEngine.java:640)
         at oracle.adfinternal.controller.engine.ControlFlowEngine.invokeTaskFlow(ControlFlowEngine.java:235)
         at oracle.adfinternal.controller.state.ChildViewPortContextImpl.invokeTaskFlow(ChildViewPortContextImpl.java:104)
         at oracle.adf.view.rich.component.fragment.UIXRegion$RegionContextChange.doChangeImpl(UIXRegion.java:1199)
         at jsp_servlet.__employeesearch_jspx._jspService(__employeesearch_jspx.java:65)
         at weblogic.servlet.jsp.JspBase.service(JspBase.java:34)
         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.ServletStubImpl.onAddToMapException(ServletStubImpl.java:416)
         at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:253)
         at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:410)
         at com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:469)
         at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:205)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:106)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
         at java.security.AccessController.doPrivileged(Native Method)
    Caused By: oracle.adf.controller.ControllerException: ADFC-02001: The ADF Controller cannot find '/WEB-INF/searchEmployees-flow.xml'.
         at oracle.adfinternal.controller.metadata.provider.MdsMetadataResourceProvider.getMetadataObjects(MdsMetadataResourceProvider.java:473)
         at oracle.adfinternal.controller.metadata.provider.MdsMetadataResourceProvider.loadUnmutalbeMetadataResources(MdsMetadataResourceProvider.java:372)
         at oracle.adfinternal.controller.metadata.provider.MdsMetadataResourceProvider.getResources(MdsMetadataResourceProvider.java:183)
         at oracle.adf.controller.internal.metadata.MetadataService.getTaskFlowDefinition(MetadataService.java:239)
         at oracle.adfinternal.controller.activity.TaskFlowCallActivityLogic.findTaskFlowDefinition(TaskFlowCallActivityLogic.java:1072)
         at oracle.adfinternal.controller.activity.TaskFlowCallActivityLogic.invokeTaskFlow(TaskFlowCallActivityLogic.java:224)
         at oracle.adfinternal.controller.engine.ControlFlowEngine.invokeTaskFlow(ControlFlowEngine.java:217)
         at oracle.adfinternal.controller.state.ChildViewPortContextImpl.invokeTaskFlow(ChildViewPortContextImpl.java:104)
         at oracle.adfinternal.controller.state.ControllerState.createChildViewPort(ControllerState.java:1380)
         at oracle.adfinternal.controller.ControllerContextImpl.createChildViewPort(ControllerContextImpl.java:78)
         at oracle.adf.controller.internal.binding.DCTaskFlowBinding.createRegionViewPortContext(DCTaskFlowBinding.java:440)
         at oracle.adf.controller.internal.binding.DCTaskFlowBinding.getViewPort(DCTaskFlowBinding.java:358)
         at oracle.adf.controller.internal.binding.TaskFlowRegionModel.doProcessBeginRegion(TaskFlowRegionModel.java:164)
         at oracle.adf.controller.internal.binding.TaskFlowRegionModel.processBeginRegion(TaskFlowRegionModel.java:112)
         at oracle.adf.view.rich.component.fragment.UIXRegion$RegionContextChange.doChangeImpl(UIXRegion.java:1199)
         at oracle.adf.view.rich.context.DoableContextChange.doChange(DoableContextChange.java:91)
         at oracle.adf.view.rich.component.fragment.UIXRegion._beginInterruptibleRegion(UIXRegion.java:693)
         at oracle.adf.view.rich.component.fragment.UIXRegion.processRegion(UIXRegion.java:498)
         at oracle.adfinternal.view.faces.taglib.region.RegionTag.doStartTag(RegionTag.java:127)
         at jsp_servlet.__employeesearch_jspx._jspx___tag21(__employeesearch_jspx.java:1036)
         at jsp_servlet.__employeesearch_jspx._jspService(__employeesearch_jspx.java:65)
         at weblogic.servlet.jsp.JspBase.service(JspBase.java:34)
         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.ServletStubImpl.onAddToMapException(ServletStubImpl.java:416)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:326)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:183)
    SUBSYSTEM = HTTP USERID = <WLS Kernel> SEVERITY = Error THREAD = [ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)' MSGID = BEA-101020 MACHINE = bilal-PC TXID = CONTEXTID = d87127fb8baddada:4155b820:130fd94af8a:-8000-00000000000006c4 TIMESTAMP = 1310019674635
    WatchAlarmType: AutomaticReset
    WatchAlarmResetPeriod: 30000
    >
    <Jul 7, 2011 11:21:20 AM PKT> <Alert> <Diagnostics> <BEA-320016> <Creating diagnostic image in c:\users\administrator\appdata\roaming\jdeveloper\system11.1.1.5.37.60.13\defaultdomain\servers\defaultserver\adr\diag\ofm\defaultdomain\defaultserver\incident\incdir_16 with a lockout minute period of 1.>
    Any help will be highly appreciated.
    Thanks

    Hi
    This error occurs on account of the scope of backing bean Taskflow id not set up correctly and taskflow id leads to null pointer exception.
    Open EmplloyeeSearch.jspx - go to bindings. click taskflow - dynamic region in binding. Set the property as follows:
    #{backingBeanScope.searchScreenBB.dynamicTaskFlowId}
    This should resolve the issue.
    Edited by: Krithivasan N on Mar 6, 2012 11:52 AM

  • PPR problem with dynamic regions

    Hello,
    I have an application which starts by displaying a two buttons, each of which is supposed to display a particular bounded task flow in a dynamic region. The first task flow has a .jsff which has a table that displays records in a richtable... no problem there. The second task flow displays records (from a different table in the database) in a PanelFormLayout using inputtext's.
    Now the problem.
    When the first task flow is set to display by default when the application is run, the table works as it should. I click the button to switch the dynamic region to the second task flow and that is fine, but any navigation button I click gives me the following error...
    SEVERE: Server Exception during PPR, #4
    javax.el.PropertyNotFoundException: Target Unreachable, 'Col2Id' returned null
    Now, if I setup this second task flow to display by default, it works as it should.
    The actionlistener I use to switch the tasks in the dynamic region is as follows
      public void testListener1(ActionEvent actionEvent) {
        String varTask;
        //the two buttons have btn1 and btn2 as the id's, so this returns '1' or '2' respectively to generate the correct taskFlowId below
        varTask = actionEvent.getComponent().getId().substring(3);
        // this builds the task flow id based on the value of the variable determined above
        taskFlowId = "/WEB-INF/tasks/task-flow-" + varTask + ".xml#task-flow-" + varTask;
    }and it does switch the task flow to the correct one.
    The .jsff for the second task flow is as follows
    <?xml version='1.0' encoding='windows-1252'?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1" xmlns:f="http://java.sun.com/jsf/core"
              xmlns:af="http://xmlns.oracle.com/adf/faces/rich">
      <af:panelBox text="PanelBox1">
        <f:facet name="toolbar"/>
        <af:panelFormLayout>
          <af:inputText value="#{bindings.Col2Id.inputValue}"
                        label="#{bindings.Col2Id.hints.label}"
                        required="#{bindings.Col2Id.hints.mandatory}"
                        columns="#{bindings.Col2Id.hints.displayWidth}"
                        maximumLength="#{bindings.Col2Id.hints.precision}"
                        shortDesc="#{bindings.Col2Id.hints.tooltip}"
                        id="textCol2Id">
            <f:validator binding="#{bindings.Col2Id.validator}"/>
          </af:inputText>
          <af:inputText value="#{bindings.Col2Desc.inputValue}"
                        label="#{bindings.Col2Desc.hints.label}"
                        required="#{bindings.Col2Desc.hints.mandatory}"
                        columns="#{bindings.Col2Desc.hints.displayWidth}"
                        maximumLength="#{bindings.Col2Desc.hints.precision}"
                        shortDesc="#{bindings.Col2Desc.hints.tooltip}"
                        id="textCol2Desc">
            <f:validator binding="#{bindings.Col2Desc.validator}"/>
          </af:inputText>
          <f:facet name="footer">
            <af:panelGroupLayout layout="vertical">
              <af:panelGroupLayout layout="horizontal">
                <af:commandButton actionListener="#{bindings.First.execute}"
                                  text="First" disabled="#{!bindings.First.enabled}"
                                  partialSubmit="true"/>
                <af:commandButton actionListener="#{bindings.Previous.execute}"
                                  text="Previous"
                                  disabled="#{!bindings.Previous.enabled}"
                                  partialSubmit="true"/>
                <af:commandButton actionListener="#{bindings.Next.execute}"
                                  text="Next" disabled="#{!bindings.Next.enabled}"
                                  partialSubmit="true"/>
                <af:commandButton actionListener="#{bindings.Last.execute}"
                                  text="Last" disabled="#{!bindings.Last.enabled}"
                                  partialSubmit="true"/>
              </af:panelGroupLayout>
              <af:commandButton text="Submit"/>
            </af:panelGroupLayout>
          </f:facet>
        </af:panelFormLayout>
      </af:panelBox>
    </jsp:root>the adfc_config.xml is as follows
    <?xml version="1.0" encoding="windows-1252" ?>
    <adfc-config xmlns="http://xmlns.oracle.com/adf/controller" version="1.2">
      <view id="start">
        <page>/start.jspx</page>
      </view>
      <managed-bean>
        <managed-bean-name>backing_start</managed-bean-name>
        <managed-bean-class>programs.view.backing.Start</managed-bean-class>
        <managed-bean-scope>backingBean</managed-bean-scope>
        <!--oracle-jdev-comment:managed-bean-jsp-link:1start.jspx-->
      </managed-bean>
    </adfc-config>Does anyone have an idea what gets missing or confused at the PPR level when I switch task flows in a dynamic region in this manner, and how can it be corrected.
    Thanks

    Hi Frank,
    When I try changing the managed bean scope from backingbean to pageflow (I also had to change the binding in the PageDef.xml file as well), it displays a blank screen when starting and the server log file has the following error message.
    <Apr 27, 2009 8:28:35 AM CDT> <Error> <HTTP> <BEA-101017> <[weblogic.servlet.internal.WebAppServletContext@164d2b3 - appName: 'FcnTestApp1', name: 'FcnTestApp1-ViewController-context-root', context-path: '/FcnTestApp1-ViewController-context-root', spec-version: '2.5', request: weblogic.servlet.internal.ServletRequestImpl@1c5c9ca[
    ]] Root cause of ServletException.
    javax.el.PropertyNotFoundException: Target Unreachable, 'backing_start' 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:248)
         at javax.faces.webapp.UIComponentELTag.createComponent(UIComponentELTag.java:222)
         Truncated. see log file for complete stacktrace
    >
    Any idea what might cause this?
    Thanks

  • 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

  • Page Template Popup with Dynamic Region TaskFlow

    Hi.
    I have a Page Template that is used extensively in my application to provide a consistent explorer panel containing tree links to various pages in the application. I'm trying now to enable users to edit configuration via a tree link. I would like to implement this as a Popup in the page template which contains a dynamic region that contains a bounded Task FLow (so I can control the transaction for the edit activity). I'm running into all manner of issues...
    The Tree node is defined as follows:
    <f:facet name="cognition_model_view.viewRepListVO">
           <af:group id="pt_g4">
              <af:commandImageLink id="pt_ot15" text="#{node.Viewname}"
                                                action="callRouter"
                                                actionListener="#{backingBeanScope.templateBacking.viewsGoActionListener}"
                                                icon="/pics/folder-icon.png"
                                                shortDesc="View: #{node.Viewdesc} | Filter: #{node.Filtername}"
                                                partialSubmit="true"/>
              <af:commandImageLink id="pt_ot16"
                                                icon="/pics/edit1.png"
                                                shortDesc="Edit View Config"
                                                partialSubmit="true">
                     <af:setPropertyListener from="#{node.Appname}"
                                                       to="#{backingBeanScope.templateBacking.editViewAppName}"
                                                       type="action"/>
                     <af:setPropertyListener from="#{node.Viewname}"
                                                       to="#{backingBeanScope.templateBacking.editViewName}"
                                                       type="action"/>
                     <af:setPropertyListener to="#{backingBeanScope.templateBacking.editViewType}"
                                                       from="#{node.Sourceview}"
                                                       type="action"/>
                     <af:showPopupBehavior popupId="::pt_p_edView"
                                                       triggerType="click"/>
              </af:commandImageLink>
            </af:group>
    </f:facet>The property listeners are to hold values that will be passed as parameters to the region's task flow.
    The Popup is defined here:
    <af:popup id="pt_p_edView" contentDelivery="lazyUncached"
                  popupCanceledListener="#{backingBeanScope.editPopupTFHandler.cancelPopup}"
                  popupFetchListener="#{backingBeanScope.editPopupTFHandler.showPopup}"
                  binding="#{backingBeanScope.editPopupTFHandler.editPopup}">
            <af:panelWindow id="pt_pw1"
                            title="#{backingBeanScope.templateBacking.editViewName} - Edit View Configuration"
                            contentHeight="250" contentWidth="500" stretchChildren="first" modal="true">
                <af:region value="#{bindings.dynamicRegion1.regionModel}" id="pt_r1"/>
            </af:panelWindow>
        </af:popup>The taskflow binding for the template is as follows:
        <taskFlow id="dynamicRegion1" taskFlowId="${backingBeanScope.editPopupTFHandler.dynamicTaskFlowId}" xmlns="http://xmlns.oracle.com/adf/controller/binding">
          <parameters>
            <parameter id="inputApplicationName" value="#{backingBeanScope.templateBacking.editViewAppName}"/>
            <parameter id="inputViewType" value="#{backingBeanScope.templateBacking.editViewType}"/>
            <parameter id="inputViewName" value="#{backingBeanScope.templateBacking.editViewName}"/>
          </parameters>
        </taskFlow>The managed bean to hold the dynamic taskflowId (editPopupTFHandler) is referenced in the adfc-config.xml file at "backingBean" scope, and looks like this:
    public class editPopupTFHandler {
        private String taskFlowId = "/WEB-INF/editViews/editViewsTF.xml#editViewsTF";
        private String emptyTaskFlowId = "";
        private String currentTaskFlowId = taskFlowId;
        private RichPopup editPopup;
        public editViewPopupTFHandler() {
        public String getDynamicTaskFlowId() {
            return currentTaskFlowId;
        public void cancelPopup(PopupCanceledEvent pce) {
            currentTaskFlowId = emptyTaskFlowId;
        public void showPopup (PopupFetchEvent popupFetchEvent) {
               currentTaskFlowId = taskFlowId;
        public void setEditPopup(RichPopup editPopup) {
            this.editPopup = editPopup;
        public RichPopup getEditPopup() {
            return editPopup;
    }If I don't define the bean at backingBean scope, I get a Target Unreachable error from any page using the template.
    When I attempt to use the link to the popup, the popup displays but the region content does not. Is this a scoping issue?
    Additionally, after pressing combinations of the 2 commandimagelink components, the first link stops submitting... this may be a side-effect of the region display though?
    Again, as I'm quite new to ADF I don't know how to overcome or avoid these issues, or whether there is a better method to achieve an edit capability in a popup window from a page template.
    Thanks for your help. I'm using JDeveloper 11.1.2.1.0 by the way.

    Hello again. I've managed to get the dynamic region displaying once I restarted JDeveloper and re-created the Region and backingBean. This has happened before - is JDeveloper known to get "confused" (like me!) in this way?
    There are still issues though. The backingBean contains a PopupCanceledListener as follows:
        public void cancelPopup(PopupCanceledEvent pce) {
            System.out.println("CANCEL POPUP - Current Task FLow now empty");
            currentTaskFlowId = emptyTaskFlowId;  // where emptyTaskFlowId = ""
            System.out.println("CANCEL currentTaskFlowId = " + currentTaskFlowId);
        }Simple enough, but the dynamicTaskFlowId is not holding its cleared value. Subsequent call to the getter shows a non-null value...?
    The Popup has the ContentDelivery="lazyUncached" and ChildCreation="deferred". The TaskFlow Binding has Refresh="default" and activation="deferred". With these property values the Popup is displays the correct value on its first use but then keeps that same value on any subsequent selection. I don't know whether this is because of the TaskFlow not correctly resetting or something else...
    Can anyone help me please. This is beyond frustrating. The behaviour of these various property settings is not at all predictable for me... Thanks.

  • How To create new Tabs in Dynamic Region

    Hi to All,
    Im a newbie please help me .Consider I have a two buttons or links on left side of Panel splitter and on right side im having Region/Dynamic Region.My aim is by clicking first button a new Tab should be appeared inside which a bounded task flow fragments get launched dynamically in the Region or Dynamic Region.And by clicking the second button a new second Tab next to the previous Tab should be displayed with another different fragments gets launched/displayed inside the second Tab.
    Please give me tutorial links or suggestions to fullfill this...Thanks in Advance
    Regards,
    Navin

    thank you for your response,I want a slightly different need consider two links on Left side and Global Tabs (two tabs Tab1,Tab2 containing page Page1,Page2 which is inside View activity view1,view2 in the unbounded task flow) on the right of panel splitter.By clicking the second button/link ,I want to open the Second global tab (assume default First global tab is opened) and to launch the fragments automatically.In other words I want to open the different global Tab and to launch the fragments automatically by a single click. By using "action" option we can navigate to different page by this we can open the other global tabs but the actionListener (EL to backing bean)did not get into action i.e., not loading the fragments into the loaded page.
    Edited by: user13299387 on Mar 1, 2011 8:19 AM

Maybe you are looking for