[SOLVED] Child task flow called first?

Hi,
I found out a strange behavior with region that I think is a bug, but could also be working as designed so I would like some enlightenment on that matter. Let say I have 2 task flows using fragments (don't know if that last part is relevant): parentFlow and regionFlow whose first activity is to call a method printing some log on System.out. When you place the regionFlow within the fragment of parentFlow as a dynamic region and have the first method activity (the one printing on the console) use the same pageDef (including the region reference) and execute the parentFlow, then the print from the regionFlow will be executed before the print from the parentFlow. Is it normal? I assume it's because the parent method activity uses a pageDef defining a region.
Ok that paragraph is extremely messy, but I hope it's possible to make some sense of it.
Thanks,
~ Simon

Hi again,
Ok it was indeed the same pageDef and I guess it works as designed as you have to process all executable entries before executing the page flow activity using the page def. I think I'll try to use the <page> element then.
Regards,
~ Simon

Similar Messages

  • Problem with ADF security and task flow calls

    Hi.
    I am using JDeveloper 11.1.2.0.0.
    I encountered a problem when tried to apply ADF security to my application.
    The way to reproduce the problem:
    1. Create new Fusion Web Application;
    2. Import Business Components from Tables from any existing schema and add at least one table to the ApplicationModule.
    3. Create "welcome page" (for instance, welcome.jsf). Add a button with fixed action outcome "test".
    4. Create test page, for instance, test.jsf. Drag and drop any view object from Data Controls onto the page and create a form with navigation controls. Add a button with fixed action outcome "return".
    5. Create bounded task flow, name it "test", drag and drop our test page on it - the page will be the default activity. Add a task flow return activity. Add a control flow case from the default view activity to the return activity, set From Outcome property to "return". So our return button should cause the task flow to exit.
    6. Open adfc-config.xml in diagram mode and place our welcome page on it. Then drag and drop the test task flow to create a task flow call activity. Add a control flow case from welcome page to task flow call activity, set the From Outcome property to "test". So our test button should call the test task flow.
    7. Configure application to run the unbounded task flow starting with Welcome view activity.
    At this point all works as expected: when application runs, the welcome page is displayed with test button. Pressing the test button results in displaying the test page, return button leads back to the welcome page.
    Now let's configure ADF Security.
    Run the ADF Security configuration wizard, choose ADF Authentication and Authorization.
    On the second page select Form-Based Authentication, check the Generate Default Pages flag.
    On the third page choose No Automatic Grants.
    On the next page keep the Redirect Upon Successful Authentication unchecked. Press Finish.
    Open jazn-data.xml to configure roles, users and resource grants:
    1. Create application role test-role.
    2. Grant the test-role privileges to view the test task flow.
    3. Create user and grant him the test-role.
    Now we have the public available welcome page and the test page with restricted access.
    When application runs, the welcome page is displayed as expected. Pressing the test button redirect us to auto-generated login page. After successful authorization the test page is displayed. But nothing happens if we click now the return button for the first time. When we click the return button once more, the application crushes with Error-500 and message "Target Unreachable, identifier 'bindings' resolved to null". The exact error trace depends on UI control bindings, but looks like this:
    javax.el.PropertyNotFoundException: //C:/Users/DUDKIN/AppData/Roaming/JDeveloper/system11.1.2.0.38.60.17/o.j2ee/drs/Test1/ViewControllerWebApp.war/test.jsf @10,120 value="#{bindings.Id.inputValue}": Target Unreachable, identifier 'bindings' resolved to null
         at com.sun.faces.facelets.el.TagValueExpression.isReadOnly(TagValueExpression.java:122)
         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.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:274)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.__rendererDecode(UIXComponentBase.java:1324)
    (the rest of lines skipped).
    Any suggestions?
    Edited by: user13307311 on Apr 16, 2013 11:39 PM

    @Lovin_JV_941794
    The welcome page is public available since it does not have appropriate PageDef file.
    Login page comes not from the welcome page, it comes after attempt to access the test page. So after the login succeeded the test page appears, because redirect to welcome page after successful login is not configured. I do not need to return the welcome page at this moment, I need to go to the test page.
    It seems the task flow call stack to be destroyed after redirect to login page.
    Edited by: user13307311 on Apr 17, 2013 12:45 AM

  • Task flow-call  as a Dialog with inline-popup issue JDev 11.1.1.2.0

    I have a very serious issue with task flow-call running as a Dialog with inline-popup
    have bunch of data driven table components pointing to pageDefs with Iterators
    the problem is, the dialog comes first with nothing in it (blank) and it takes 3-5 seconds to fetch all views,
    this is useless, there is no option to control taskflow-call activation , like you do for af:region
    For reference : I am talking about this : http://jobinesh.blogspot.com/2010/08/refresh-parent-view-when-in-line-popup.html
    Download the workspace , connect as HR Schema and you will see what I am talking about
    looks really dumb, it would make sense to show dialog with data all at once, rarther than looking at blank screen to wait for the data to show up
    Edited by: user626222 on Sep 20, 2010 8:57 AM
    can I call this a bug?
    Edited by: user626222 on Sep 20, 2010 1:58 PM
    sometimes I wonder if anyone tested this, as soon as you have some data driven components on your page, you get all sorts of problems in ADF
    But something simple, Adf client side invokes the Dialog as a popup first, and then it thinks oh ya I get massive pageDef to load, so end-user customer will stare at the blank screen for 10 secs , hoping that something will come up or program is crashed
    Well, I am afraid to say you lost your customer :(
    Edited by: user626222 on Sep 20, 2010 2:29 PM
    Edited by: user626222 on Sep 20, 2010 2:35 PM
    Edited by: user626222 on Sep 20, 2010 2:35 PM
    Edited by: user626222 on Sep 20, 2010 2:36 PM

    ok, knowing this fact, I want to show some kind of status indicator during the wait time.
    Unfortunately, putting af:statusIndicator does not work untill after entire page loads
    <?xml version="1.0" ?>
    <?Adf-Rich-Response-Type ?>
    <content action="/EmpApp/faces/displayEmployees.jspx?_adf.ctrl-state=5plp6ahes_72">
    <fragment><![CDATA[<span id="f1::postscript"><input type="hidden" name="javax.faces.ViewState" value="!-e8tyzkiuc"></span>]]>
    </fragment>
    <fragment>
    <![CDATA[<div id="afr::DlgSrvPopupCtnr::content" style="display:none"><div id="j_id12" style="display:none">
    <div style="top:auto;right:auto;left:auto;bottom:auto;width:auto;height:auto;position:relative;" id="j_id12::content">
    <div id="j_id13" class="x142"><div class="x157" _afrPanelWindowBackground="1"></div>
    <div class="x157" _afrPanelWindowBackground="1"></div><div class="x157" _afrPanelWindowBackground="1">
    </div><div class="x157" _afrPanelWindowBackground="1"></div>
    <table cellpadding="0" cellspacing="0" border="0" summary="" class="x146">
    <tr>
    <td class="p_AFResizable x148" id="j_id13::_hse"> </td>
    <td class="p_AFResizable x14a" id="j_id13::_hce"><table cellpadding="0" cellspacing="0" border="0" width="100%" summary=""><tr>
    <td><div id="j_id13::_ticn" class="x151"><img src="/EmpApp/afr/task_flow_definition.png" alt=""></div></td><td class="x14e" id="j_id13::tb">
    <div id="j_id13::_ttxt" class="xz8"></div></td><td>
    <div class="x153"><a href="#" onclick="return false" class="xz7" id="j_id13::close" title="Close"></a></div></td></tr></table></td><td class="p_AFResizable x14c" id="j_id13::_hee"> </td></tr><tr><td class="p_AFResizable x14j" id="j_id13::_cse"> </td>
    <td class="p_AFResizable x14g" id="j_id13::contentContainer">
    <div id="j_id13::_ccntr" class="x14h" style="width:700px;height:430px;position:relative;overflow:hidden;">
    <div id="j_id14" class="xne" style="position:absolute;width:auto;height:auto;top:0px;left:0px;bottom:0px;right:0px">
    <iframe _src="javascript:'<html&gt;<head&gt;<title/&gt;</head&gt;
    <body/&gt;
    </html&gt;'" src="javascript:''" frameborder="0" style="position:absolute;width:100%;height:100%">
    </iframe>
    </div></div></td><td class="p_AFResizable x14l" id="j_id13::_cee"> </td></tr><tr><td class="p_AFResizable x14n" id="j_id13::_fse"><div></div></td>
    <td class="p_AFResizable x14p" id="j_id13::_fce">
    <table cellpadding="0" cellspacing="0" border="0" width="100%" summary=""><tr>
    <td class="p_AFResizable x14u" id="j_id13::_fcc"></td><td align="left" valign="bottom"><div class="p_AFResizable x14y"><a tabIndex="-1" class="x14w" id="j_id13::_ree" title="Resize"></a></div></td></tr></table></td><td class="p_AFResizable x14r" id="j_id13::_fee">
    <div></div></td>
    </tr></table></div></div></div></div>]]>
    </fragment>
    <script-library>/EmpApp/afr/partition/gecko/default/opt/frame-SHEPHERD-PS1-9296.js</script-library>
    This is how it launches the taskflow-call, so there is no way to control this behaviour from the calling taskflow's jspx, feels very closed system,why ADF is not making this behavior Open by some kind of client listener,
    <script>
    <![CDATA[AdfDhtmlLookAndFeel.addSkinProperties({"AFPopupSelectorFooterStart":"x11b","AFPopupSelectorHeader":"x114","af|panelWindow-tr-open-animation-duration":"300","AFPopupSelectorHeaderStart":"x115","AFPopupSelectorContentEnd":"x119","AFPopupSelectorContent":"x117","af|panelWindow::resize-ghost":"x144","AFPopupSelectorContentStart":"x118","AFPopupSelectorFooter":"x11a","AFPopupSelectorFooterEnd":"x11c","AFPopupSelectorHeaderEnd":"x116","AFPopupSelector":"x110",".AFPopupSelector-tr-open-animation-duration":"200"});AdfPage.PAGE.addComponents(new AdfRichPopup('j_id12',{'_dialogURL':'/EmpApp/faces/adf.dialog-request?_adf.ctrl-state=5plp6ahes_76&_rtrnId=1285074907739&__ADFvDlg__=true','_inlineFrameId':'j_id14','_launchId':'r1:0:cb2','_panelWindowId':'j_id13','_rtnId':'1285074907739','contentDelivery':'immediate'}),new AdfRichPanelWindow('j_id13',{'modal':true,'resize':'on','stretchChildren':'first'}),new AdfRichInlineFrame('j_id14',{'source':'javascript:\'\x3chtml>\x3chead>\x3ctitle/>\x3c/head>\x3cbody/>\x3c/html>\''}));AdfPage.PAGE.clearMessages();AdfPage.PAGE.clearSubtreeMessages('r1');]]>
    </script>
    AdfDhtmlRichDialogService.getInstance().launchInline there is no way for me to put af:statusindicator for the wait time using this way
    <script>AdfDhtmlRichDialogService.getInstance().launchInline('j_id12');*</script>
    </content>

  • ADF Task Flow: Using Task Flow Call as Application Entry Point

    In our product we have a task flow structure very similar to the Fusion Order Demo application, but we are having serious trouble reproducing the documented functionality of ADF Task Flows.
    Specifically, we cannot use a task flow call as an entry point for our application, which is very important for us to achieve.
    The [Developer s Guide|http://download.oracle.com/docs/cd/E12839_01/web.1111/b31974/taskflows.htm#ADFFD1634] states about the [demo application|http://www.oracle.com/technology/products/jdev/samples/fod/index.html] :
    "A Fusion web application always contains an ADF unbounded task flow, which contains the entry point or points to the application. Figure 14-3 displays the diagram for the unbounded task flow from the Fusion Order Demo Application. This task flow contains the Home, *MyOrders*, *checkout*, registerUser, and updateUserInfo *view activities, which are all entry points to the application*."
    "The checkout-task-flow activity in Figure 14-3 is a call to an ADF bounded task flow."
    When we run the Fusion Demo Application, we are only able to use home, updateUserInfo and register as entry points.
    We cannot enter the application through any of the task flow call activities (MyOrders and checkout) as the documentation suggests.
    What are the reasons for this and how do we fix it, so we can use task flow call activities as application entry points?
    Thanks.
    Edited by: Rune Glerup on Oct 9, 2009 2:51 AM
    The forum did not display the link to "Developer's Guide" because the link contained the single quote char '. Single quote char removed.

    Is what you mention here the case in the Fusion Order Demo application?
    If the task flow call activities cannot be used as entry points, why is it stated in the documentation?
    How do we solve this, so that the task flow call activities (including parameter bindings) can be used as entry points, like the documentation suggests?

  • CreateInsert Not Working on Child Task Flow

    JDev version :: 11.1.2.3
    I have a parent Task Flow 'A1' which uses Data Control 'D1'
    Another Task Flow 'A2' which uses Data Control 'D2'
    I navigate from Task Flow A1 to A2 and does createInsert for a VO named 'X' and then Loads
    the page. The Page does not opens in a CreateInsert Mode.
    However If i run the Task flow A2 directly , it does open in CreateInsert Mode.
    Can anyone tell me what can be the issue ?
    Regards,
    Nikhil Misra

    Hi,
    from my understanding of your post which you have been made. i did that same it's working.
    with your requirement, i did that same.
    things which i used.
    1. one jspx page named simple.jspx.
    2. 3 Bounded TF named it as (common-taskflow,task-flow,task-flow1).
    3. 2 jsff(view,view1).
    4. one backing bean.
    5. two datacontrol
    here i posted the code.
    sample.jspx this will consume your common-taskflow as static region
    <?xml version='1.0' encoding='UTF-8'?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1"
              xmlns:f="http://java.sun.com/jsf/core"
              xmlns:h="http://java.sun.com/jsf/html"
              xmlns:af="http://xmlns.oracle.com/adf/faces/rich">
      <jsp:directive.page contentType="text/html;charset=UTF-8"/>
      <f:view>
        <af:document id="d1">
          <af:form id="f1">
            <af:region value="#{bindings.commontaskflowdefinition1.regionModel}"
                       id="r1"/>
          </af:form>
        </af:document>
      </f:view>
    </jsp:root>
    commontask-flow.xml code
    <?xml version="1.0" encoding="windows-1252" ?>
    <adfc-config xmlns="http://xmlns.oracle.com/adf/controller" version="1.2">
      <task-flow-definition id="commontask-flow-definition">
        <default-activity id="__1">task-flow-definition</default-activity>
        <task-flow-call id="task-flow-definition">
          <task-flow-reference>
            <document>/WEB-INF/task-flow-definition.xml</document>
            <id>task-flow-definition</id>
          </task-flow-reference>
        </task-flow-call>
        <task-flow-call id="task-flow-definition1">
          <task-flow-reference>
            <document>/WEB-INF/task-flow-definition1.xml</document>
            <id>task-flow-definition1</id>
          </task-flow-reference>
        </task-flow-call>
        <method-call id="CreateInsert">
          <method>#{bindings.CreateInsert.execute}</method>
          <outcome id="__2">
            <fixed-outcome>CreateInsert</fixed-outcome>
          </outcome>
        </method-call>
        <control-flow-rule id="__3">
          <from-activity-id id="__4">task-flow-definition</from-activity-id>
          <control-flow-case id="__6">
            <from-outcome id="__12">goto</from-outcome>
            <to-activity-id id="__5">CreateInsert</to-activity-id>
          </control-flow-case>
        </control-flow-rule>
        <control-flow-rule id="__7">
          <from-activity-id id="__8">CreateInsert</from-activity-id>
          <control-flow-case id="__10">
            <from-outcome id="__11">CreateInsert</from-outcome>
            <to-activity-id id="__9">task-flow-definition1</to-activity-id>
          </control-flow-case>
        </control-flow-rule>
        <use-page-fragments/>
      </task-flow-definition>
    </adfc-config>
    picture will be like this
    task-flow-definition(default activity) >> goto (control flow case) >> create insert method >> CreateInsert(control flow case) >> task-flow-definition1 .
    create insert for task-flow-defintion1(folds of view1.jsff. this view1.jsff folds of emp table). while invoking TF create insert works.
    task-flow-definition.xml
    <?xml version="1.0" encoding="windows-1252" ?>
    <adfc-config xmlns="http://xmlns.oracle.com/adf/controller" version="1.2">
      <task-flow-definition id="task-flow-definition">
        <default-activity id="__1">view</default-activity>
        <managed-bean id="__4">
          <managed-bean-name id="__2">MBean</managed-bean-name>
          <managed-bean-class id="__5">MBean</managed-bean-class>
          <managed-bean-scope id="__3">backingBean</managed-bean-scope>
        </managed-bean>
        <view id="view">
          <page>/view.jsff</page>
          <redirect/>
        </view>
        <task-flow-return id="goto">
          <outcome id="__10">
            <name>goto</name>
          </outcome>
        </task-flow-return>
        <control-flow-rule id="__11">
          <from-activity-id id="__12">view</from-activity-id>
          <control-flow-case id="__13">
            <to-activity-id id="__14">goto</to-activity-id>
          </control-flow-case>
        </control-flow-rule>
        <use-page-fragments/>
      </task-flow-definition>
    </adfc-config>
    picture will be like this
    view(default activity) >> *  (control flow case) >> task-flow-return(named it as goto).
    view.jsff code
    <?xml version='1.0' encoding='UTF-8'?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1"
              xmlns:af="http://xmlns.oracle.com/adf/faces/rich"
              xmlns:f="http://java.sun.com/jsf/core">
      <af:panelFormLayout id="pfl1">
        <af:inputText value="#{bindings.EmployeeId.inputValue}"
                      label="#{bindings.EmployeeId.hints.label}"
                      required="#{bindings.EmployeeId.hints.mandatory}"
                      columns="#{bindings.EmployeeId.hints.displayWidth}"
                      maximumLength="#{bindings.EmployeeId.hints.precision}"
                      shortDesc="#{bindings.EmployeeId.hints.tooltip}" id="it7">
          <f:validator binding="#{bindings.EmployeeId.validator}"/>
          <af:convertNumber groupingUsed="false"
                            pattern="#{bindings.EmployeeId.format}"/>
        </af:inputText>
        <af:inputText value="#{bindings.FirstName.inputValue}"
                      label="#{bindings.FirstName.hints.label}"
                      required="#{bindings.FirstName.hints.mandatory}"
                      columns="#{bindings.FirstName.hints.displayWidth}"
                      maximumLength="#{bindings.FirstName.hints.precision}"
                      shortDesc="#{bindings.FirstName.hints.tooltip}" id="it9">
          <f:validator binding="#{bindings.FirstName.validator}"/>
        </af:inputText>
        <af:inputText value="#{bindings.LastName.inputValue}"
                      label="#{bindings.LastName.hints.label}"
                      required="#{bindings.LastName.hints.mandatory}"
                      columns="#{bindings.LastName.hints.displayWidth}"
                      maximumLength="#{bindings.LastName.hints.precision}"
                      shortDesc="#{bindings.LastName.hints.tooltip}" id="it10">
          <f:validator binding="#{bindings.LastName.validator}"/>
        </af:inputText>
        <af:inputText value="#{bindings.Email.inputValue}"
                      label="#{bindings.Email.hints.label}"
                      required="#{bindings.Email.hints.mandatory}"
                      columns="#{bindings.Email.hints.displayWidth}"
                      maximumLength="#{bindings.Email.hints.precision}"
                      shortDesc="#{bindings.Email.hints.tooltip}" id="it2">
          <f:validator binding="#{bindings.Email.validator}"/>
        </af:inputText>
        <af:inputText value="#{bindings.PhoneNumber.inputValue}"
                      label="#{bindings.PhoneNumber.hints.label}"
                      required="#{bindings.PhoneNumber.hints.mandatory}"
                      columns="#{bindings.PhoneNumber.hints.displayWidth}"
                      maximumLength="#{bindings.PhoneNumber.hints.precision}"
                      shortDesc="#{bindings.PhoneNumber.hints.tooltip}" id="it5">
          <f:validator binding="#{bindings.PhoneNumber.validator}"/>
        </af:inputText>
        <af:inputDate value="#{bindings.HireDate.inputValue}"
                      label="#{bindings.HireDate.hints.label}"
                      required="#{bindings.HireDate.hints.mandatory}"
                      shortDesc="#{bindings.HireDate.hints.tooltip}" id="id1">
          <f:validator binding="#{bindings.HireDate.validator}"/>
          <af:convertDateTime pattern="#{bindings.HireDate.format}"/>
        </af:inputDate>
        <af:inputText value="#{bindings.JobId.inputValue}"
                      label="#{bindings.JobId.hints.label}"
                      required="#{bindings.JobId.hints.mandatory}"
                      columns="#{bindings.JobId.hints.displayWidth}"
                      maximumLength="#{bindings.JobId.hints.precision}"
                      shortDesc="#{bindings.JobId.hints.tooltip}" id="it4">
          <f:validator binding="#{bindings.JobId.validator}"/>
        </af:inputText>
        <af:inputText value="#{bindings.Salary.inputValue}"
                      label="#{bindings.Salary.hints.label}"
                      required="#{bindings.Salary.hints.mandatory}"
                      columns="#{bindings.Salary.hints.displayWidth}"
                      maximumLength="#{bindings.Salary.hints.precision}"
                      shortDesc="#{bindings.Salary.hints.tooltip}" id="it1">
          <f:validator binding="#{bindings.Salary.validator}"/>
          <af:convertNumber groupingUsed="false"
                            pattern="#{bindings.Salary.format}"/>
        </af:inputText>
        <af:inputText value="#{bindings.CommissionPct.inputValue}"
                      label="#{bindings.CommissionPct.hints.label}"
                      required="#{bindings.CommissionPct.hints.mandatory}"
                      columns="#{bindings.CommissionPct.hints.displayWidth}"
                      maximumLength="#{bindings.CommissionPct.hints.precision}"
                      shortDesc="#{bindings.CommissionPct.hints.tooltip}" id="it6">
          <f:validator binding="#{bindings.CommissionPct.validator}"/>
          <af:convertNumber groupingUsed="false"
                            pattern="#{bindings.CommissionPct.format}"/>
        </af:inputText>
        <af:inputText value="#{bindings.ManagerId.inputValue}"
                      label="#{bindings.ManagerId.hints.label}"
                      required="#{bindings.ManagerId.hints.mandatory}"
                      columns="#{bindings.ManagerId.hints.displayWidth}"
                      maximumLength="#{bindings.ManagerId.hints.precision}"
                      shortDesc="#{bindings.ManagerId.hints.tooltip}" id="it3">
          <f:validator binding="#{bindings.ManagerId.validator}"/>
          <af:convertNumber groupingUsed="false"
                            pattern="#{bindings.ManagerId.format}"/>
        </af:inputText>
        <af:inputText value="#{bindings.DepartmentId.inputValue}"
                      label="#{bindings.DepartmentId.hints.label}"
                      required="#{bindings.DepartmentId.hints.mandatory}"
                      columns="#{bindings.DepartmentId.hints.displayWidth}"
                      maximumLength="#{bindings.DepartmentId.hints.precision}"
                      shortDesc="#{bindings.DepartmentId.hints.tooltip}" id="it8">
          <f:validator binding="#{bindings.DepartmentId.validator}"/>
          <af:convertNumber groupingUsed="false"
                            pattern="#{bindings.DepartmentId.format}"/>
        </af:inputText>
        <f:facet name="footer">
          <af:panelGroupLayout layout="vertical" id="pgl2">
            <af:panelGroupLayout layout="horizontal" id="pgl1">
              <af:commandButton actionListener="#{bindings.First.execute}"
                                text="First" disabled="#{!bindings.First.enabled}"
                                partialSubmit="true" id="cb4"/>
              <af:commandButton actionListener="#{bindings.Previous.execute}"
                                text="Previous"
                                disabled="#{!bindings.Previous.enabled}"
                                partialSubmit="true" id="cb3"/>
              <af:commandButton actionListener="#{bindings.Next.execute}"
                                text="Next" disabled="#{!bindings.Next.enabled}"
                                partialSubmit="true" id="cb2"/>
              <af:commandButton actionListener="#{bindings.Last.execute}"
                                text="Last" disabled="#{!bindings.Last.enabled}"
                                partialSubmit="true" id="cb5"/>
            </af:panelGroupLayout>
            <af:commandButton text="Submit" id="cb1"/>
          </af:panelGroupLayout>
        </f:facet>
      </af:panelFormLayout>
      <af:commandButton text="go to another TF" id="cb6"
                        action="#{backingBeanScope.MBean.do_success}"/> // check here
      <!--oracle-jdev-comment:preferred-managed-bean-name:MBean-->
    </jsp:root>
    this view.jsff folds of employee table nothing with that button is the matter it will peform the navigation
    Bean code
    public class MBean {
        public MBean() {
        public String do_success() {
            // Add event code here...
            return "goto";
    task-flow-definition1.xml
    <?xml version="1.0" encoding="windows-1252" ?>
    <adfc-config xmlns="http://xmlns.oracle.com/adf/controller" version="1.2">
      <task-flow-definition id="task-flow-definition1">
        <default-activity id="__1">view1</default-activity>
        <view id="view1">
          <page>/view1.jsff</page>
        </view>
        <use-page-fragments/>
      </task-flow-definition>
    </adfc-config>
    view1.jsff code
    <?xml version='1.0' encoding='UTF-8'?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1"
              xmlns:af="http://xmlns.oracle.com/adf/faces/rich"
              xmlns:f="http://java.sun.com/jsf/core">
      <af:panelFormLayout id="pfl1">
        <af:inputText value="#{bindings.Empid.inputValue}"
                      label="#{bindings.Empid.hints.label}"
                      required="#{bindings.Empid.hints.mandatory}"
                      columns="#{bindings.Empid.hints.displayWidth}"
                      maximumLength="#{bindings.Empid.hints.precision}"
                      shortDesc="#{bindings.Empid.hints.tooltip}" id="it2">
          <f:validator binding="#{bindings.Empid.validator}"/>
          <af:convertNumber groupingUsed="false"
                            pattern="#{bindings.Empid.format}"/>
        </af:inputText>
        <af:inputText value="#{bindings.RowID.inputValue}"
                      label="#{bindings.RowID.hints.label}"
                      required="#{bindings.RowID.hints.mandatory}"
                      columns="#{bindings.RowID.hints.displayWidth}"
                      maximumLength="#{bindings.RowID.hints.precision}"
                      shortDesc="#{bindings.RowID.hints.tooltip}" id="it1">
          <f:validator binding="#{bindings.RowID.validator}"/>
        </af:inputText>
        <f:facet name="footer">
          <af:panelGroupLayout layout="vertical" id="pgl2">
            <af:panelGroupLayout layout="horizontal" id="pgl1">
              <af:commandButton actionListener="#{bindings.First.execute}"
                                text="First" disabled="#{!bindings.First.enabled}"
                                partialSubmit="true" id="cb1"/>
              <af:commandButton actionListener="#{bindings.Previous.execute}"
                                text="Previous"
                                disabled="#{!bindings.Previous.enabled}"
                                partialSubmit="true" id="cb5"/>
              <af:commandButton actionListener="#{bindings.Next.execute}"
                                text="Next" disabled="#{!bindings.Next.enabled}"
                                partialSubmit="true" id="cb3"/>
              <af:commandButton actionListener="#{bindings.Last.execute}"
                                text="Last" disabled="#{!bindings.Last.enabled}"
                                partialSubmit="true" id="cb2"/>
            </af:panelGroupLayout>
            <af:commandButton text="Submit" id="cb4"/>
          </af:panelGroupLayout>
        </f:facet>
      </af:panelFormLayout>
    </jsp:root>
    this  view1.jsff folds just emp table as af:form. nothing in this.
    logic flows into common taskflow.
    if i misunderstood your requirement please correct me.
    Thanks

  • 11.1.1.6 Task flow call activity is not working intermittently

    HI
    We have a use case where the first task flow has the af:query with table and when the user searches, we present the results in the table, and when he clicks on any row in the first column, we are using command link to navigate it to the child task flow in the first task flow.
    In local, it is working every time, where as in weblogic its failing some times and not showing any kind of errors in logs, and the page freezes and nothing works, even the search.
    If anyone of you find this behavior in your use cases, please share any solution or ideas.
    thanks,
    N

    Timo,
    We resolved the issue, by removing the panelCollection around the table, i don't know why it is behaving weirdly some times when there is a panelCollection around the table, for now we removed the panelCollection and have kept panelHeader above the table for some toolbar buttons.
    Thanks for your info.
    And I have another question, can you point me to any links or examples on how to setup log files for each application deployed in a managed server, currently all the applications deployed in a managed server are writing their log messages to the managed-server-name-diagonstic.log file under <domain-home>/servers/<managed-server>/logs.
    Now we need separate log files for each application in production.
    Thanks.

  • ER : 10338256 : AF:ACTIVEOUTPUTTEXT IN TASK-FLOW-CALL DOES NOT ACTIVELY CHA

    hi
    In the context of Re: Task Flow API for programmatically retrieving parameters? and "The official ADF EMG bug and ER thread", this forum thread is Re: Task Flow API for programmatically retrieving parameters? to get your vote or feedback on one specific ER:
    - 10338256, "AF:ACTIVEOUTPUTTEXT IN TASK-FLOW-CALL DOES NOT ACTIVELY CHANGE"
    Among other bugs, it was created in the context of forum thread "show server time on a page (automatically updating)" ...
    at show server time on a page (automatically updating)
    ... where part of the feedback from Oracle support (SR 3-2369020191) was
    "... we have the limitation in ADS today that we can't add an ADS component to a page through a PPR request. For example, a task-flow-call, or a simple button click with the attribute partialSubmit=true ..."
    (But, regardless the intent of this forum thread, feel free anytime to pursue other means to attract the attention of Oracle to a specific ER. Possibly by creating a service request referring to an ER, or by any other way you see fit.)
    many thanks
    Jan Vervecken

    +1

  • Task Flow Call - after-listener

    Hello,
    What is the method signature required to use before and after-listener on task flow calls?
    Thanks,
    ~ Simon

    Any public no argument method will do.
    -Marta

  • What is the use of Task Flow Call?

    Hi,
    Usually we can call bounded task flow from unbounded task flow.
    What is the use of Task flow call? How is it different from calling in normal way?
    Can anyone please explain me?
    Thank you,
    Srini

    By using Task flow call you can call Bounded task flow from Bounded or Unbounded Task Flow
    check this link http://download.oracle.com/docs/cd/E12839_01/web.1111/b31974/taskflows_activities.htm#CHDJDJEF

  • Dynamically Assign TaskFlowId to Task Flow Call Activity

    According to following blog post
    https://blogs.oracle.com/DavidGiammona/entry/dynamically_assign_task_flow_c]
    we can specify dynamic task flow id to a task flow call activity, but i am unable to specify it. It says we can specify in 11.1.2.2 but i am using a higher version which is 11.1.2.3. I didn't get any property for this task flow call activity.
    Please guide me how can i acheive this task in 11.1.2.3
    Thanks

    Hi,
    I tried 11.1.2.4 and I see the "Task Flow Reference" switch and the dynamic option. I can specify an EL expression - e.g. pointing to a managed bean property - to resolve the ID String. Use the arrow icon next to the ID field to access the EL builder
    Frank

  • Avoiding request scope bean clashes for task flow calls

    Hi,
    I have two task flows, Tf1 calls Tf2 using a task flow call activity. The structures of the task flows are as follows:
    Tf1
      Managed Bean: TfBean, request scope
        class Tf1Bean
          has property goTf2Button
      View: View1
        Button bound to #{TfBean.goTf2Button}
          Action -> task flow call to Tf2
    Tf2
      Managed Bean: TfBean, request scope
        class Tf2Bean
          has property testButton
      View: View2
        Button bound to #{TfBean.testButton}
    As you can see both have a request scope bean called TfBean but these are different classes in each. The bean classes have different properties for binding the components on the two pages.
    When I click the button in View1 to navigate I get an error telling me that class Tf1Bean does not have the property testButton. Clearly Tf2Bean is not being instantiated as TfBean already exists for the request.
    I'm guessing this is expected behaviour and it seems logical.
    My question however is what would be good standards or practices to avoid this?
    One way would be a naming convention, however what if I am consuming Tf2 from a library? In this case it would ideally work as a black box and I should not be concerned about it's implementation, specifically names chosen for internal managed beans. Even if it was not a problem initially, the developer of the task flow could add or change the name of a request scope bean introducing a conflict at a later stage.
    Thanks,
    Kevin

    Hi Frank,
    Good to meet you at UKOUG Tech13 yesterday. I changed my test case from request scope to backing bean scope. Unfortunately I still get the same error:
    <RichExceptionHandler> <_logUnhandledException> ADF_FACES-60098:Faces lifecycle receives unhandled exceptions in phase RENDER_RESPONSE 6
    javax.faces.FacesException: javax.el.PropertyNotFoundException: The class 'yyy.view.Tf1Bean' does not have the property 'testButton'.
      at com.sun.faces.application.ApplicationImpl.createComponentApplyAnnotations(ApplicationImpl.java:1900)
      at com.sun.faces.application.ApplicationImpl.createComponent(ApplicationImpl.java:446)
      at javax.faces.webapp.UIComponentELTag.createComponent(UIComponentELTag.java:222)
      at javax.faces.webapp.UIComponentClassicTagBase.createChild(UIComponentClassicTagBase.java:506)
      at javax.faces.webapp.UIComponentClassicTagBase.findComponent(UIComponentClassicTagBase.java:744)
      at javax.faces.webapp.UIComponentClassicTagBase.doStartTag(UIComponentClassicTagBase.java:1311)
      at org.apache.myfaces.trinidad.webapp.UIXComponentELTag.doStartTag(UIXComponentELTag.java:67)
      at oracle.adfinternal.view.faces.unified.taglib.nav.UnifiedCommandButtonTag.doStartTag(UnifiedCommandButtonTag.java:51)
    ...etc.
    What I think is happening, please correct me if I'm wrong...
    Running Tf1, page View1 is displayed.
    Clicking the button on View1 initiates a request and an instance of Tf1Bean is instantiated for the managed bean named TfBean.
    During the request navigation occurs to Tf2 and hence page View2.
    View2 needs a property in TfBean called testButton.
    There is already a managed bean instantiated for this request called TfBean, however this is of class Tf1Bean and does not have the property.
    I have a simple workspace showing this if you want me to send it to you. I am using 11.1.2.4 by the way.
    Thanks,
    Kevin

  • Human task flow call back events with external web service

    Hi All,
    I have a requirement to call webservice inside human task flow. I have three participant in my human task flow. Let suppose A, B and C. When A approves then task will be assigned to B and when B approves it will go for C.
    My requirement is that, when A approves , then i need to call one external webservice to update database. For this i have enabled call back events from human task flow.
    In this way i got while loop inside my BPEL. In onTaskAssigned operation i am now trying to call external web service. My requriment is to call external service and get data from service. After getting response from the webservice, i want to assign it to next participant.
    But in this case, when user B approves, it goes to onTaskAssigned block and i am able to make external web service also but mean time, it has been assigned to User C which i do not want.
    I want Human task flow to wait for the web service response then only assign it to next participant.
    Please help.
    Regards,
    Sunil

    Hi Sunil
    Have you tried using WebServices Adapter. The usecase seems pretty straight forward. You have a WebService that has some code and some Operations to update some Database. First thing, I hope you have methods/Operations defined with request and response xsd for each operation.
    Now you define the main master payload, that should have all elements specific to your process and also few elements to store the output coming from each operation. Because response of each operation may need to go to other Task and get saved in the Payload also.
    You have like 3 Tasks. To complicate, I will assume that each Task can either Approve or Reject. And last 2 Tasks gets data from payload, previous task and also output from the WebService Operation (method).
    Task A -> Xor Gateway (Approve/Reject) -> If Approve -> Call WebServices Adapter -> Task B -> Xor Gateway(...) -> ......
    At each intersection, you can map the attributes for incoming and outgoing. Based on WebServices output also, you can have Another XOR Gateway and decide to send to Task B or do something else. So combinations of outputs of each service (task or webservice adapter) and XOR gateways, you can have a decent control on the overall flow.
    Note: I am hoping the webservices is Synchronous where you get the response immediately.
    Let me know if I am missing something.
    Thanks
    Ravi Jegga

  • Resuming train flow from child task flow.

    Hi,
    I created a parent train taskflow with every activity as train stop. I made one of that activity as sub/child taskflow call. That child taskflow has a method call, one jspx view page and return call. I did setup of this task flow as specified in developer manual. Now there is a problem, when I run this train, I am unable to resume parent train activity from child taskflow. Even train navigation does not showed up on child view page. Train run fine till child taskflow and there is just got stuck. Non of the navigation panel showed up on that page and i am unable to navigate to either next or previous page of parent train.
    I am using ADF on Oracle Jdeveloper 11g 11.1.1.0.2. Any help in resolving this issue will be much appreciated.

    Hi,
    if you want to use JavaScript for this then the way it works is
    1. Expose a managed bean method that has access to the RichRegion region that holds the second task flow. On this reagion you call refresh() to refresh the region. The method in the managed bean has a signature of ClientEvent, e.g. refreshMyRegion2(ClientEvent clientEvent){ region2.refresh()}
    2. Add a serverListener (af:serverListener) to the page and use JavaScript to invoke it as explained in chapter 5 of the web application developer guide
    Frank

  • Unbounded task flow call from another ADF application

    Hi,
    I have two different ADF applications having unbounded taskFlow , and requirement is to call that task flow from another one with some parameters .
    how to do that , please .
    Regards,
    Parvez

    Thanks Ashish, I study these documents and  acknowledge.
    Parvez

  • 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 ?

Maybe you are looking for

  • How can we use IF ELSE  statement in Header Section

    Hi All I have requirement to display a bill address in header section based on a particular status ,would some body please share that is it possible to use if else in header section . Thanks in advance Thanks Pratap

  • How to install gnome-font-viewer?

    I can't find it in the repo's so what package do I need to install the gnome-font-viewer (btw, I'm using Xfce)? I was able to find an old version called "fontilus" on some forgotten FTP server, but that one conflicts with Nautilus o_O Last edited by

  • This is a minsweeper in java but......

    The programme runs(thank god) but if you try to be fast, the buttons doesn't correspond in time...like every button you press you have to wait 2 secs before pressing a button again. Why that happens?what's my code problem? Here is my code... //first

  • Create development instance by cloning from Production instance

    Hi, There is a requirement for us in Oracle E-Business Suite. Our client wants to create development instance by cloning from Production instance, at the same time they donot want live data. Can anyone suggest in this regard. i.e After cloning Dev In

  • Cannot Debug Iterator Class

    Hi, I am getting error "type of termination: RABAX_STATE " when running a BSP page with TableView Iterator I want to debug the iterator local class that I have created. However The control does not stop in the methods of this iterator class when I se