Retain value of component when navigate in Task Flow

Hi,
my english isn't very good
I use jdveloper 11.1.1.3.0
I define a bounded task flow and 3 view in this btf to show 3 page fragment. in each view I put 2 Input Text component.
the problem is when I navigate from one view to other view and back, the value of Input Texts is reset. Input Text doesn't bind to anything.
is any way to retain the value of Input Text and other components when navigate through views without any binding?
Habib

Alejandro T. Lanz wrote:
Hi,
One solution might be to store your values at pageFlowScope. By doing this your variables are going to be alive and with the same values as long as you are inside your bounded task flow. For example,
You can create your Java Bean and have something like:
String variable1;
String variable2;
String variable3;
String variable4;
setters and getters for those.
In your fragments the values of the inputText would be #{pageFlowScope.myBean.variable1.inputValue} and so on.
Since your bean is created once when your task flow is created (choose pageFlowScope) your variables will remain the same while your taskflow is alive.
hope this helpsIf his components are part of view objects, this shouldn't be necessary since a submit (the navigation buttons) would do the trick.

Similar Messages

  • How to share the same Database Connection when using several Task Flows ?

    Hi All,
    I’m using JDev 11.1.1.3.0.
    I’m developing ADF Fusion Applications (ABC BC, ADF Faces…)
    These applications are deployed on a Weblogic server.
    Each application has only one Application Module.
    All Application Modules have the same connection type defined: JDBC DataSource : jdbc/GCCDS
    It is working fine.
    I’ve also developed Task Flow Applications for small thinks that are reused in multiple main applications.
    Each Task Flow Application has also one Application Module with the same connections type as main applications.
    All these task flows are deployed to JAR file (ADF Library JAR File) and are reused on my main applications. (drag and drop from the Resource Palette to ADF Regions….).
    There are some parameters passed to Task Flows, so that they can filter data depending on which main applications they are called from.
    Everything is working perfectly.
    All my main applications are using more and more task flows. Which is nice for the reusability etc…?
    Only ONE PROBLEM: DATABASE CONNECTIONS.
    Every Task Flows service made a database connection. So one user may have 10 database connections for the same adf page. And when there are 100 users that are working at the same time, it becomes a problem.
    How to share the same database connections for the main applications and all task flows which are used in the main application?
    Best Regards
    Nicolas

    Hi John,
    When I open a ADF Library JAR file of one of my task flow. (gcc_tf_recentSites.jar)
    I can see TF_RecentSitesService.xml and TF_RecentSitesServiceImpl.class in gcc_tf_recentSites.jar\mu\gcc\tf\recentSites\model\service folder
    + bc4j.xcfg in gcc_tf_recentSites.jar\mu\gcc\tf\recentSites\model\service\common folder.
    bc4j.xcfg details are
    +<?xml version = '1.0' encoding = 'UTF-8'?>+
    +<BC4JConfig version="11.1" xmlns="http://xmlns.oracle.com/bc4j/configuration">+
    +<AppModuleConfigBag ApplicationName="mu.gcc.tf.recentSites.model.service.TF_RecentSitesService">+
    +<AppModuleConfig DeployPlatform="LOCAL" jbo.project="mu.gcc.tf.recentSites.model.TF_RecentSites_Model" name="TF_RecentSitesServiceLocal" ApplicationName="mu.gcc.tf.recentSites.model.service.TF_RecentSitesService">+
    +<Security AppModuleJndiName="mu.gcc.tf.recentSites.model.service.TF_RecentSitesService"/>+
    +<Custom JDBCDataSource="jdbc/GCCDS"/>+
    +</AppModuleConfig>+
    +<AppModuleConfig name="TF_RecentSitesServiceShared" ApplicationName="mu.gcc.tf.recentSites.model.service.TF_RecentSitesService" DeployPlatform="LOCAL" JDBCName="gccdev" jbo.project="mu.gcc.tf.recentSites.model.TF_RecentSites_Model">+
    +<AM-Pooling jbo.ampool.maxpoolsize="1" jbo.ampool.isuseexclusive="false"/>+
    +<Security AppModuleJndiName="mu.gcc.tf.recentSites.model.service.TF_RecentSitesService"/>+
    +</AppModuleConfig>+
    +</AppModuleConfigBag>+
    +</BC4JConfig>+
    So, it seems that the Application Module is packaged with the task flow....
    Is it normal ?
    Regards
    Nicolas

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

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

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

  • Need to stop playback of an FLVPlayback component when navigate away from page!

    I have an movieclip playing as auto start on the first page of my website.  The component continues to play when I navigate away from the page.  How can I stop the playback of the movie if it has not completed when navigation away from the page is invoked.  I have search and am unable to find such an event using an FLVPlayback component.  Presently there is no code in actionscript to display here.
    thanks

    Hi, this is the entire code that is placed on the timeline in frame 1 of the AS line.  There is now an error and the FLVPlayer component, which is also begin in frame 1. At this point there is one method that I thought should work when the vTinesDayBtn is clicked.  However, is not.
    The error is:
    TypeError: Error #1009: Cannot access a property or method of a null object reference.
    at ewddSite_fla::MainTimeline/vTines()
    ArgumentError: Error #1063: Argument count mismatch on ewddSite_fla::MainTimeline/stoppedVid(). Expected 0, got 1.
    The code is:
    stop();
    import flash.events.*;
    import flash.display.*;
    import fl.video.*;
    import fl.video.FLVPlayback;
    function stoppedVid() {
      vidPlay.stop();
    vTinesDayBtn.addEventListener(MouseEvent.CLICK, stoppedVid)
    function vTines(evt:MouseEvent):void {
    gotoAndStop(20);
    vidPlay.stop();
    function engagements(evt:MouseEvent):void {
    gotoAndStop(25);
    function weddings(evt:MouseEvent):void {
    gotoAndStop(30);
    function births(evt:MouseEvent):void {
    gotoAndStop(35);
    function birthdays(evt:MouseEvent):void {
    gotoAndStop(40);
    function graduations(evt:MouseEvent):void {
    gotoAndStop(45);
    function anniversaries(evt:MouseEvent):void {
    gotoAndStop(50);
    function specEvents(evt:MouseEvent):void {
    gotoAndStop(55);
    function memorials(evt:MouseEvent):void {
    gotoAndStop(60);
    //main.addEventListener(MouseEvent.MOUSE_DOWN, mainPg);
    vTinesDayBtn.addEventListener(MouseEvent.MOUSE_DOWN, vTines);
    engageBtn.addEventListener(MouseEvent.MOUSE_DOWN, engagements);
    weddingsBtn.addEventListener(MouseEvent.MOUSE_DOWN, weddings);
    birthsBtn.addEventListener(MouseEvent.MOUSE_DOWN, births);
    bDaysBtn.addEventListener(MouseEvent.MOUSE_DOWN, birthdays);
    graduBtn.addEventListener(MouseEvent.MOUSE_DOWN, graduations);
    annivBtn.addEventListener(MouseEvent.MOUSE_DOWN, anniversaries);
    spEventsBtn.addEventListener(MouseEvent.MOUSE_DOWN, specEvents);
    memorialsBtn.addEventListener(MouseEvent.MOUSE_DOWN, memorials);

  • Any example for (bounded task flow) popup return value

    I need to know what is the type of popup RETURN VALUE
    any example will be great

    I want to get parameter form popup bounded task flow with NO page fragment (task flow 1) to jsff page from another task flow with page fragment(task flow 2)
    I applied the scenario exist in URL's in first replay and it didn't work
    when I select task flow 1 from inside task flow 2 diagram I found in its inspector page filed called "Dialog Return Value"
    how can I use this field

  • How to make bean for embedded task flow stay in scope when calling TF?

    I have a bounded task flow with page fragments: ManageRecommendationRuleTF.xml that defines a single managed bean with pageFlowScope: ManageRecommendationRuleBean.java
    This task flow has one page ManageRecommendationRule.jsff that embeds two other bounded task flows as regions: ManageRuleTF.xml and ManageRuleConditionsTF.xml
    Each of these task flows defines a single manage bean with pageFlowScope: ManageRuleBean.java and ManageRuleConditionsBean.java
    From the ManageRecommendationRuleTF I call a bounded task flow: SelectTargetProductsTF.xml. When this task flow returns, the ManageRuleBean.java and ManageRuleConditionsBean.java are re-created. Why? I want the state of the beans before the SelectTargetProductTF is called. I do not want to resort to making this a session bean.
    Build JDEVADF_11.1.1.5.0_GENERIC_110409.0025.6013

    Hi,
    the calling task flow is stacked when calling another task flow (using task flow call activity). When the called task flow is returning to the caller then the expected behavior is that the caller task flow is re-established. If this is not what you see, please provide a test case and file a Service Request with support to investigate why this is not working for you. You could e.g. add log messages to the task flow finalizers to see if when navigating off to the called task flow the two region task flows are finalized. If the regions are dynamic regions with the bean in view scope, try and change this to pageFlowScope
    Frank

  • Task Flow Run as Dialog problem - Jdev 11.1.2.4.

    We're using Jdeveloper and ADF 11.1.2.4 and have problems running task flow as dialogs(inline popup) but just on Internet Explorer(ver 8,9,10). First time when we call task flow it opens popup but dispaly error Page not found. But task flow is regulary displayed at second call, and evry other call(click on a button). And on all other browsers (Chrome, FireFox) is working normally, aswell as on 11.1.2.1 version.
    I assume that problem is that for the first time BTF is not activated, but have no idea how to solve it.
    I have found at Known Issues for 11.1.2.4 version that:
    Popup components with the childCreation attribute set to "deferred" often render blank with the first invocation. This issue arises if you use the popup component with a region and use the setPropertyListener tag to establish the activation of the region. The setPropertyListener tag with a popupFetch type will not be invoked for the initial fetch establishing the initial content delivery. This is because the markup that defines the setPropertyListener tag is defined within the popup's body. With the option to defer creating the children, the body is not processed until the first fetch for content. The popup fetch event listener (setPropertyListener) is processed in the Apply Request Values phase prior to when it is created in the Render Response phase. The workaround is to use the "popupFetchListener" method expression (PopupFetchEvent server-side event) to establish state that would have been established using the setPropertyListener.
    But still have no idea how it is connected to Run As Dialog feature of Task Flows.
    Please, help us to solve this beacuse our users mostly use IE.
    Thank you,
    Patrik

    No, there is no workaround for this.  You can open a SR and let Oracle work on this. We can't do anything about it.
    Why can't you install jdk 1.6?
    You can have more then one jdk installed on your pc.
    You can use in jdk which comes with the installation package,
    Timo

  • 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

  • Redirect from task-flow to an external link

    Hi,
    From a bounded task-flow I have to use an ePayment virtual system. I have some parameters to fill and call an external link. One of those parameters is the ReturnURL when the payment system will return after finishing the Credit Card payment.
    I am confuse about what to give to ReturnURL variable if the call is from a task-flow. Note that I need the return to be in a specific View inside the task-flow to let me modify/add some value to the DataBase.
    getHeader did not work because it gives the following:
    request.getHeader("Referer");
    http://localhost:7101/TasdeeqApp/faces/member-task-flow/certifyDocument?_adf.ctrl-state=12oyjcx0ho_27
    Any idea about how to develop this type of external payment server using ADF-faces?
    Task-Flow------->https://XXXX---->Back to a specific View inside the Task-Flow
    Thank you
    Jamil
    Edited by: Jamil Nour on Sep 20, 2010 6:47 AM

    Hi Jamil,
    First of all in your case as you want to return to the page in ADF from the epayment, you must to use the UN-bounded task flow with a page that has bookmark flag==true in order to be able to return to that page in your UN-bounded task flow.
    But if you are insist to use the bounded task flow when creating that task flow in the create page un-check the property use-page-fragment.
    then, drag a page ->.jsp not .jsff on that bounded task flow and when you run that page from bounded task flow you will see the address.
    use that address for the return-path.
    http://127.0.0.1:7101/test-forum-ViewController-context-root/faces/adf.task-flow;jsessionid=vGtgMYGSnFdyv1LQXhJ1yQ69MWT26ppvVJQdZTRyzKStrs5L2kHq!-448081696?adf.tfId=*task-flow-definition1*&adf.tfDoc=*/WEB-INF/task-flow-definition1.xml*&_afrLoop=1003390740777&_afrWindowMode=0&_afrWindowId=null
    those with bold is what the parameter must be included when you just right-click on the page on the bounded task flow and run it you will see the URL. just use that URL.
    But if you want to use page fragment to be included in the popup in the page it is not possible to return to them.
    to complicate the situation I have to add another problem that when you want to return to a page in the bounded task flow that page must be only the Entry point (the page with a green hollow around it) if you want to return to a page in the middle of the Task Flow you must use a router in the First Entry and that router base on some parameter from Request decide that go to which page.
    if you think this senario complecated just drop me an email and I will create a test case for you.
    another issue to consider is the property of adf.ctrl-state=16d41j3t8n4* generally when you want to return to an ADF application if you do not specify the exact adf.ctrl parameter to the URL when you want to return to ADF you will face some problem, to clarify the issue when you login to a ADF applicaiton a adf.ctrl parameter is generated that hold the user specific parameter when you leave ADF and want to return to ADF again, as you not login again(create fresh session), you want to continue your last session, you must return to ADF application with same value for ADFctrl.
    I hope this issues give you the idea. ;)

  • Af:query prefill search fields on task flow enter

    Hello.
    What is given:
    Bounded task flow A with shared data control scope. Task flow contains one page fragment with two components: <af:query> and <af:table>. Table takes data from read only view object B. <af:query> is bound to search criteria within B. Also there are several bind variables in B which are used in criteria.
    Task flow A is used from other task flow via <af:region>.
    What is needed:
    When entering bounded task flow first time - show user empty search form and empty table.
    When entering bounded task flow next time and user performed no search yet (just left task flow without hitting Search first time) - show user empty search form and empty table.
    When entering bounded task flow next time and user performed some search - fill search form with latest entered values, show data in table that corresponds to search values.
    What is the best/recommended approach for implementation of such functionality?
    While debugging I can see on bounded task flow entry VO B contains latest bind variables from previous execution. But somehow they are not reflected in search form and are not applied when using Query Automatically View Criteria hint.
    I am using JDeveloper 11.1.1.5

    Hello Frank.
    Thread you mentioned contains relevant info.
    Thank you for help and quick response.
    One difference I faced with thread's code is that I could not get view criteria using JUSearchBindingCustomizer.getViewCriteria. This method always returned instance of criteria without criteria rows at all. Thus saveState() was not working.
    Instead, ViewObject.getViewCriteria("criteriaName") worked for me. Returned criteria in this case contained needed current row and filled criteria row attributes.

  • 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

  • The subtle use of task flow "No Controller Transaction" behavior

    I'm trying to tease out some subtle points about the Task Flow transactional behavior option "<No Controller Transaction>".
    OTN members familiar with task flows in JDev 11g and on wards would know that task flows support options for transactions and data control scope. Some scenarios based on these options:
    a) When we pick options such as "Use Existing Transaction" and shared data control scope, the called Bounded Task Flow (BTF) will join the Data Control Frame of its caller. A commit by the child does essentially nothing, a rollback of the child rolls any data changes back to when the child BTF was called (i.e. an implicit save point), while a commit of the parent commits any changes in both the child and parent, and a rollback of a parent loses changes to the child and parent.
    A key point to realize about this scenario is the shared data control scope gives both the caller and called BTF the possibility to share a db connection from the connection pool. However this is dependent on the configuration of the underlying services layer. If ADF BC Application Modules (AMs) are used, and they use separate JNDI datasources this wont happen.
    b) When we pick options such as "Always Begin New Transaction" and isolated data control scope, the called BTF essentially has its own Data Control Frame separate to that of the caller. A commit or rollback in either the parent/caller or child/called BTF are essentially isolated, or in other words separate transactions.
    Similar to the last point but the exact opposite, regardless how the underlying business services are configured, even if ADF BC AMs are used with the same JNDI data source, essentially separate database connections will be taken out assisting the isolated transactional behavior with the database.
    This brings me back to my question, of the subtle behavior of the <No Controller Transaction> option. Section 16.4.1 of the Fusion Guide (http://download.oracle.com/docs/cd/E17904_01/web.1111/b31974/taskflows_parameters.htm#CIHIDJBJ) says that when this option is set that "A new data control frame is created without an open transaction." So you could argue this mode is the same as isolated data control scope, and by implication, separate connections will be taken out by the caller/called BTF. Is this correct?
    Doesn't this in turn have implications about database read consistency? If we have one BTF participating in a transaction with the database, reading then writing data, and a separate BTF with the <No Controller Transaction> option set, it's possible it wont see the data of the first BTF unless committed before the No Controller Transaction BTF is called and queries it's own dataset correct?
    An alternative question which takes a different point of view, is why would you ever want this option, don't the other options cover all the scenarios you could possibly want to use a BTF?
    Finally as a separate question based around the same option, presumably an attempt to commit/rollback the Data Control Frame of the associated No Controller Transaction BTF will fail. However what happens if the said BTF attempts to call the Data Control's (not the Data Control Frame's) commit & rollback options? Presumably this will succeed?
    Your thoughts and assistance appreciated.
    Regards,
    CM.

    For other readers this reply is a continuation of this thread and another thread: Re: Clarification?: Frank & Lynn's book - task flow "shared" data control scope
    Hi Frank
    Thanks for your reply. Okay I get the idea that were setting the ADFc options here, that can be overridden by the implementation of data control, and in my specific case that's the ADF BC AM implementation. I've always known that, but the issue became complicated because it didn't make sense what "No Controller Transaction" actually did and when you should use it, and in turn data control frames and their implementation aren't well documented.
    I think a key point from your summation is that "No Controller Transaction" in context of ADF BC, with either data control scope option selected, is effectively (as far as we can tell) already covered by the other options. So if our understanding is correct, the recommendation for ADF BC programmers is I think, don't use this option as future programmers/maintainers wont understand the subtlety.
    However as you say for users of other data controls, such as those using web services, then it makes sense and possibly should be the only option?
    Also regarding your code harvest pg 14 entry on task flow transactions: http://www.oracle.com/technetwork/developer-tools/adf/learnmore/march2011-otn-harvest-351896.pdf
    ....and the following quote in context of setting the transaction option to Begin New Transaction:
    >
    When a bounded task flow creates a new transaction, does it also mean it creates a new database connection? No.
    >
    ....I think you need to be a little more careful in this answer, as again it depends on the underlying data control implementation as you point out in this thread. In considering ADF BC, this is correct if you assume only one root AM. However if the BTFs have separate root AMs, this should result in 2 connections and transactions..... well at least I assume it does, though I wonder what will happen if both AMs share the same JNDI data source.... is the framework smart enough to join the connections/transactions in this case?
    Also in one of your other code harvests (apologies I can't find which one at the moment) you point out sharing data control scopes is only possible if the BTF data controls have the same name. In context of an ADF BC application, with only one root AM used by multiple BTFs, this of course would be the case. Yet, the obvious implication to your summary of transaction outcomes in this thread, if the developers for whatever reason change the DC name across DataBindings.cpx files sourced from ADF Libraries containing the BTFs, then no, it wont.
    Overall the number of variables in this gets really complicated, creating multiple dimensions to the matrix.
    Going to your last point, how can the documentation be improved? I think as you say the documentation is right in context of the options for ADFc, but, as the same documentation is included in the Fusion Dev Guide which assumes ADF BC is being used, then it isn't clear enough and can be misleading. It would seem to me, that depending on the underlying data control technology used, then there needs to be documentation that talks about the effect of ADFc task flow behavior options in the context of each technology. And God knows how you describe a scenario where BTFs use DCs that span technologies.
    From context of ADF BC, one thing that I've found hard in analyzing all of this is there doesn't seem to be an easy way from the middletier to check how many connections are being taken out from a data source. The FMW Control unfortunately when sampling db connections taken out from a JNDI data source pool, doesn't sample quickly enough to see how many were consumed. Are you aware of some easy method to check the number of the db connections opened/closed?
    Finally in considering an Unbounded Task Flow as separate to BTFs, do you have any conclusions about how it participates in the transactions? From what I can determine the UTF lies in it's own data control frame, and is effectively isolated from the BTF transactions, unless, the BTF calls commit/rollback at the ADF BC data control level (as separate to commit/rollback at the data control frame level), and the data control is used both by the UTF and BTF.
    As always thanks for your time and assistance.
    CM.

  • How to use a managed bean in a bounded task flow without definig it in adfc-config

    Dear all
    I create a bounded task flow without page fragments (the pages are jspx), i created a jspx page with a button that its action has bounded to a managed bean function.
    i defined the managed bean on the corresponding bounded task flow, but it does not work.
    But there is no problem when i define the managed bean in adfc-config.xml.
    can anybody help me with this problem.
    is it possible to use jspx page with backing bean in bounded task flows, without defining the beans on adfc-config?
    Thank you very much

    Dear Timo
    I use jDev 11.1.1.6 and the scope is Request.Although when i use task flow page fragment and create jsff pages, there is no problem.

  • How to return the name (or ID) of the Task FLow in Script

    Sitaution; two task flows created which can be accessed via Tools > TaskFlows within FDQM
    Task Flow "1.1 Multi Load - Import" --> Should run Batch Process Up to Import (enmBatchProcessLevel: 2)
    Task Flow "2.1 Multi Load - Import Up To Validate" --> Should run Batch Process Up to Validate (enmBatchProcessLevel: 4)
    I have developed one generic script which I would like to use for each task flow.
    Only the enmBatchProcessLevel differs between the task flows and therefore I would like to parse this enmBatchProcessLevel as a parameter my generic script.
    To be able to do this, the script needs to know on which task flow a user has clicked. So, I am looking for a function or statement which returns the name (or ID) of the task flow. Based on this name (or ID) a conditional statement can be performed in which a variable is dynamically filled. This variable can then be parsed as a parameter to my generic script.
    For instance:
    Sub GenericRoutine
         Dim strTaskFlow
         Dim intBatchProcessLevel
         '--Get the Task Flow Name
         strTaskFlow = ......<How to return the TaskFlow name or ID?>
         '--Validate the task flow and fill variable intBatchProcessLevel dynamically
         Select Case strTaskFlow
              Case "1.1 Multi Load - Import"
                   intBatchProcessLevel = 2
              Case "2.1 Multi Load - Import Up To Validate"
                   intBatchProcessLevel = 4
         End Select
         '--Execute generic script
         '--Call Batch script and parse intBatchProcessLevel as a parameter:
         Call sBatchProcess(intBatchProcessLevel)
         '--Execute generic script
    End Sub
    Sub sBatchProcess(Byval intBatchProcessLevel)
         Dim lngProcessLevel
         Dim strDelimiter
         Dim blnAutoMapCorrect
         '--Use intBatchProcessLevel to fill lngProcessLevel
         lngProcessLevel = intBatchProcessLevel
         strDelimiter = "_"
         blnAutoMapCorrect = 0
         Set BATCHENG.PcolFiles = BATCHENG.fFileCollectionCreate(CStr(strDelimiter))
         BATCHENG.mFileCollectionProcess BATCHENG.PcolFiles, CLng(lngProcessLevel), , CBool(blnAutoMapCorrect)
    End Sub
    Edited by: user13642656 on Jul 21, 2011 4:55 AM

    Hi, thanks for your reply.
    The Generic script contains 600+ records, which I would like to maintain once, when having multiple Task Flows for Import, UpToValidate, ValidateOnly, UpToExport, ExportOnly etc.
    Is there a central storage in FDQM workbench for script, like a "Module" in Excel VisualBasic environment? Thanks!

  • Task flow return-Current Record pointing issue.

    Hi friends
    Newbie in ADF (basically from .net back ground)...........I am in the process of developing my first module.
    I have a task flow where a master detail records are displayed ..When I click "Edit" it is calling a edit task flow where the editing of master/detail tables are performed .When I click "New" a blank record is created and it is calling same edit task flow.
    my problem is when the child task flow exits and returns to the parent it is not pointing to the current record I edited...This is true if return either by commit or cancel.
    My data control is shared , parent task flow does not have any transaction and child always starts a new transaction.
    What is the ideal solution to point to the current record when I return?.
    Thanks .
    Ashraf

    Below is updated bean code
    ViewObject VO;
    FacesContext fctx = FacesContext.getCurrentInstance();
    DCBindingContainer bindings = (DCBindingContainer)BindingContext.getCurrent().getCurrentBindingsEntry();
    DCIteratorBinding iter = bindings.findIteratorBinding("Delmast1Iterator");
    VO = iter.getViewObject();
    Key currKey = iter.getCurrentRow().getKey();
    Row[] rows = VO.findByKey(currKey, 1);
    if (rows.length == 1) {
    System.out.println("row found");
    VO.setCurrentRow(rows[0]);
    iter.executeQuery();
    iter.setCurrentRowWithKey(currKey.toStringFormat(true));
    iter.setCurrentRowWithKeyValue(iter.getCurrentRow().getAttribute("SaleId").toString());
    If my child task flow does not have a commit or rollback the above code works fine...But I am beginning a transaction in my child flow(edit flow) so it is a must to have commit/rollback.
    Is there any other options experts ?..Please guide me.
    Thax.

Maybe you are looking for

  • Keyboard mess

    Hey all... I have some problems with my MBP mid2010 keyboard and trackpad... The problem is that my keys on keyboard suddenly stopped working, and when I am trying to press some keys the weird annoying noise come out. Almost non of keys are working e

  • Error while creating storage bin structure.....

    Hi, When I try to create bin structure for newly created warehouse and storage type, the systerm is giving the error message as below, "*Entry WH1 ST1 001 does not exist in T302 (check entry)" Can anyone tell what is the issue and how to solve? Thank

  • Does the Modulation Toolkit support digitizers NI-PXI-5124 and NI-PCMCIA-5102?

    I am using a demonstration NI-PXI unit to determine if it will support the application I am trying to develop. I need to demodulate a signal and determine the Quasi-peak value of the demodulated signal. The Modulation Toolkit states that it works wit

  • Split screen becoming unstable? (iMovie 11)

    Hello. I am having a problem with a split screen movie that I don't understand. I have two film clips of me drumming that were recorded on two camcorders simultaneously. I have imported them into iMovie 11, and used the split screen function to creat

  • AD-hoc approver n step item level shopping cart workflow

    Hi We are on latest version of SRM and using n step item level SC approval workflow. The scenario goes like this: -     Requester creates shopping cart and workflow goes for two step approval. -     In the approval preview the requester is able to se