Programmitically call a task flow commit

I'd like to execute a task flow commit from a method inside an application module impl class.
How can I get a handle on a task flow and invoke the commit in my code?
Any insight appreciated.

Thanks for the help.
Where can I find API docs that include this DataControlFrame?
Long story short, I am trying to do this:
DataControlFrame dcf = bc.getCurrentDataControlFrame();
and the compiler is complaining that getCurrentDataControlFrame returns a string and not a
DataControlFrame. Where can I pass that string returned by getCurrentDataControlFrame to get a handle on the DataControlFrame itself?

Similar Messages

  • Can we call a task-flow from a bean in adf?

    Sir,
    Can we call a task-flow from a bean in adf?
    Regards

    you can do this using taskflow call activity
    check - Oracle ADF World: ADF Task Flow Call Activities
    http://docs.oracle.com/cd/E24382_01/web.1112/e16182/taskflows_activities.htm#ADFFD21945
    you can pass input parameter map and dynamic taskflow reference from managed bean
    check -https://blogs.oracle.com/DavidGiammona/entry/dynamically_assign_task_flow_c
    Or if you want to use dynamic region to swich between taskflows
    see- Zeeshan Baig's Blog: Working with Dynamic Regions in Oracle ADF
    Ashish

  • Call bounded task flow from managed bean

    Hi experts,
    can we call a bounded task flow from a managed bean?
    if yes , please explain.....
    Thankz in advance
    PMS

    Hi john,
    Thankz for ur reply........sorry if im asking stupid questions.
    this is my tree selection handler
    public void treeSelectionHandler(SelectionEvent selectionEvent) {
    RichTree tree1 = (RichTree) selectionEvent.getSource();
    RowKeySet rks2 = selectionEvent.getAddedSet();
    Iterator rksIterator = rks2.iterator();
    if (rksIterator.hasNext())
    List key = (List)rksIterator.next();
    JUCtrlHierBinding treeBinding = null;
    treeBinding = (JUCtrlHierBinding) ((CollectionModel)tree1.getValue()).getWrappedData();
    JUCtrlHierNodeBinding nodeBinding = nodeBinding = treeBinding.findNodeByKeyPath(key);
    DCIteratorBinding _treeIteratorBinding = null;
    _treeIteratorBinding = treeBinding.getDCIteratorBinding();
    JUIteratorBinding iterator = nodeBinding.getIteratorBinding();
    String keyStr = nodeBinding.getRowKey().toStringFormat(true);
    iterator.setCurrentRowWithKey(keyStr);
    JUCtrlHierTypeBinding typeBinding = nodeBinding.getHierTypeBinding();
    String targetIteratorSpelString = typeBinding.getTargetIterator();
    if (targetIteratorSpelString.equals("${bindings.Iascat1View1Iterator}"))
    System.out.println("Tree Selected*************"+targetIteratorSpelString);*
    else
    if(targetIteratorSpelString.equals("${bindings.Iascat2View1Iterator}"))
    *System.out.println("Tree Selected**************"+targetIteratorSpelString);*
    else
    *System.out.println("Tree Selected**************"+targetIteratorSpelString);*
    I hav bounded task flow for each iterator for creating new record......i hav to replace code for calling bounded task flow instead of printing statement
    PMS

  • Is it possible to call a task flow present in 1 ADF Mobile Application to another ADF Mobile Application?

    In ADF Mobile, I want to call a task flow present in application1 to a different application2 on click of a button. Is it possible?

    Hi,
    This is my code to call the package.
    String amDef = "model.service.DAFService";
    String config = "DAFServiceLocal";
    ApplicationModule am =
    Configuration.createRootApplicationModule(amDef, config);
         CallableStatement cstmt = null;
         String stmt = "begin call CP_DAF_PKG.DAF_PROCESS(?,?,?,?,?,?,?,?,?); end; ";
         cstmt = getDBTransaction().createCallableStatement(stmt,0);
    But in this case, I am getting
    oracle.jbo.InvalidOwnerException: JBO-25301: Application module is not a root app module but has no parent
    I understand the reason for this error. I need to call the
    createcallableStatement from the application module that I have above.
    Something like am. (call the package)
    But not sure about any method which does that..
    Please let me know if you know the way to solve it.
    Thanks,
    Venki

  • Calling bounded task flows imported as ADF libraries

    Hello,
    I have a main application referencing many bounded task flows included in ADF libraries.
    Is there a way to make the application not throwing exceptions if one of these libraries including the called task flow is not found?
    The first question is how to catch the exception "Caused by: oracle.adf.controller.ControllerException: ADFC-02001"
    The second problem is that once an exception is thrown , the only way to make the application work again with that task flow is to redeploy the whole application with the missing library in the proper place.
    It seems it is not possible to just add the library at run-time.
    Redoplying an application also seems to invalidate all the current open sessions.
    Could you give me suggestions or best practice on making the main application more indipendent from the libraries?
    Thanks.

    Hello Frank,
    It seems there's no way to catch the exception thrown when dinamically calling a bounded task flow in a (missing) library. In facts, I added the single page of the main application as default exception handler activity. I also tried to catch ALL exceptions in the Launcher class below, but I had no luck at all. Task flows are called dinamically from this common piece of code (appropriate for the UI Shell template):
    try {
    if (newTab) {
    TabContext.getCurrentInstance().addTab(title, taskflowId);
    } else {
    TabContext.getCurrentInstance().addOrSelectTab(title,
    taskflowId);
    } catch (TabContext.TabOverflowException toe) {
    toe.handleDefault();
    } catch (ControllerException ce) {
    System.out.println("The flow arrives here " + title + ": " + taskflowId);
    } catch (RuntimeException re) {
    System.out.println("The flow arrives here " + title + ": " + taskflowId);
    } catch (Exception e) {
    System.out.println("The flow arrives here " + title + ": " + taskflowId);
    I also tried to call the task flow in a remote application, but TabContext.getCurrentInstance().addTab(title, taskflowId) expects the taskflowid to be part of the main application, not of the remote app, since addTab() always add a "/" before the taskflowid String passes as parameter.
    So again my question: is there a way to profit by the dynamic features coming along with the UI Shell template, where task flows can be really referenced and called each time at run-time, no matter if libraries containing these task flows are present or not when deploying the caller application?
    I also repeat that from the tests I have done it looks like I can deploy the caller application without the referenced ADF libraries in their place (containing taskflows that should be called at run-time on user actions), but the problem in this case is that after that moment there's no way to fix the problem by just adding the missing library, that is you cannot place the library where it is expected to be and expect the caller to work after next call; this will just not work until next deploy of the calling application when libraries are in place . We also don't want completely separate web applications. We need task flows integration with the chance to modify and deploy these taskflows as ADF libraries at run time, separately from the caller of the taskflow, without needing to restart/deploy the caller application everytime a libraries changes or a missing library is added.

  • Call bounded task flow

    hello,
    how can unbounded task flow call bounded task flow.
    thank you.

    Hi,
    Not exactly sure what you want to achieve, other than the obvious.
    So, here are some links that might help you;
    http://www.oracle.com/technetwork/developer-tools/jdev/adf-task-flow-design-132904.pdf
    http://docs.oracle.com/cd/E15586_01/web.1111/b31974/taskflows.htm
    Regards,
    Dimitris.

  • Can we call two task flow from another task flow

    Hi everyone,
    i have a issue. I have a tab(p1),under that tab i have created two tab(p1 and p2).i have to create task flow for p1 and p2 .In both ,p1 and p2, i am doing some operations. then i have to call both the task flow under another task flow(p1).what should be the steps i have to take to do that.
    My version is 11.1.1.6
    please respond as soon as possible.
    Thanks in advance....

    hi
    sorry to say this
    i have not much time to play 20-20 chat. please elaborate you usecase. you can get you answer within a post
    but we will use router when we have some condition.if you are using router. you should use some "condition" what is that?
    but in both the child tab,i just have to fill the form.ok. i hope that you are using af:table in parent TF. in child tab you are using af:form
    before commiting or at the time if commiting you should get the data's in af:form. if am right means you should have association/viewlink between those eo's/vo's
    if you have means while commiting the parent table iterate over the rows show in child tab - af:form
    it will show the both the child panel.go to panettab render poerpty rendered say as condition {yourparenttableiteratoecount ge 0 ? true : false}
    or else as you said, make router condition {yourparenttableiteratoecount ge 0} show the child TF.
    from the answer you may understood.(just a hope)

  • How to call the task flow  one region from another region?

    I have page with 3 regions (column wise) named as start, center, end.
    currently I having task flow for middle(i.e, center) region which have panelCollection to perform view, create, & delete functions.
    Task flow:-
    From(action)To
    View(create)Create
    Create(Done)Execute (Execute is a method call)
    Execute(*)View
    View(self)Execute
    By press create button on Center page, task flow takes to the Create page(in Centre region) but all other regions(start, end) remains same.
    I have a usecase where we have a commandLink on Start region to show the View page on Center region. but it is not able to achieve when we move to Create/Edit page.
    Plz help me out to built the same.
    Thanq
    KSB
    Edited by: user641407 on Aug 28, 2008 2:22 PM
    Edited by: user641407 on Aug 28, 2008 2:23 PM

    Hi!
    First, I'm not sure that your page layout is adequate. The regions are not intended to be navigated from outside. Yet, they can send navigation action to the container (page on which the region is placed) through Parent Action taskflow element. Also, you can investigate Contextual Events that can be raised by region, but I'm also not sure that this can be easily used for cross-region navigation.
    I would suggest you to reconsider you page layout. You can use dynamic regions (which are populated by taskflow based on menu selection or click on actionLink or s button). This way, in the Start facet you place a navigation menu (links), which are connected with dynamic region in Center. If you want to reuse a navigation links (in Start), you can put all this in page template and reuse it over and over again.
    Regards,
    PaKo

  • BackingBean Method call from Task flow isnot getting  the Binding Container

    Hi All,
    I am trying to call a backing bean method from a task flow using method call activity, where my page belongs to.
    In this method I am trying to get the binding container,
          DCBindingContainer dcbindings = (DCBindingContainer)BindingContext.getCurrent().getCurrentBindingsEntry();
          OperationBinding operationCreate = dcbindings.getOperationBinding("CreateInsert"); but it is evaluating to null and throwing null pointer exception.
    javax.el.ELException: java.lang.NullPointerException
         at com.sun.el.parser.AstValue.invoke(AstValue.java:161)
         at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:283)
         at oracle.adf.controller.internal.util.ELInterfaceImpl.invokeMethod(ELInterfaceImpl.java:168)
         at oracle.adfinternal.controller.activity.MethodCallActivityLogic.execute(MethodCallActivityLogic.java:161)
         at oracle.adfinternal.controller.engine.ControlFlowEngine.executeActivity(ControlFlowEngine.java:989)
         at oracle.adfinternal.controller.engine.ControlFlowEngine.doRouting(ControlFlowEngine.java:878)
         at oracle.adfinternal.controller.engine.ControlFlowEngine.doRouting(ControlFlowEngine.java:777)
         at oracle.adfinternal.controller.engine.ControlFlowEngine.routeFromActivity(ControlFlowEngine.java:551)
         at oracle.adfinternal.controller.engine.ControlFlowEngine.performControlFlow(ControlFlowEngine.java:147)
         at oracle.adfinternal.controller.application.NavigationHandlerImpl.handleAdfcNavigation(NavigationHandlerImpl.java:109)
         at oracle.adfinternal.controller.application.NavigationHandlerImpl.handleNavigation(NavigationHandlerImpl.java:78)
         at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:130)
         at org.apache.myfaces.trinidad.component.UIXCommand.broadcast(UIXCommand.java:190)
         at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:475)I guess, I miss something in this process, but no idea what it is ...!!!!
    Any help will be appreciated.
    I am using Studio Edition Version 11.1.1.3.0
    Ranjith

    Hi Arun,
    In my task flow i am calling a jspx page as a popup,
    through my jspx page I can do all these operations,
    but the problem is when I am trying to call a method written in the Backing bean of that page, at that time only the method is not getting the bindings.
    Create insert operation is there in the bindings....
    Ranjith

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

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

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

  • Calling a bounded task flow from  an unbounded task flow

    How can I navigate from an unbounded task flow to a bounded task flow....
    My situation is as follows:
    In the adfc-config.xml, I have a view activity ADMhome, Wildcard as well as a task-flow-call, admTaskFlow.  A control flow goes from the wildcard to ADMhome while another control flow goes from the wildcard to task-flow-call.
    I have a bounded task-flow "adm-task-flow" with two view actitivies: AdmListView and AdmPageView with AdmListView as the default activity. A Control flow goes from the AdmListView to AdmPageView, all pointing the page fragments
    I created another page ADMregion which is a  (jsf) where I dragged the adm-task-flow onto.
    When I ran the application, the home page displayed properly but when I clicked on a command button to invoke the "adm-task-flow", the application will not responded.
    When I looked at the log message, It gave this message:
    <TaskFlowCallXmlImpl> <parse> ADFc: /WEB-INF/adfc-config.xml:
    <TaskFlowCallXmlImpl> <parse> ADFc: Failed to parse element 'task-flow-reference'.
    <ActivityXmlImpl> <parse> ADFc: /WEB-INF/adfc-config.xml:
    <ActivityXmlImpl> <parse> ADFc: Activity metadata could not be parsed. [Activity Type, ID] = ['task-flow-call', ' admTaskFlow '].

    Thanks for this clarifications...
    I created a view activity in the adfc-config-xml and called the page (ADMregion) where the task flow was embedded. It worked well..
    Another clarification I want is this, when do I use a task flow call to call a task flow?  My thinking and my understanding was that when you create a task flow, you use a task flow call to invoke the task flow.
    Pls another aspect I want you to guide me is on calling a java class from jsf and jsff pages. Being new in these technologies, I have having some difficulties navigating and putting all of them together. My problem is this:
    I created a java class under the view package of Application Sources in the View Controller of my Application. The java class returns a value. I designed a jsff form with input fields and and command buttons. I want when I clicked on a command button to take a parameter from the input field and pass it to the java class, the after processing, the java class returns a value which I will place inside one of the input fields in my jsff form.

  • 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

  • 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

  • Can not commit when using region in bounded task flow

    Hi All
    I am using Jdeveloper 11g R2 (11.1.2.3) & Weblogic 10.3.5.0
    I have 2 bounded task flow in my application (A and B)
    Each contain a fragment with few tabs (using af:panelTabbed)
    I have another common functionality in this 2 bounded task flows
    So I create another bounded task flow and add it as a region in tabs in task flows A and B
    But when I am going to the common tab and insert record and commit using task flow commit it is not commit records in database
    Is something wrong ? Any ideas how I can fix it?
    Regards
    Mohsen

    Hi Frank
    I am using below code for commit (from TaskFlowUtils class)
    public void commitTaskFlow() {
    getDataControlFrame().commit();
    public DataControlFrame getDataControlFrame() {
    BindingContext bindingContext = oracle.adf.controller.binding.BindingUtils.getBindingContext();
    String dataControlFrameName = bindingContext.getCurrentDataControlFrame();
    DataControlFrame dataControlFrame = bindingContext.findDataControlFrame(dataControlFrameName);
    return dataControlFrame;
    Your comment was too helpful , I change data control scope to shared and it is working now
    One more related question:
    Is adding bounded task flow into another fragment as region an advised approach?
    Thanks a lot
    Regards
    Mohsen

  • 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