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

Similar Messages

  • Where should backing bean for bounded-task-flow be declared?

    I have a bounded-task-flow that is used inside a dynamic region.
    I declared a managed bean to be used by activities (method/view) using the "backingBean" scope managed bean.
    There are two possible places that I can register the managed bean:
    1. adfc-config.xml
    2. the bounded-task-flow-definition.xml
    What are the differences between declaring the "backingBean" scope bean in "adfc-config.xml" and in the bounded-task-flow definition?
    What is the best practice for registering "backingBean" scope bean?
    If I understand correctly, registering the bean in adfc-config.xml is for one or more bounded-task-flow that use the same Bean class for instantiating their own backing bean. If the backing bean java class is only use by specific bounded-task-flow then it should make no difference to register the bean in either xml files.
    Am I correct?

    It should be registered within the bounded task flow for a couple reasons:
    1) Help maintain the encapsulation of the bounded task flow for reuse
    2) Managed bean definition metadata residing in adfc-config.xml or bootstrap configuration file will be preloaded when the ADF application is started. The actual managed beans will be instantiated the first time they are referenced. Therefore, to avoid the preload place them in the bounded task flow.
    thanks.

  • How to create a page-definition for bounded task-flow?

    I should be able to create a page definition which declare all bindings required for a bounded task flow.
    How do I do it in JDeveloper 11.1.1.2?
    How do I navigate to the page definition when I am in the bounded task flow "Diagram tab"?

    I found out the following:
    1. To create a page-definition file for a bounded task flow
    Right click on the "Default" activity (not a view activity) of the bounded task flow, select "Create Page Definition" from the context menu.
    2. To go the page-definition file for a bounded task flow
    Right click on the "Default" activity (not a view activity) of the bounded task flow, select "Go to Page Definition" from the context menu.
    My new question is:
    In JDeveloper 11.1.1.2, how do I create page-definition for a bounded-task-flow if all activities are view activities (page fragments) ?
    How does JDeveloper I want to create page-definition for the task-flow instead of create page-definition of the page fragment or the page?

  • How to Make BDC for transcation KKS1

    Hi dear,
    can any one tell me that how to make BDC for KKS1.
    because i have recorded the BDC and converted into the program logic than it is showing the first window but not showing the window with ALV and futher more. So what coding i have to apply.
    Please help.
    Siddarth Jain

    Hi,
    U can record the flow in using SHDB transaction recorder.
    U can record and it will generate the program, u can copy and paste the part of the code that is generated, in ur ALV report. this will call the transaction.
    Do as follows:
    <b>SHDB > New Recording > Specify Recording Name YTEST > Transaction code KKS1 > STRAT RECORDING BUTTON></b>
    then speciy the vales u want to give to run the transaction. U can save and come back as soon as u reach the screen when u want to stop it.
    EG:
    Declare a messtab
    DATA: i_bdcdata TYPE STANDARD TABLE OF bdcdata,
    * Internal table to hold BDC messages
    i_messtab TYPE STANDARD TABLE OF bdcmsgcoll
    * Work area to hold bdcdata value
    DATA: w_bdcdata TYPE bdcdata,
    * Work area to hold BDC messages
    w_messtab TYPE bdcmsgcoll.
    CONSTANTS : c_e type bdcmsgcoll-msgtyp value 'E', "E
    c_a type bdcmsgcoll-msgtyp value 'A', "A
    nodata type c value '/'. "/
    perform f1000_bdc_mm03 using lv_matnr lv_werks.
    FORM f1000_bdc_mm03 USING P_LV_MATNR
    P_LV_WERKS.
    perform bdc_dynpro using 'SAPLMGMM' '0060'.
    perform bdc_field using 'BDC_CURSOR'
    'RMMG1-MATNR'.
    perform bdc_field using 'BDC_OKCODE'
    '/00'.
    perform bdc_field using 'RMMG1-MATNR'
    p_lv_matnr.
    perform bdc_dynpro using 'SAPLMGMM' '0070'.
    perform bdc_field using 'BDC_CURSOR'
    'MSICHTAUSW-DYTXT(15)'.
    perform bdc_field using 'BDC_OKCODE'
    '=ENTR'.
    perform bdc_field using 'MSICHTAUSW-KZSEL(15)'
    'X'.
    perform bdc_dynpro using 'SAPLMGMM' '0080'.
    perform bdc_field using 'BDC_CURSOR'
    'RMMG1-WERKS'.
    perform bdc_field using 'BDC_OKCODE'
    '=ENTR'.
    perform bdc_field using 'RMMG1-WERKS'
    p_lv_werks.
    perform bdc_dynpro using 'SAPLMGMM' '4000'.
    perform bdc_field using 'BDC_OKCODE'
    '=ZU01'.
    perform bdc_field using 'BDC_CURSOR'
    'RMMG1-MATNR'.
    perform bdc_dynpro using 'SAPLMGMM' '4300'.
    perform bdc_field using 'BDC_OKCODE'
    '=ZU08'.
    perform bdc_field using 'BDC_CURSOR'
    'RMMG1-MATNR'.
    perform bdc_dynpro using 'SAPLMGMM' '4110'.
    perform bdc_field using 'BDC_OKCODE'
    '=GESV'.
    *perform bdc_field using 'BDC_CURSOR'
    * 'RMMG1-MATNR'.
    call transaction c_transaction_call_MM03 using i_bdcdata MODE 'N'MESSAGES INTO i_messtab.
    <b>Kindly close the previous threads opened by u.</b>
    Message was edited by: Judith Jessie Selvi

  • How to make entry for transit loss in the system

    Hello to all,
    I am having an issue with one subCon material.
    Suppose,
    Material A is the product required of 3000 MT Qty.
    SubCon vendor have sent that qty, but there is a transit loss of 500 MT.
    How to make entry for this transit loss in the system.
    regards,
    Anisha

    correct me if i am wrong-
    ur scenario is
    for making material A ,
    3000 MT of material B required.
    but for producing A vendor uses 3500MT of B
    solution : if this ia the case then u can overwrite the value of B at GRN from 3000MT to 3500MT.
    OR
    ur scenario is -
    u require material A of 3000MT
    vendor sends u 3000MT
    but actualy u recieve 2500MT
    and u have to pay for 3000MT as per bill
    solution : if this is ur scenario then.
    prerequisite-activate direct posting to G/L and material at MIRO
    Path - SPRO->MM->LIV->activate direct posting to G/L and material at MIRO.
    now procedure is -
    step 1) do GR for 2500MT
    step2) in LIV pay to vendor for 3000MT for that put 500 qty in material tab and the relavent amount.
    in this way loss in transite will be book on inventory.
    regards,
    sujit

  • Menu for bounded task flow

    Hi experts,
    can we create menu for bounded task flow?.....we can do it in a unbounded task flow by using "create or update menu"......
    PMS
    Edited by: pms on Jan 6, 2012 5:31 AM

    Hi,
    well, if you want a menu that is owned by the bounded task flow, then you can use trains, as explained in this article
    http://www.oracle.com/technetwork/developer-tools/adf/learnmore/93-differentuifortrainstops-1413952.pdf
    Just bind a menu to the train model (which afaik, extends the menu model)
    Frank

  • How to make folders for pitcures on iphone 4

    how to make folders for pitcures on iphone 4?

    sorry about that..Where do i find the replies to my posts?  tks

  • Example to demonstrate how to make rebate for business

    Hello Gurus,
          please give a example to demonstrate how to make rebate for business?
    thanks very much!

    hi
    Rebates Processs in SAP is divided into three components
    1) Configuring Rebates
    2) Setting Up Rebates
    3) Managing rebate agreeeements and payments
    Pre-requsiistes- Check the following:
    1.The payer partner needs toi have the rebate field checked in the customer master on the sales area-billing doc tab.
    2.The Billing type must be marked as relevant for rebates.
    3.The Sales Organisation must be marked as relevant for rebates.
    Condition Technique :
    Rebates, use the condition technique, but distinguish themselves from pricing in applying to transactions over time, versus on a transaction basis. Rebates have their wn field catalog and their own condition table naming convention.So you could have two condition table "001" one for pricing and one for rebates, which could have different key fields. You need to use the technical names A001 For pricing and KOTe001 for rebates when you use the query type using transaction SE 16..
    Use create access sequence (AS). Enter 1 in field category for rebate specific. AS after going thru the right path of maintaining access sequence for rebates.
    The big difference between the rebate and the pricing access sequence is that there is no exclsuion flag available for rebate related AS. This means multiple tables for an access sequence can be aplied at the same time.
    Rebate related condition types are identified by codnition class -C.
    After defining and creating condition types for rebated include them in the pricing proceedure. The requirement should be 24 here which implies that the accruals are calculated on the basis of invoice/bill.
    The other fields- alctyp and altcbv does not allow you to manipulate how a rebate is calculated. Also, remove the requiremnt 24, if u want to see reabtes at order time.
    Now payment of rebates:
    Payments can be maunal or in full settlement. When you do manual payments, it defines how much can be paid out during a partial settlemetn. You use partial settlement only when rebate agreement is defined for a full year but the paoyouts are supposed to happen on a monthly, quarterly or anyother specified period.
    These accurals are based on sales volume and when they are posted billing is created int eh follwoing manner. Provision for accruals is debited and Sales revenue is credited. When rebate credit memo is created
    Customer account/ is debited and
    Accrual provision account is credited.
    Also, please note that when rebates are created without dependent ona material but on customer/material you need to refer to a material for settlement.
    First of all rebates are more or less discounts which are offered to customers. The rebates are based on the volume of the business the customer does with you within a specified time. for eg if the customer agrees for Rs.1 Crore worth of business with u in 1 year, then you activate your rebate porocess. if at the end of the year the customer DOES achieve the target u offer him say 2/3/4 % whatever is decided. The rebates are passed on to the customer in the form of Credit notes.
    The rebate can be given to the customer at one time or in installments also.
    This is broadly the outline of the rebate process.
    Note : I recomend you to study the theory part of why rebate and why not a discount.
    This will help you understand better.
    May be I can help you with rebate process.(IN -IMG)
    1. define a rebate agreement type
    2. define a condition type group
    3. define a condition type and place this condition
    Type in the pricing procedure.(REQUIREMENT=24)
    ALSO IN THE PROCEDURE- ACCRUAL KEY = ERU
    YOU ALSO HAVE TO DO THE ACCOUNT DETERMINATION FOR REBATES.
    Once you have defined all the 3 and assignment starts.
    Assign the agreement type to the condition type group
    Assign the cond type group to the condition type.
    Condition technique is also used in rebates.
    REBATE ACTIVATION- IN CUSTOMER MASTER, SALES ORGANISATION AND FOR THE BILLING DOCUMENT.
    After having done this please proceed to maintain the condition record for the rebates (transaction code-vbo1)
    Note: if you maintain the requirement coloumn with the requirement as 24 - the rebate will be affected in the billing document and if you dont give the requirement as 24 your rebate will be affected in the sales order.
    The rebate process is completed when you have created a credit memo to the customer.
    The document type for the partial settlement is R3.
    Please make sure you open two screens SO THAT YOU CAN COMPARE THE NEW ENTRIES WHAT EVER YOU'RE DEFINING WITH THAT OF THE STANDARDS or first you try with the standard condition type boo1, boo2
    boo3 boo4.
    AFTER YOU HAVE FINISHED A COMPLETE SALES CYCLE OF CREATION ORDER , DELIVERY AND BILLING.
    GO TO THE CONDITION RECORD IN CHANGE MODE (VB02) AND SETTLE THE ACCOUNT PARTIALLY.
    In a simple way,
    1. First you need to create a Rebate agreement.
    2. Create condition record for rebate giving the rebate rate and accrual rate.
    3. when the rebate relevent billing doc is generated, the rebate and accruals are determined and posted in a seperate GL account as a noted item - amount to be settled. Also it gets copied in the rebate agreement.
    4. create settlement run using credit memo request and then credit memo to settle this amount with the customer.

  • How to make password for macbook

    how to make password for macbook

    Go to System Preferences - Users and Groups, select your user, and click Change Password. If you currently have a blank password, type nothing in the "Current Password" box.
    Matt

  • How to make root for lenovo a3500

    Hey Guys
    I need to know how to make root for lenovo a3500
    I tried Kingo Android Root but it didn't do anything
    Need help guys and thanks

    I haved to try vroot, but unsucess. I haved upgrate android 4.4.2 and try used kingoroot and vroot unsucess. Who do try sucess? Help me?

  • UI Shell - how to allow ADF Library Bounded Task Flow to close itself

    Hi Richard
    Further to my other post, we're having lots of fun with the UI Shell, it's making mockups very easy.
    Question for you though based around the functionality defined in the UI Shell whitepaper. Say we've created our UI Shell application, and rather than wanting to create the bounded task flows in the app (ie.first, second, third), we create them as standalone bounded task flows deployed to ADF Libraries, and imported into our app separately.
    In the UI Shell examples bounded task flows are opened & closed via the UI Shell's own components (say the navigation page items or toolbar buttons), that call the methods in the Launcher bean (_launchActivity & closeCurrentActivity). It's fairly simple to rewrite the launcher helper methods in the launcher bean to call an imported ADF Library bounded task flow to open it as an activity, just referencing the correct task-flow.xml file.
    However as you know a bounded task flow has a "Default Activity" entry point and one or more "Task Flow Return" exit points. What I haven't been able to work out is how when the bounded task flow exits via a task flow return, can we call the closeCurrentActivity method in the Launcher bean? The UI Shell code examples demonstrate closing a bounded task flow by menu options/or similar outside the bounded task flow in the UI Shell, but it would seem reasonable if the bounded task flow exited via a "Task Flow Return" we should be also able to close the activity tab too.
    (....and as extension, before we even do that potentially call the checkState/isDirty() method to stop the user closing the activity too, but again driven by the bounded task flow attempting to exit).
    I could imagine inserting code into the bounded task flow finalizer to close the activity tab, but this pushes the UI Shell tab activity management logic into our standalone ADF Library bounded task flows which isn't ideal, especially if we want to later reuse them in another app which doesn't use the UI Shell.
    Any suggestions welcome.
    Thanks & regards,
    CM.

    And we're back again.... what's a couple months between friends?
    So it turns out after testing our app (d@mn, so close) that we've hit a bug with this approach.
    Our current app allows one BTF to be open in the UI Shell at any one time. Our menu options automatically open one BTF at a time by the user (max one open), and close the previous BTF. However we have some "special" BTFs that require the user to explicitly close the BTF, which in turn makes use of the regionNavigationListener solution I described earlier in this post.
    However we discovered a bug when we do a complete cycle of the 15 embedded regions within the UI Shell.
    Say we:
    1) Open a normal BTF in region 0
    2) Open another normal BTF in region 1 (our solution automatically closes the previous BTF)
    3) We then open another BTF (again the previous BTF is closed) in region 2, yet this a "special" BTF requiring the user explicitly to close it. Upon the user closing the BTF - this results in the regionNavigationListener being called and the removeTab() method called to close down the BTF in the UI Shell
    4) The user then open/closes multiple normal BTFs, one by one, rotating through regions 3, 4, 5 .... eventually back to 1 again
    5) Then the bug occurs - on opening any BTF back in region 2 (as part of the complete cycle of all regions), the tab for the region 2 opens, correct title, and via debugging the Tab.class has all the right settings including taskFlowId, but the tab is incorrectly empty
    doh!
    I've managed to track a symptom of the problem down that may explain what's happening.
    Each time a tab is rendered with a BTF, the Tab classes getBinding() method returns a reference to the binding required for the current BTF. However for some reason on the complete cycle, for "r2" it returns the binding for the previously user-closed BTF from step 3 above, even though we called the TabContext.removeTab() method.
    What I haven't been able to work out is how the bindings get turned on/off dynamically for each BTF being invoked. Presumably for some reason on step 3, the BTF's bindings aren't being correctly removed from r2 even though we called TabContext.removeTab().
    If anybody has any brain waves about what's going on and how to fix this problem, your help appreciated.
    Regards,
    CM.

  • How to get return values from task flow in af:region ?

    Hi!
    I'm working with a taskFlow that is rendered inside a popup using the "popup inside a region pattern" (http://www.oracle.com/technology/products/adf/patterns/popupregionpattern.pdf), but now this taskFlow has an input parameter and a return value definition. So the question is how to get a value returned by this taskFlow thas is called inside a region?
    Any suggestion?
    Thanks in advance!

    Hi,
    write the value to a shared memory scope like session and read it in the regionNavigation listener. If you follow the paper you refer to then the listener determines of the viewId is null, this a return happens. It wuld then look in the memory scope for the return value.
    Another option would be to use an object that you pass as an argument to the task flow you open in the popup. Then you change the object you passed in, which then makes the return information available in teh calling flow. The object you pass in would have to be in a shared scope too
    Frank

  • Best practice question for Bounded task flows

    We are new to Jdeveloper/ADF and I was wondering if we should always try to use a bounded task flow for our applications... is this considered the best way to develop an app? even the small single page ones?
    Thanks in advance.

    Hi,
    let me turn teh question around: How many tools do you have at home beside of a hammer ? In other words, its the problem you need to solve (and use cases are problems) that should determine the use of bounded task flows and its granularity. Note that for each use case the bounded task flow makes a good candidate for delivering it. Doesn't mean that every single page needs to go into its own task flow. For general bounded best practices have a look here
    http://www.oracle.com/technetwork/developer-tools/jdev/adf-task-flow-design-132904.pdf
    Frank

  • How to create ADF region without Task Flow

    I want to divide my page into different regions, but I don't want to have any bounded task flow under each region. I want to include Page Fragment inside the Region.
    I find the example of creating Region using some page flow, would you please help me, how to create Region that contains only page fragment, actually the problem I am facing, I don't know what I will provide in value attribute in Region tag, that is expecting some Region Model.

    Hello, RajeshBiswas.
    A solution could be to generate 'MultiTaskFlow' for indeterminate number of regions or multiple regions on the same page.
    It would be necessary to create a single file to define all participating 'TaskFlows' on page:
    1. Select 'new -> ADF Task Flow (JSF/Facelets)'
    2. May include all 'jsff' files as:
    <task-flow-definition id="genericTaskFlow1">
        <default-activity>case1</default-activity>
        <view id="case1">
          <page>/pages/case1.jsff</page>
        </view>
        <use-page-fragments/>
      </task-flow-definition>
      <task-flow-definition id="genericTaskFlow2">
        <default-activity>case2</default-activity>
        <view id="case2">
          <page>/pages/case2.jsff</page>
        </view>
        <use-page-fragments/>
      </task-flow-definition>
    It should create a Managed Bean to implement the List of Task Flow Bindings:
    1. Create a new Class with de following code:
        private List<TaskFlowBindingAttributes> mTaskFlowBindingAttrs = new ArrayList<TaskFlowBindingAttributes>();
        public MultiRegionBean()
            TaskFlowBindingAttributes tfAttr = new TaskFlowBindingAttributes();
            tfAttr.setId("region1");
            tfAttr.setTaskFlowId(new TaskFlowId("/WEB-INF/.../ADFTaskFlow.xml", "genericTaskFlow1"));
            mTaskFlowBindingAttrs.add(tfAttr);
            tfAttr = new TaskFlowBindingAttributes();
            tfAttr.setId("region2");
            tfAttr.setTaskFlowId(new TaskFlowId("/WEB-INF/.../ADFTaskFlow.xml", "genericTaskFlow2"));
            mTaskFlowBindingAttrs.add(tfAttr);
        public List<TaskFlowBindingAttributes> getTaskFlowList()
            return mTaskFlowBindingAttrs;
    2. Define this new class into the 'adf-config.xml' file as Managed Bean with 'pageFlow' scope.
      <managed-bean id="__1">
        <managed-bean-name>managedBeanName</managed-bean-name>
        <managed-bean-class>className</managed-bean-class>
        <managed-bean-scope>pageFlow</managed-bean-scope>
      </managed-bean>
    At the page definition, add a MultiTaskFlow inside <executables> tag:
        <multiTaskFlow id="multiTaskFlow1" taskFlowList="#{pageFlowScope.multiRegionBean.taskFlowList}"
    On the page, insert regions in the desired locations. For example:
        <af:group id="g2">
            <af:panelAccordion id="pa1" inlineStyle="width:50%; height:400px;">
                    <af:showDetailItem text="showDetailItem 1" id="sdi1">
                    <af:region id="r1" value="#{bindings.multiTaskFlow1.taskFlowBindingList[0].regionModel}" >
                    </af:region>
                    </af:showDetailItem>
            </af:panelAccordion>
            <af:panelAccordion id="pa2" inlineStyle="width:50%;">
                    <af:showDetailItem text="showDetailItem 1" id="sdi2">
                    <af:region id="r2" value="#{bindings.multiTaskFlow1.taskFlowBindingList[1].regionModel}" >
                    </af:region>
                    </af:showDetailItem>
            </af:panelAccordion>
        </af:group>
    Reference: 21.10 Configuring a Page To Render an Unknown Number of Regions

  • How to deploy a new ADF task flow in OIM 11g R2

    Hi,
    I have created a new ADF task flow.
    Now I need to deploy the same in OIM 11g R2, so that when I click on a link it will call my new ADF task flow.
    Please help me in identifying the steps required to deploy the adf task flow.
    Thanks

    Hi Durga,
    Thanks for sharing the post. I think I am facing the same issue which you were facing.
    I have already done these steps but still not able to get my custom page on click of a link which I created in OIM self service page :
    1. I have created the adflibHomepagePortletsUI.jar as an adf library using Jdeveloper and copied it to oracle.iam.ui.custom-dev-starter-pack.war --> WEB-INF/lib folder after unpacking it.
    2. have updated the custom-catalog.xml file inside oracle/adf/rc/metadata folder with the below lines :
    <folder name="Sample Folder" id="sampleFolder">
    <contents>
    <resource id="helloWorld" name="Hello World"
    description="Hello World Taskflow Reference"
    repository="application.classpath"
    path="adflibHomepagePortletsUI.jar/ADF_TaskFlow/WEB-INF+oracle+iam+ui+sample+homepage+tfs+hello-world-tf.xml#hello-world-tf">
    <attributes>
    <attribute value="coreDefault" attributeId="attr.background" isKey="false"/>
    </attributes>
    </resource>
    </contents>
    </folder>
    3. repacked the war file and copied it in OIM_HOME/server/apps directory
    4. Restarted the OIM server.
    5. entered the following lines in jazn-data.xml present in user_projects\domains\idmdomain\servers\oim_server1\tmp\_WL_user\oracle.iam.console.identity.self-service.ear_V2.0\6bddg\META-INF\jazn-data.xml
    <permission>
    <class>oracle.adf.controller.security.TaskFlowPermission</class>
    <name>/WEB-INF/oracle/iam/ui/sample/homepage/tfs/hello-world-tf.xml#hello-world-tf</name>
    <actions>view</actions>
    </permission>
    5. Login to self service console.
    6. Click on the custom link who's actionListener is pointing to bean which is launching the taskflow created in the above steps.
    7. On Click of the link a new tab gets open with blank page.
    Please help me in knowing the step which I am missing in order to solve this issue.
    Many thanks once again.

Maybe you are looking for