Panel Tabbed Inter-Region Communication - jdev 11.1.2.3

Hello:
I have a page with panel tabbed.  In each showDetailItem (TAB) there is a bounded task flow (BTF from ADFLib) that needs to receive employeeID.
The employeeID is used as a bind variable for each VO query shown in the tab. When the user clicks on a new tab, I want to receive the employeeID
in the BTF and set the bind variable in the VO and then let the BTF  execute the query so when the tab doscloses it shows the VO results based on the new employeeID.
Note: it is the clicking of a tab that should accept the employeeID and set the bind variable so when the VO executes it correctly displays the results of the query in the newly opened tab.   Currently I am using BTF Input Parameters to get the employeeID, which works ok. But how do I set the VO bind variable to the new employeeID before the BTF executes?  Note: I know how to set VO bind variables with:
getParmsMap().put(bindVar, employeeID)
which I tried setting in the BTF Initializer. But this does not work. It seems ADF is processing somehow and does not like when I try to process my query within it's normal ADF lifecycle of disclosing the tab.
So when a new tab is selected to be opened, I need to accept the new employeeID, set the bind variables of the VO, before the ADF lifecycle kicks in to display the newly opened tab.  When the tab is finally displayed by ADF, the VO query results should show the results based on the new employeeID.
How can I make this happen?
Any articles or sample code would be greatly appreciated.
Thanks much.

bump!

Similar Messages

  • Panel Tabbed with regions

    Hi
    I have Panel Tabbed with two items inside - both contains regions inside (static - not dynamic).
            <af:panelTabbed id="pt1" partialTriggers="t1">
              <af:showDetailItem text="Item 1" id="s1">
                <af:region value="#{bindings.emp.regionModel}" id="r1"/>
              </af:showDetailItem>
              <af:showDetailItem text="Item 2" id="s2">
                <af:region value="#{bindings.dept.regionModel}" id="r2"/>
              </af:showDetailItem>
            </af:panelTabbed>Logging initializers and finelizers for task flows inside these regions I noticed that both are triggered when I enter on the page with Panel Tabbed. Only task flow on selected item should be loaded - em I right ? Is there any property to set "loading on demand" regions in Panel Tabbed ?
    Kuba

    Hi,
    depends on the JDeveloper version you are on. For example, you can set a task flow binding (in pageDef) to deferred loading in which case it does what you want it to do. Early JDeveloper 11g R1 releases did not have this feature, in which case the behavior is as you see it. So you may need to check your JDeveloper version, and if it is an upgraded JDeveloper 11g application, check the deferred setting on the task flow binding
    Frank

  • Cannot use the same page template in panel tabbed

    Hi,
    I have a panel tabbed with region in each tab. And all the jsff uses the same pageTemplate, but the jsff displays only a blank with no error . So I apply refresh condition on the Region thinking it might be the cause, initially the two region loaded successfully but when I switch back to the first tab it throws Exception
    <RegistrationConfigurator><handleError> Server Exception during PPR, #1
    java.lang.NullPointerException
    at oracle.adfinternal.view.faces.taglib.region.IncludeTag$RelocatedFacet.restoreFacet(IncludeTag.java:900)
    at oracle.adfinternal.view.faces.taglib.region.IncludeTag.doStartTag(IncludeTag.java:200)
    at oracle.adfinternal.view.faces.taglib.region.DynamicIncludeTag.doStartTag(DynamicIncludeTag.java:109)
    With my investigation it shows that same pageTemplate cannot be used in panel tabbed. What seems to be the solution here? Or Am I lacking something on reusing pageTemplate across panel tabbed?
    Thanks in advance.

    Hi..
    I think this is the not error with pages created with the page template.But may be cause some contents in the page.
    anyway you will helpful following link
    Re: How to resolve Server Exception during PPR, #16 ?
    http://andrejusb.blogspot.com/2008/04/record-split-into-table-and-form.html

  • Panel Tabbed within dynamic region

    Hi Every body
    I have 3 dynamic region each region has a panel Tabbed when run the page the first region work fine when navigate between tabs (af:showDetailItem) , the second region it does't work when navigate between tabs it's like frozen just first tab (af:showDetailItem) open and the same thing with the third region ?
    any help?!
    I'm using JDev 11.1.1.3.0

    Hi,
    the managed bean that holds the dynamic region TaskFlowId is in backing bean scope by default. Change the bean scope to viewScope and also change all the EL references to the bean accordingly (on the page and the task flow binding in the PageDef file)
    Frank

  • Region in panel tabbed throws exception

    hi!
    I have a Jsff page with a panel tabbed having two showDetailItem and each showDetailItem has region. Both region activation property is set to Conditional with corresponding EL for Active attribute. The region in first tab is loaded succesfully, and same thing with the region in the second tab. But when I get back to the first tab I got this Exception
    <RegistrationConfigurator><handleError> Server Exception during PPR, #1
    java.lang.NullPointerException
         at oracle.adfinternal.view.faces.taglib.region.IncludeTag$RelocatedFacet.restoreFacet(IncludeTag.java:900)
         at oracle.adfinternal.view.faces.taglib.region.IncludeTag.doStartTag(IncludeTag.java:200)
         at oracle.adfinternal.view.faces.taglib.region.DynamicIncludeTag.doStartTag(DynamicIncludeTag.java:109)
    All the backing beans of the regions are in request scope.

    I had isolated the problem, it is not the region.. it's the pageTemplate so I post another thread for this.
    Cannot use the same page template in panel tabbed

  • Tabs without using panel tabbed

    i have to create a page with multiple tabs on top of the page without using panel tabbed, since multiple users cannot work in panel tabbed.
    i have created fragments for indivudual tabs.
    included fragments in a bounded task flow. connected all fragments to wildcard control flow.
    used a jsff with command menu items in top of the page in a pgl.
    below this, i dropped task flow as region where i would like jsff to be displayed depending on command menu item selected on top.
    specified command menu item action property as name of control flow case connecting wild card to individual jsffs used in page.
    Navigation is not working from one to another jsff on clicking command menu item on top.
    what is wrong with this approach.
    jdev 11.1.1.5

    it would be easier for multiple people to work on different page fragments as with panel tabbed it would be single jspx.
    i m focusing on how to achieve navigation using fragments in a region and command menu items or command navigation items at the top.

  • How to open a panel tabbed window using a button present in the same page

    below is my jspx page where i have two buttons and two panel tabs. I want to open respective panel tabs using respective buttons:
    <?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" binding="#{backing_pages_bb.d1}">
    <af:form id="f1" binding="#{backing_pages_bb.f1}">
    <af:panelStretchLayout binding="#{backing_pages_bb.psl1}" id="psl1">
    <f:facet name="bottom"/>
    <f:facet name="center">
    <af:panelTabbed binding="#{backing_pages_bb.pt1}" id="pt1">
    <af:showDetailItem text="first"
    binding="#{backing_pages_bb.sdi1}" id="sdi1"/>
    <af:showDetailItem text="second"
    binding="#{backing_pages_bb.sdi2}" id="sdi2"
    rendered="true" disclosed="false"/>
    </af:panelTabbed>
    </f:facet>
    <f:facet name="start"/>
    <f:facet name="end"/>
    <f:facet name="top">
    <af:panelGroupLayout binding="#{backing_pages_bb.pgl1}" id="pgl1">
    <af:commandButton text="first"
    binding="#{backing_pages_bb.cb1}" id="cb1"
    action="#{backing_pages_bb.cb1_action}"/>
    <af:commandButton text="second"
    binding="#{backing_pages_bb.cb2}" id="cb2"
    action="#{backing_pages_bb.cb2_action}"/>
    </af:panelGroupLayout>
    </f:facet>
    </af:panelStretchLayout>
    </af:form>
    </af:document>
    </f:view>
    <!--oracle-jdev-comment:auto-binding-backing-bean-name:backing_pages_bb-->
    </jsp:root>
    below is the backing bean created for the jspx page:
    package view.backing.pages;
    import javax.faces.component.UIComponent;
    import oracle.adf.view.rich.component.rich.RichDocument;
    import oracle.adf.view.rich.component.rich.RichForm;
    import oracle.adf.view.rich.component.rich.layout.RichPanelGroupLayout;
    import oracle.adf.view.rich.component.rich.layout.RichPanelStretchLayout;
    import oracle.adf.view.rich.component.rich.layout.RichPanelTabbed;
    import oracle.adf.view.rich.component.rich.layout.RichShowDetailItem;
    import oracle.adf.view.rich.component.rich.nav.RichCommandButton;
    public class Bb {
    private RichForm f1;
    private RichDocument d1;
    private RichPanelStretchLayout psl1;
    private RichPanelGroupLayout pgl1;
    private RichCommandButton cb1;
    private RichCommandButton cb2;
    private RichPanelTabbed pt1;
    private RichShowDetailItem sdi1;
    private RichShowDetailItem sdi2;
    public void setF1(RichForm f1) {
    this.f1 = f1;
    public RichForm getF1() {
    return f1;
    public void setD1(RichDocument d1) {
    this.d1 = d1;
    public RichDocument getD1() {
    return d1;
    public void setPsl1(RichPanelStretchLayout psl1) {
    this.psl1 = psl1;
    public RichPanelStretchLayout getPsl1() {
    return psl1;
    public void setPgl1(RichPanelGroupLayout pgl1) {
    this.pgl1 = pgl1;
    public RichPanelGroupLayout getPgl1() {
    return pgl1;
    public void setCb1(RichCommandButton cb1) {
    this.cb1 = cb1;
    public RichCommandButton getCb1() {
    return cb1;
    public void setCb2(RichCommandButton cb2) {
    this.cb2 = cb2;
    public RichCommandButton getCb2() {
    return cb2;
    public void setPt1(RichPanelTabbed pt1) {
    this.pt1 = pt1;
    public RichPanelTabbed getPt1() {
    return pt1;
    public void setSdi1(RichShowDetailItem sdi1) {
    this.sdi1 = sdi1;
    public RichShowDetailItem getSdi1() {
    return sdi1;
    public void setSdi2(RichShowDetailItem sdi2) {
    this.sdi2 = sdi2;
    public RichShowDetailItem getSdi2() {
    return sdi2;
    public String cb1_action() {
    // Add event code here...
    return null;
    public String cb2_action() {
    // Add event code here...
    return null;
    Wat method has to be coded inside cb1_action and cb2_action so that respective panels are opened.
    thank u for ur help in advance.

    Hi,
    If the data need to be passed is large, consider using Shared Memeory Objects: Check this doc for reference: How to pass data from ABAP to Web Dynpro ABAP
    Hope this helps u,
    Regards,
    Kiran

  • .js update of spry accordion panel tab data for countdown functionality

    Hi,
    First off I must say I really love the work done on CS3 and
    the Spry Framework - loads of examples and nicely implemented!
    Questions in a nutshell:
    Can I change spry generated data on the fly so I can run a
    .js counter function to dynamically update accordion panel data?
    What event do I look for to fire a .js init function to see my new
    spry widget (onPostLoad isn't working for me, but I'm a newbie!)?
    * spry accordion
    * {expire} dataset data is SQL DATETIME
    * js countdown function CD_Init() searches DOM for specific
    element IDs 'countdownN' and uses innerHTML to update counter at
    specific interval
    * observer onPostLoad seems to be calling CD_Init before
    accordion DOM is loaded.
    Verbose questions:
    I am trying to tweek the output of a Spry Acoordion and
    wanted to add a third party js counter to my accordion panel tab
    and am having a bit of difficulty. The js code uses an innerHTML
    statement to keep the counter going and supports multiple counters
    (which I need to use one counter per tab). I build the multiple
    counter id from the ds_RowID field which is where the parent div
    element where the js changes the innerHTML. Can I do this? The .js
    searches for elements w/ an ID of "countdownN", N = instance # and
    a date format of '2007-09-08 00:00:00 GMT+00:00' and updates the
    div's text with the countdown time. My {expire} record below is an
    SQL DATETIME which is the correct format for this countdown.js
    function (with the GMT-05:00 appended).
    The relavant code is:
    <div id="specialDisplay" spry:region="dsSpecials">
    <h3>Click on a special below from our <em>LIVE
    FEED</em>  to see all the up-to-the-moment
    exciting packages available!</h3>
    <div id="AccordionSpecials" class="Accordion">
    <div class="AccordionPanel" spry:repeat="dsSpecials">
    <div class="AccordionPanelTab"
    onclick="dsSpecials.setCurrentRowNumber('{dsSpecials::ds_RowID}')"
    spry:hover="AccordionPanelLabelHover"><?php echo '<div
    id="countdown' .'{ds_RowID}'. '">';?>{expire}
    GMT-05:00</div>{dsSpecials::name}</div> <!--
    accordion panel tab -->
    <div class="AccordionPanelContent">
    <div spry:state="loading"><img
    src="./i/ajax-loader.gif"/></div> <!-- loading -->
    <div spry:state="error"><span spry:content="Error
    loading data..."></span></div> <!-- error -->
    <div id="details" spry:state="ready"
    spry:content="{detail}"></div> <!-- detail when ready
    -->
    </div> <!--accordion panel content -->
    </div> <!-- accordion panel -->
    <script type="text/javascript">
    <!--
    var AccordionSpecials = new
    Spry.Widget.Accordion("AccordionSpecials", { defaultPanel: 0,
    duration: 1000, useFixedPanelHeights: false, enableAnimation:true }
    var observer = { onPostLoad: function(notifier, data) {
    CD_Init() ; /*alert("postLoad"); */} };
    //specialDisplay dsSpecials.addObserver(observer);
    Spry.Data.Region.addObserver("specialDisplay", observer);
    //-->
    </script>
    </div> <!-- accordion -->
    </div> <!-- specialDisplay -->
    I got the nice countdown.js script from
    http://andrewu.co.uk/clj/countdown/
    which allows N # of counters/page. I have updated this code to
    start checking for a zero based index that I generate utilizing the
    spry ds_RowID.
    I have added an observer to run the countdown's
    initialization function (to hopefully find all the "countdownN"
    element instances) under my dataset declarations:
    var observer = { onPostUpdate: function(notifier, data) {
    CD_Init() ; } };
    Spry.Data.Region.addObserver("AccordionSpecials", observer);
    Also tried to add the observer to a div surrounding the
    according w/ the "spry:region" specified.
    But, alas, I see the correct expire instance in my tab, but
    it looks like the counter is only firing before the actual data is
    loaded (i.e. I used FF's webdeveloper and set a break on the
    CD_Init function and it's breaking before the actual accordion is
    there - I see the dataset placeholders in my window for the
    accordion. When I continue, the accordion is generated, but my
    countdown isn't working because it looks to be firing before the
    DOM is updated w/ the accordion elements.
    Sorry for the long speil; I'm really a .js neophyte and just
    starting w/ spry - so I'm not even sure if I can/should change the
    HTML generated from spry. If not, is there anyway that I can have a
    countdown timer for each accordion's tab panel's associated
    {expire} data field? Any ideas and suggestions are greatly
    appreciated!!
    Thank you also for this forum - some great gems for
    development here!

    Sorry - the previous post is way too long.
    Is it possible to tie in a javascript update function (a
    counter update) to an element generated by a spry widget (a dataset
    value that generates spry accordion tab text) so that the accordion
    tab gets updated by the javascript function running under a
    setinterval?
    I've tried firing the javascript init function with an
    observer on the accordion's onPostUpdate event, but it's getting
    fired before the spry data is loaded. Is this something that's
    possible? Sorry for my lack of javascript expertise! Relying on the
    real experts here!
    Thanks for any advice/pointers.

  • Panel tabbed is not working in the page fragments used in a bounded task fl

    Hi,
    I tried creating a simple page fragment with a panel tabbed as below
    <?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:panelStretchLayout id="psl1">
    <f:facet name="center">
    <af:panelTabbed id="pt1">
    <af:showDetailItem text="showDetailItem 1" id="sdi1"/>
    <af:showDetailItem text="showDetailItem 2" id="sdi2"/>
    <af:showDetailItem text="showDetailItem 3" id="sdi3"/>
    </af:panelTabbed>
    <!-- id="af_one_column_stretched" -->
    </f:facet>
    </af:panelStretchLayout>
    </jsp:root>
    Then in an unbounded task flow, I added the bounded task flow which is just created above. when I run this page, the page is loaded but the tabs doesn't switch. When I click on the other tabs, it doesnt change, it is always active only in the first tab.
    Is this a bug in adf, or am I missing something?
    Can someone please help?
    Thanks,
    Sudarsan M

    Hi Vinod,
    Thanks for responding.
    I want a page fragment with tabbedPanel to be loaded in my dynamic region. As I am facing this issue, I tried very simple example of creating a page fragment with a tabbedPanel of 3 tabs.
    1. added this page fragment in an bounded task flow.
    2. In the unbounded task flow(adfc-config.xml) added a view with the some jspx page and then added the bounded task flow created above as a static region in this jspx page.
    3. When I run this view, I can see the page loaded with all the tabs in the page frament.
    4. By default the first tab is selected, but when I tried to click on the other tabs, there is no response. It still stays in the first tab only.
    Thanks,
    Sudan

  • Updated form/table in showDetails of Panel Tabbed Component

    When there are multiple showDetail components for Panel Tabbed, if anyone of them has an updated form or table, switching between different showDetail components will cause the system throw mandatory field validation errors.
    It looks like all the mandatory LOV fields are reset to be empty in the previous visited tab. Is this the way that Jdev supposed to work? What should we aware of using updated forms/tables in multiple tabs of Panel Tabbed component?

    That's how it works. That's the reason, I get all the data to pre-populate all the components in the page load itself. When I switch between tabs, I don't re-execute the proc and so it won't reset. I use postback to prevent re-execute the proc. when I switch between tabs.
    Boolean postBackValue = (Boolean)JSFUtils.resolveExpression("#{adfFacesContext.postback}");
    Boolean defaultBooleanValue = new Boolean("false");
    if (postBackValue.equals(defaultBooleanValue)) {
    }

  • Moving the tabs to right of the jsf page in the adf panel tabbed component

    Hi,
    i want to move the tabs in the panel tabbed component to the right. In the property inspector of this component, it doesn't have an option called right. How can we do this?
    Thanks,
    sudan

    Hi,
    why there is no reply from the community? Does it mean, no one had any requirement like this before or it is not possible in ADF.
    Thanks,
    Sudan

  • Panel Tabbed geting invisible

    Hi
    I am using JDev 11.1.1.2
    In the UI page, i have a panel tabbed component and inside this component i have a toolbox component where i have menu bar which contains some menu items and below that i have a table getting displayed. Both the toolbox and table are kept in panel group layout and group layout is in that panel tabbed.
    When i run my page, the table is having some values inside in it. whenever i click in the middle of my table, the panel tabbed vanishes or gone .... and also the menubar item too. Only the table is placed in that panel tabbed's position....
    Can anyone pls tell me why the tabbed is getting vanishes and the table is taking all the space?? When the refresh the page again all the components come back to its position ......
    Please Help !!
    Regards
    Sudeep

    any help any one !!!!

  • Convert a panel-tabbed detail part into bounded taskflow.

    Hi,
    My Jdeveloper version is 11.1.2.1
    I have created an input form in one of the panel tab detail. Is there a way to convert the same form to a bounded task flow and then use the same as a region in the panel tab ?
    Or does it call for an entire rework ?
    Thanks in advance.

    Hi,
    you can select a view in an unbounded task flow (right mouse choices) and then convert it into a bounded task flow (in which case a task flow call activity is added pointing to the bounded task flow). You then delete the task flow call activity and drop the task flow onto a page as a region.
    You cannot expose an area in an existing page as a task flow. If this is the case then you will have to copy&paste and ensure the bindings are created for the view in the bounded task flow-
    Frank

  • How to add a new field to the Quote: Shipping and Bill Tab Payment region

    Hello All,
    We have a requirement to add payment description column to the Payment Region of Shipping and Bill tab in Quoting User(Quote Page).
    We have extended the View object HeaderPaymentsVOObj and created a custom view object, then created and ported the substitution.
    In Quotes page, 'Shipping and Bills' tab Payments region, we have created a new item(Payment Description), assigned the custom View object instance and attribute to it.
    We are able to enter and update the payment details before substitution, but after substitution while entering payment details we are facing the below error.
    At most one payment record can exist at quote header/line level.
    Help and inputs are highly appreciated.
    Thanks in advance.
    Regards,
    Supriya.

    Hi,
    So you need that this new field have data in old records?
    1.- If you are in BI 7.0 and the logic or data for that New field are in the same Dimension, you can use a Remodeling to fill it. I mean if you want if you want to load from a Master Data from other InfoObject in the same Dim.
    2.- If condition "1" is not yours.
    First add the new field, then create a Backup Cube (both cubes with the new field) and make a full update with all information in the original Cube. The new field willl be empty in both cubes.
    Create an UR from BackUp_Cube to Original_Cube with all direct mapping and create a logic in the Start Routine of the UR (modiying the data_package) you can look for the data in the DSO that you often use to load.
    To do that both cubes have to be Datasources ( right click on Cube-> aditional function-> and I think is "Extract Datasource")
    Hope it helps. Regards, Federico

  • Problem with Required fields in Panel Tabbed

    Hi ,
    I am using Jdeveloper 11.1.1.2 and i created a jspx page in which i am using <af:panel Tabbed> which has 2 <af:showDetailItem> items.
    Here the problem is in each show detail item i have selectOneChoice set as required fileds. when i am runnin the page and click the second tab it is asking to select a value for SOC.
    Can anyone help me in how to make required fileds show only for that <showdetailitem> item but not for both the showdetailitems.
    Thanks,
    Harika.

    Set the immediate property for the tab to be true.
    Similar forum post:
    Issue with Panel Tabbed and required property
    Thanks,
    Navaneeth

Maybe you are looking for