ADF Region Refreshing Mechanism

Hi all,
i have a doubt on how ADF region refreshing mechanism works. Let me explain my doubts with an example. Suppose you have a page .jspx inside whom you put a region with the following relevant properties:
- Refresh: ifNeeded
- Activation: deferred
- Parameters:
ID Value
param1 #{pageFlowScope.myBean.param1}
param2 #{pageFlowScope.myBean.param2}
paramN #{pageFlowScope.myBean.paramN}
As you can see, the region is instructed to re-execute its task-flow everytime any of its parameters change. What i don't understand is if the parameters must be changed in particular ways that let the region know that it must be re-executed or they can be changed in any way, for example from within the method of a managed bean: returning to the example above, if inside myBean i have a method like the following:
public void refreshRegion(){
setParam1(new Param1());
the region gets re-executed everytime i call this method?
If not so, could you please explain how exactly the region detects that one of its parameters is changed and then it must re-execute its task-flow?!?
Thanks in advance!
Bye!
Fabio

Hi,
thanks for the reply. Is there some reason in particular to use variables stored at requestScope level? The mechanism used by regions to refresh theirselves don't should be the same regardless the scope at which their parameters are stored?
As a technician, i imagine that the only way regions are able to automatically detect the need to re-execute their task flow is putting theirselves in constant listening to eventual changes in the value of their parameters. As far as i know, this is the only way for regions to detect the exact moments when refresh is required, despite the way their parameters are updated. If this is not the case, then i think the assumption according to which regions are able to refresh theirselves no matter the way their parameters are changed is wrong, and i'd like to know the real mechanism that hides behind the refresh of ADF regions.
You said that:
" Now, in any of the server code, if you are changing anyone of the above requestScope values, the taskflow would be re-executed "
Please, let me ask you: even if the code that changes the value runs inside a thread different from the "ADF thread"?
Thanks again,
Bye!
Fabio

Similar Messages

  • ADF Region not getting refreshed after Commit

    Hi everyone!
    I'm having some trouble with a region that is disturbing me for more than 2 weeks, its true guys, I tried everything!!
    My parent page is a normal ADF .jspx page that contains inside it a task-flow call. The first task-flow activity is a router, after sending a String
    to router it chooses the region activity that fits the page (in this example I always pass the same value, same String).
    After the router is called then it delegates to "ExecuteWithParams" method call before calling my final region that have its query executed with
    parameter set inside task-flow.
    The region is refreshed (refresh="ifNeeded") when I change row inside a table in ParentPage, all fine here.
    The problem is:
    - After any Commit (with navigation case or executable binding) is issued inside Region the region save its state and does not refresh anymore, even if task-flow parameters change.
    Already tried CacheResults="false" on iterator too.
    I'm using Jdeveloper 11.1.2.1.
    Thanks in advance!!

    Hi,
    so I think the shirt summary of your problem is that an ADF region doesn't refresh after it issued a commit. Sounds like a bug to me if this reproduces in a test case. Do you have a testcase based on the Oracle HR schema ? If so, send it my way in a zip file you rename to ".unzip". My mail address is in my OTN profile. Note that bugs I file are not visible to customers. So if you need to keep track of any state of the issue, you need to file a service request with support yourself.
    Frank

  • Templating Mechanism for ADF ? Tiles, ADF Region, Facelets

    Hi,
    this is ashish here. Please let me know which templating mechanism is best for use with ADF Faces.
    1.Tiles or
    2.ADF Region or
    3.Facelets
    Please reply as early as possible.
    Thanks in advance.

    Hi Frank,
    Can you please suggest me a tutorial(.pdf) or a sample or hyperlinks where i can find the right stuff.
    Thanks in advance.

  • ADF: big issues (bug?) with dinamic region refresh

    Hi all,
    we are creating a page that contains a component like the DinamicTabUiShell, but we have several problems refreshing the dinamic region we are using.
    Here is a detailed explanation of our work.
    We have page (monitoraggio.jspx) that has a panel stretch layout. Inside the top facet, we have navigation pane, that draws its tabs with a for each, looping through a managed bean (monitoraggioTabbedPane) collection . Inside the center facet, we have a dinamic region (monitoraggio.jspx, ID=r1).
    We can say that we implemented the adf DinamicTabUiShell.
    This is monitoraggio.jspx
       <af:panelStretchLayout id="psl2" topHeight="auto"
                                             endWidth="0px" bottomHeight="0px"
                                             >
                         <f:facet name="bottom"/>
                         <f:facet name="center">
                               <af:region value="#{bindings.dynamicRegion1.regionModel}"
                                          id="r1" partialTriggers="::np1:cni1"
                                          />
                          </f:facet>
                         <f:facet name="end"/>
                         <f:facet name="top">
                            <af:panelGroupLayout layout="vertical" id="pgl2">
                               <af:spacer width="10" height="10" id="s1"/>
                               <af:panelBorderLayout id="pbl1"
                                                     styleClass="AFStretchWidth"
                                                     binding="#{viewScope.monitoraggio.tabbedPaneArea}">
                                  <af:navigationPane id="np1">
                                     <af:forEach items="#{monitoraggioTabbedPane.monitoraggioTabItems}"
                                                 var="tab">
                                        <af:commandNavigationItem text="#{tab.tabName}"
                                                                  id="cni1"
                                                                  action="#{tab.activateTab}"
                                                                  selected="#{tab.selected}"
                                                                  immediate="true"
                                                                 >
                                        </af:commandNavigationItem>
                                     </af:forEach>
                                  </af:navigationPane>
                                  <f:facet name="end">
                                     <af:group id="g1">
                                        <af:commandImageLink id="cil1"
                                                             icon="/icons/closeDialog_mo.png"
                                                             disabledIcon="/icons/closeDialog_d.png"
                                                             hoverIcon="/icons/closeDialog_n.png"
                                                             depressedIcon="/icons/closeDialog_md.png"
                                                             action="#{monitoraggioTabbedPane.removeSelectedTab}"
                                                             rendered="#{monitoraggioTabbedPane.currentTabPosition > 0}"
                                                             immediate="true"/>
                                        <af:spacer width="15" height="10" id="s2"/>
                                     </af:group>
                                  </f:facet>
                               </af:panelBorderLayout>
                            </af:panelGroupLayout>
                         </f:facet>
                      </af:panelStretchLayout>monitoraggio.jspx page def
    <?xml version="1.0" encoding="UTF-8" ?>
    <pageDefinition xmlns="http://xmlns.oracle.com/adfm/uimodel"
                    version="11.1.1.56.60" id="monitoraggioPageDef"
                    Package="sop.view.pageDefs" SkipValidation="true"
                    ControllerClass="sop.view.pagePhaseListener.MonitoraggioListener">
       <parameters/>
       <executables>
          <variableIterator id="variables"/>
          <taskFlow id="dynamicRegion1"
                    taskFlowId="${monitoraggioTabbedPane.monitoraggioCurrentTab.taskFlowId}"
                    activation="deferred"
                    xmlns="http://xmlns.oracle.com/adf/controller/binding"
                    RefreshCondition="#{monitoraggioTabbedPane.changed}">
             <parameters>
                <parameter id="oggettoCoinvolto"
                           value="#{monitoraggioTabbedPane.monitoraggioCurrentTab.oggettoCoinvoltoAllarme}"/>
                <parameter id="refreshFlag" value="#{true}"
                           xmlns="http://xmlns.oracle.com/adfm/uimodel"/>
                <parameter id="isStandalone" value="#{true}"
                           xmlns="http://xmlns.oracle.com/adfm/uimodel"/>
                <parameter id="beanRicercaTratte" value="#{null}"
                           xmlns="http://xmlns.oracle.com/adfm/uimodel"/>
             </parameters>
          </taskFlow>
       </executables>
       <bindings/>
    </pageDefinition>The content of the dinamic region is took from the managed bean of each tab added to the navigation pane: each tab keeps track (through OggettoCoinvolto attribute) of its content, and the dinamic region loads its task flow using the tab attribute OggettoCoinvolto.
    Since we have to open tabs programmatically, to open a tab, what we do is:
    - add a tab to the monitoraggioTabbedPane managed bean tabs collection (here we create the tab managed bean object, setting the OggettoCoinvolto property)
    - try to refresh both the dinamic region and the tabbed pane.
    All these operations, work flawlessly: we see that the model (monitoraggioTabbedPane tabs collection) contanis all the tabs, and each tab contains its correct task-flow-id, and this task-flow-id is correctly returned to the dinamic region.
    The problems is about refreshing the view (both the dinamic region and the navigation pane)
    To refresh them we tried using both AdfFacesContext.getCurrentInstance().addPartialTarget, and queueActionEventInRegion, we tried also setting the region refresh property to "ifneeded" and we changed a boolean flag passed as input of the region each time we wanted to refresh it, we used partianTriggers (you can all see in monitoraggio.jspx), but it does not work...
    Sometimes we see that only the NavigationPane is refreshed, and sometimes when switching tabs, we see that the dinamic region does not change its content.
    What can we do? Is our way to refresh region/dinamic pane wrong ?
    We tried also to set the refresh property of the region to 'default' and using the refresh condition, changing it programmatically, but it does not seem to work...
    Take, as an example, a refresh condition that simply gets the value of a boolean in a managed bean (monitoraggioTabbedPane.changed).
    TO make the refresh condition work, is it sufficient to change the boolean with a simple assignment (changed = true), or do we need to use JSFUtils.setExpressionValue(#{monitoraggioTabbedPane.changed}, true) ?
    Is there any way, in adf 11g, to dinamically launch an design-time-unknow-number of task-flows, where each task-flow is implemented as a region and each region must be associated to a different tab. Is possible to achieve this using dinamic region, or we are mis-using the dinamic region ? How can we refresh it ?
    Many thanks to anyone willing to lean an hand...

    I notice you have the activation property set to deferred.
    <taskFlow id="dynamicRegion1"
    taskFlowId="${monitoraggioTabbedPane.monitoraggioCurrentTab.taskFlowId}"
    activation="deferred"
    I would set it back to default or immediate for the sake of clarity. According to the doc, setting it to deferred has the same effect as immediate for JSP based pages. This is purely cosmetic.
    You have refreshCondition set which is not what you want in this case.
    xmlns="http://xmlns.oracle.com/adf/controller/binding"
    RefreshCondition="#{monitoraggioTabbedPane.changed}">
    You should clear this setting and change the refresh attribute to ifNeeded.
    Your refreshFlag is hard-coded to true.
    <parameter id="refreshFlag" value="#{true}"
    xmlns="http://xmlns.oracle.com/adfm/uimodel"/>
    When dynamicRegion1 is refreshed, it will only execute if one of it's task flow parameters has a different value then it did during the previous execution. refreshFlag should be set to an el expression that changes at least every time you change tabs if not more often depending on your requirement.
    You mention "we changed a boolean flag passed as input of the region each time we wanted to refresh it" Did you set refreshFlag to an el expression in a different version of the code?
    Sounds like you may have already tried all the above - if that's the case here some suggestions to help diagnose the issue further after you've returned to settings above.
    1) Go to monitoraggio.jspx page def and - in the design tab - and right click to the right and the left of dynamicRegion1 and select Toggle Breakpoint to enable breakpoints before and after the task flow is evaluated.
    2) Go to the design view of the task flows that you are showing in the tabs. Right-click on the each task flows default activity and select Toggle breakpoint to set a breakpoint.
    When you run the application, you should hit the pageDef break points any time the task flow is queued for refresh. If you don't hit those breakpoints, then whatever you are doing to refresh the task flow isn't working.
    Assuming you are successfully queuing your task flow for refresh, you'll hit the pageDef breakpoints. When you hit the first one (on the left), go the expression evaluator in the debugger and enter the el expression for refreshFlag and evaluate it. You want to verify that it changes as expected. If the value of the expression doesn't change before the next tab is displayed, the task flow won't be re-executed. If the values not changing as expected, you need to change the logic you use to update the refreshFlag.
    You'll only hit the breakpoints on the default activities in your task flows when they are actually executed. If you hit the default activity breakpoint but are still seeing stale data, there's something wrong with the logic internal to the task flow.
    Hope that helps.

  • Region Refresh

    Dear All,
    Use Case:
    I have an input text and a region below it. In the input text, you could supply employee Id and the region should display Employee Information.
    On click of a button, I am setting a pageflowscope variable.
    <af:inputText label="Employee ID" id="it2"
                              value="#{pageFlowScope.employeebean.empId}"/>
    <af:commandButton text="Search" id="cb1" partialSubmit="true">
        <af:setPropertyListener from="#{pageFlowScope.employeebean.empId}"
            to="#{pageFlowScope.empId}" type="action"/>
    </af:commandButton>
    <af:outputText value="#{pageFlowScope.employeebean.empId}" id="ot1"
        partialTriggers="cb1"/>
    <af:region value="#{bindings.EmployeeInfoFlow1.regionModel}"
                         id="r1" partialTriggers="::cb1"/>I already setup my taskflow to read from this pageflowscope variable and already configured my partialtriggers.
    <taskFlow id="EmployeeInfoFlow1"
                Refresh="ifNeeded">
      <parameters>
         <parameter id="empId" value="#{pageFlowScope.empId}"/>
      </parameters>
    </taskFlow>My problem is that, the #{pageFlowScope.employeebean.empId} is not updated with inputtted value if the region
    is present. But if I comment out the region, I see my input text getting updated values?
    What could be the reason thanks?
    Edited by: Neliel on Aug 1, 2011 1:52 AM

    Hi Jobinesh,
    I notice that the region refreshes first after I clicked the button but before the pageflowscope input parameter was updated.
    I already removed the partialtrigger on the region and I was hoping that it will accept the new value of employeedId that is in pageflowscope but I noticed
    that it is still reading the previous value which is blank. The adf region is still returning data from the first call in the web service which is weird.
    I simplify my coding and made simple code first without the region and managed bean and the used of setpropertylistener. I used this simplified codes.
    I notice that this code is ok:
    <af:inputText label="Employee ID" id="it2" value="#{pageFlowScope.empId}"/>
    <af:commandButton text="Search" id="cb1" partialSubmit="true" />
    <af:outputText  value="Employee ID: #{pageFlowScope.empId}" id="ot1"
                               partialTriggers="cb1"/>But this one causes trouble, the taskflow call to the web service is still blank or null.
    What's worst is that the output text value is unable to refresh its value
    <af:inputText label="Employee ID" id="it2" value="#{pageFlowScope.empId}"/>
    <af:commandButton text="Search" id="cb1" partialSubmit="true" />
    <af:outputText  value="Employee ID: #{pageFlowScope.empId}" id="ot1"
                               partialTriggers="cb1"/>
    <af:region value="#{bindings.EmployeeInfoTaskFlow1.regionModel}"
                         id="r1" />I am finding this behavior really odd or I am just too dumb to understand I think.. ;(

  • Dynamic JDBC Credentials and using ADF Region ERROR

    Hi,
    I used solution by Steve Muench, Dynamic JDBC Credentials (for ADF Faces Rich Client)
    (129.     11g Dynamic JDBC Credentials for Model 1, Struts, Trinidad, and ADF Faces Rich Client 11.1.1.0.0 06-AUG-2008), but it works not correct in case of using ADF Dynamic Region (or simply ADF Region).
    I have added in ViewControllerJSFRichFaces a page (main.jspx) including ADF Dynamic Region consisting of 2 simple tasks flows. Action of the Login button, if login and password are correct, redirect to main.jspx
    There are to cases.
    1) Login and password are correct:
    In this case all work fine.
    2) Login and password are not correct:
    It does not work. redirect to login.jspx does not occur as it is expected, but the following page (main.jspx) is loaded, herewith thrown exception: oracle.jbo.DMLException: JBO-26061: Error while opening JDBC connection.
    I would be very grateful you for help.

    Hi,
    hard to say from your description if this is a bug or an implementation problem. Note that errors that occur in regions are not handled by the exception handler of the the parent page and require special handling within the region. In other words, if the problem is in the region then it needs to be handled in here. I think the right strategy here is to not show the region until a valid connection exist. Is the login performed from the parent page ?
    Frank

  • ADF: Tree Refresh after Expanding a node. Please Frank have a look!

    About this post:
    Re: ADF: Tree Refresh after Expanding a node
    Frank answered that he doesn't notice that behavior. I found out that this happens if an appication uses a custom skin.
    In SRDemoSampleADFBC, SRManage.jspx (Management from menu), if you make the explorer window small enough not to cover the whole tree, you can notice this (the page jumps to the top).
    Now if you change in adf-faces-config.xml the "skin-family" tag to "oracle", you will see that the tree component has changed (it has no triangle icons why this happens) and the page doesn't refresh.
    Minas

    It seems that there's more to the tree expansion icon than the skin definition. We're using the minimal skin and ADF puts out a special character to represent the disclosure symbol (which by the way, renders differently on IE6, than IE7, than Safari or Firefox on Mac). However, switching to the Oracle skin, the disclosure symbol comes out as a full-on image (triangle including the +). We have found this frustrating because the triangles seem not sufficiently suggestive to our users - but switching to the Oracle skin has other issues with white-on-white text.
    But in any case, the tree refresh after node expansion is another annoyance as I described in the other thread linked here (including URL to see problem in action).
    Cheers, Mark

  • Region refresh on DHTML dialog close

    Dear friends,
    I'am using the DHTML dialog plugin and just upgraded to Apex 4.1.1.
    The report refresh on the main page no longer works when the dialog is closed.
    Hence I tried to modify the plugin by adding the "apexrefresh" call to the code:
      htp.p('parent.apex.jQuery("#' || l_dialog_id || '").dialog("close");');
      htp.p('apex.jQuery("#departments").trigger("apexrefresh");');
      htp.p('</script>');
      htp.p('</body>');
      apex_application.stop_apex_engine;My question is why does the refresh not work?
    The dialog (id=departments) is wrapped an iframe.
    Have been reading and trying hours now and feel it's time to ask you!
    Thanks,
    Sebastian

    I haven't used that Plugin , but from the plugin explanation it is said(as you mentioned) that you can use the Close[DHTML Dialog] event for Dynamic Actions.
    I am not sure if the event is actually triggered before the dialog is closed or immediately after. If this event has been implemented as a callback , then its probable that the event would be triggered after the dialog is closed.
    In any case, you can add a simple javascript alert code as the Dynamic Action and see if it runs fine.If that works you can add the region refresh javascript code manually as
    $('#REGION_STATIC_ID').trigger('apexrefresh')if that doesn't work, its probably due to the call happening from the dialog(before it closes) and the dialog unable to find any such element (since its attached to the dialog's parent)
    in such a case, use
    parent.$('#REGION_STATIC_ID').trigger('apexrefresh')This refresh method only works with report regions(and some LOV item types) , so for most page items you have to call some javascript that specifically fetches and sets the session value (either using ajax or new value passed from modal )
    Instead of using the plugin for the dialog, if you use the jQuety dialog API (which I guess the plugin calls internally) , then it has close event where you can add your custom code. You can find the API documentation here

  • How to reset viewScope for a particular ADF region

    I have following usecase.
    I navigate to a page (say cloud home page). while calling this page couple of parameters are set in view scope.
    1. viewScope.keyAttrs.target
    2. viewScope.keyAttrs.type
    The page has a ADF region ( say inventory) embedded.
    For this region I want above parameters in view scope to be null. Can I set a flag or something to make it null?

    My requirement is specific to Enterprise Manager so closing the thread.

  • Refreshing a region, Rich Region.refresh or addPartialTarget ?

    Hi All,
    I have a question about refreshing a region.
    Assume that a region is bound to a backing bean property (RichRegion myRegion). And getMyRegion() is the getter for the region in backing bean.
    What I want to know is the difference between using getMyRegion().refresh(FacesContext.getCurrentInstance()) and AdfFacesContext.getCurrentInstance().addPartialTarget(getMyRegion()). And under which situations, these methods should be used?
    Could you please help me telling the difference? Thanks a lot.
    Best Regards,
    cmoster

    Hi,
    good question!
    1. AdfFacesContext.getCurrentInstance().addPartialTarget(getMyRegion())
    This performs a UI refresh of the region, which means the region is only re-rendered. This may not have any impact to the state of the task flow exposed in a region unless the task flow binding has its refresh option set so the task flow re-initializes. You use this option to refresh task flows in regions if you use shared data control (in which case the data content displayed in the region refreshes without the view displayed in the region to change). You can also use this to re-initialize a task flow (which means you restart it so its default activity is executed). You do this by setting ifNeeded as the refresh option and ensuring an input parameter of the task flow binding to be changed. Or, you use the refresh option as "default" but have a refreshCondition EL defined that returns true for a full task flow refresh
    2. getMyRegion().refresh(FacesContext.getCurrentInstance())
    While 1) is fully declarative, this is programmatic invocation that always refreshes the region such that the task flow exposed therein is restarted (executing the default activity). The method also adds the component to a list of partial refresh targets. This method must be called during JSF INVOKE_APPLICATION phase, which means it is to be used from an action event and not a component event like value change.
    Frank

  • Adf region is not displaying anything

    Hi,
    I am using adf region to display the data.For this I have created one bounded task flow with page fragments.
    In the page fragment I created one output tag to display something.this page fragment is dropped in task flow.
    Then I made one JSP page and drag the task flow and drop it as the region.The problem is it not displaying any data.
    I am using jdev 12. Can you please tell me whether I am doing anything wrong.
    Thanks,
    Harsh

    What do you mean by
    Then I made one JSP page and drag the task flow and drop it as the region.
    Did you create a jspx page or a jsf page. Depending on the fragment type it only works on a jsf page (jsf 2.0 page). 12c default is create fragments as 'Facelets' which only work in jsf Pages. If you want to use a jspy page you have to create the fragment as 'JSP xml'.
    Timo

  • Mr . Steven  By ADF : how refresh country list with city list

    Mr . Steven By ADF : how refresh country list with city list
    if you have combo box(in Jdev : single select list)
    two list ==> first one : country list
    ==> second one: city list
    when select country from (country list) i want the city
    list refresh and have only the city that in selected country .
    note :
    countryName and cityName are attribute in a view that have two table (country_table , city_table)

    Hi, I've tried this solution, the only problem is that my navigation controls are inserted in a form that is linked to a table.
    Let me give you an example:
    I have a form binded to a table say Problem
    and in that form i have to linked drop lists named Category and Sub category.
    The problem is that if I use the example, there's no way to link my problem field with the navigation control.
    The other problem is that when I change the value of the Category list, it validates the form and I do not want it to be validated.
    Can you help me.
    Thx

  • Region Refresh on Tab click in ADF

    Hi ADF Experts,
    I have a requirement where I want to refresh table inside the region when tab is clicked.
    I am using dynamic tab shell.
    Jdev version 11.1.1.5
    Tried all possible combination but no luck,
    Please help .

    Hi Timo,
    Thanks for the reply.
    I am little confused here, I am following solution provided in below link
    https://forums.oracle.com/message/10408087#10408087
    http://www.oracle.com/technetwork/developer-tools/adf/learnmore/79-global-template-button-strategy-360139.pdf
    I am getting selection event ,when tab is selected , but confused how to move further to refresh my region.

  • ADF:Dynamic Region Refreshing

    Hi,
    My JDeveloper version is 11.1.1.5
    I am facing one problem.
    I have one table to which I have Save and Remove buttons.
    To the Save button, I have one action which programmatically inserts the row into the table. And Remove button removes the row present from the table programmatically.
    The Problem I am facing is, whenever I save or remove I need to reload the page to see the row inserted or deleted. It is not happening automatically...
    Could anyone please tell me how to reload a dynamic region which reflects DB table modification onto the Dynamic Region?
    Many thanks in advance

    Hi Guys,
    Here I will try to put my scenario...
    There is one table called APPLICATION which displays all the data using ViewObject1. To this table I am adding and saving and deleting a new row.
    ViewObject1 Query :
    SELECT Application.BUSINESS_UNIT,
    Application.DESCRIPTION,
    Application.ID,
    Application.NAME
    FROM APPLICATION Application
    And there is one more viewObject which refers the same table which also displays the same columns with the data which is mentioned in below viewobject query.
    ViewObject2 Query:
    SELECT Application.BUSINESS_UNIT,
    Application.DESCRIPTION,
    Application.ID,
    Application.NAME
    FROM APPLICATION Application
    WHERE ID not in (select ID_application from project_application)
    So
    Whenever I am saving/removing a row, the table with ViewObject1 is being reflected with the saved row... but not the table with ViewObject2. So can you please advise me how to reflect the saved row in ViewObject2 also..
    ViewObject1 and ViewObject2 are referring to the same table(APPLICATION) in the DB with different queries...
    Many Thanks in Advance,
    Edited by: 977652 on Jan 22, 2013 4:42 AM

  • ADF Region to Parent Communication

    ADF 11.1.1.6, jdk 1.6.37, Windows 7 x64
    Use Case:
    I have a Parent with a region (train).
    I have a button in the region(jsff) on the second page of the train (add record) and a button (Save) located in the parent page (jspx).
    When I enter the form the save should be disabled until the add record is pressed.
    I have tried a contextual event - without success. The event triggers OK - but there is no "real" communication to the button to tell it to look at the value.
    I use a "buttonPressed" variable in the AM to store the state. (getters and setters do the major work of keeping the AM in sync)
    Basically I want the event to trigger the refresh of the button in the parent page - so it will look at the value in the AM.
    I want to keep the button disabled until a record is added in the second page of the train.
    Anyone solved this type of issue before? (it is similar to the issues around dirty records in a region not propagating to the parent)
    It would be simple if the region could do a programmed refresh on the parent button. (Is there a way to get the parent context? and would the backing bean still be active?)

    Hi,
    you need a mix of two for this usecase
    1. RegionNavigationListener to tell when you enter the form. Fromthe region navigation listener you can tell the viewId the page fragment in the region has. So this will then allow you to disabled the button in the parent view
    2. You need to pass a managed bean in view scope from the parent page as an input parameter to the region (task flow). This method will need to have a method that understands how to access the command button in the parent page and enabled it (+ refresh with PPR). Because you "injct" the managed bean from the parent view into the task flow, its context remains in the parent view. So you can look up the command button on the Faces Context (you cannot use JSF component binding in a bean that is in view scope). Alternatively you create a second bean in the parent view, which is in backingBeanScope and that holds the JSF component binding to the button. You then access the bean in backing bean scope (using EL in Java) from the managed bean in view scope to get a handle to the component binding)
    Frank

Maybe you are looking for

  • How do I resolve "lost equipment" issues?

    I have been having a problem with a phone return to Verizon.  And, based on what I've been reading here, so have a lot of other people.  My account has now gone to the accounting department - I can't even get a customer representative (through the 80

  • Need default value to populate for existing items in list column.

    I have a list that I have been working with for a while. I recently added a new column and made it a choice type with a drop down list. I have set the default value to "Not Started" (an option in my drop down list) but it seems it will only populate

  • Disk drive not working, how/who to contact?

    I recently took my Macbook (2.0ghz 512mb RAM) White to get repaired at an Apple authorized computer store near where I live. The repair was for a broken backlight, however since getting the computer back (After two weeks mind you, a comuter tech guy

  • 999 line items

    Hi all, In the SD, for One Post Goods Issue Material document and FI document generated. Accounting document contains two line items. If the Post Goods Issue contains More than 500items then in FI document generates with more than 1000 line items. Bu

  • Defered COGS does not clear

    Hi Gurus, I am seeing sporadically DCOGS account does not clear causing balance in GL . I am looking to see problamatic transactions from GL. I have done sanity check from Cost Management with COGS Process , Revenue Recognition and Generate COGS Even