Apex Application Parent Tabs

Request for other peoples experience with problems using the apex_application_parent_tabs view. We have solved the problem that follows, but are interested in finding out other peoples solutions to this problem.
We have used the following dynamic tree to create a navigation menu within an application:-
select id, pid,
case when :FLOW_STEP_ID = page_no then '<div class="osl_breadcrumb">'||name||'</div>' else '<div class="osl_breadcrumb">'||name||'</div>' end name,
case when navigation = 'Y' then 'f?p='||x.flow_id||':'||page_no||':&SESSION.::NO::P0_PARENT_TAB:'||parent_tab||''
else null
end link,
null a1, null a2
from ( select id, pid, name, navigation, parent_tab, display_seq, flow_id, page_no
from (select distinct a.CURRENT_FOR_TABSET id,
case when length(a.component_comment) = 4
then (select z.CURRENT_FOR_TABSET from apex_030200.APEX_APPLICATION_PARENT_TABS
z where z.component_comment = substr(a.component_comment, 0, 3))
else a.TAB_SET
end pid,
a.TAB_LABEL name, 'N' navigation, 'PT' parent_tab, a.DISPLAY_SEQUENCE display_seq,
a.APPLICATION_ID flow_id, 0 page_no
from apex_030200.APEX_APPLICATION_PARENT_TABS a
where a.application_id = v('app_id')
union all
select distinct b.TAB_NAME id, b.TAB_SET pid, b.TAB_LABEL name, 'Y' navigation,
(select c.TAB_COMMENT
from apex_030200.WWV_FLOW_TOPLEVEL_TABS c
where c.CURRENT_ON_TABSET = b.TAB_SET
and c.FLOW_ID= b.APPLICATION_ID) parent_tab,
b.DISPLAY_SEQUENCE display_seq, b.APPLICATION_ID flow_id, b.TAB_PAGE page_no
from apex_030200.APEX_APPLICATION_TABS b
where b.application_id = v('app_id')) comp,
osl.ap_stu_portal_activated flag
where comp.id=flag.ID_value
and flag.ACTIVE='Y'
order by comp.display_seq
) x
This works OK in Apex 3.2 against an Oracle 11.1.0.6 database but will not run against an 11.1.0.7 database. However, if the sql is run manually in e.g. SQLDeveloper against 11.1.0.7, then it runs without a problem (substituting in valid values as appropriate). There is no debug output at the point the tree statement woudl run when the application is run in debug mode. The monitoring tools do not show any expensive cpu or any particular run away query - and don't show this tree statement being run.
We think Apex is trying to rewrite the sql, but as the underlieing apex view is a complicated series of nested case statements as well, we think the resultant sql is somehow flawed.
We have resolved the issue by creating a view:-
create or replace view osl.ap_portal_menu_tree as
select id, pid, name, navigation, parent_tab, display_seq, flow_id, page_no from (
select distinct a.CURRENT_FOR_TABSET id,
case when length(a.component_comment) = 4 then (select z.CURRENT_FOR_TABSET from apex_030200.APEX_APPLICATION_PARENT_TABS
z where z.component_comment = substr(a.component_comment, 0, 3)) else a.TAB_SET end pid,
a.TAB_LABEL name,
'N' navigation,
'PT' parent_tab,
a.DISPLAY_SEQUENCE display_seq,
a.APPLICATION_ID flow_id,
0 page_no
from
apex_030200.APEX_APPLICATION_PARENT_TABS a
union all
select distinct b.TAB_NAME id,
b.TAB_SET pid,
b.TAB_LABEL name,
'Y' navigation,
(select c.TAB_COMMENT from apex_030200.WWV_FLOW_TOPLEVEL_TABS c where c.CURRENT_ON_TABSET = b.TAB_SET and c.FLOW_ID= b.APPLICATION_ID) parent_tab,
b.DISPLAY_SEQUENCE display_seq,
b.APPLICATION_ID flow_id,
b.TAB_PAGE page_no
from apex_030200.APEX_APPLICATION_TABS b)
comp, ap_stu_portal_activated flag
where comp.id=flag.ID_value and flag.ACTIVE='Y'
The tree has then been re written as:-
select id,
pid,
case when :FLOW_STEP_ID = page_no then '<div class="osl_breadcrumb">'||name||'</div>' else '<div class="osl_breadcrumb">'||name||'</div>' end name,
case when navigation = 'Y' then 'f?p='||x.flow_id||':'||page_no||':&SESSION.::NO::P0_PARENT_TAB:'||parent_tab||'' else null end link,
null a1,
null a2
from osl.ap_portal_menu_tree x
where x.flow_id = v('app_id')
order by x.display_seq
This works perfectly, suggesting that the problem may be how Apex’s sql engine runs the nested case statements.
Any similar experiences?
Thanks
Occam

Dear Prabodh,
Thank you for you response.
Only I need a list for the second level tabs since I have the first level on the top navigation area of my page template
As I understood, I wrote the following code for the list
SELECT null,
       TABLABEL label,
       'f?p=&APP_ID.:' || TABPAGE || ':'||:APP_SESSION||':::::' target,
       (CASE 
            WHEN TABPAGE = :APP_PAGE_ID THEN 'YES'
            ELSE 'NO' END) is_current
from MY_VW_TABS
WHERE PTTABNAME in (select TAB_SET from APEX_APPLICATION_TABS where TAB_PAGE = :APP_PAGE_ID)In page 0, I created a list region with template (Vertical Unordered List without Bullets), however, it is not displaying anything!!
What is missing to get list displayed?
Best Regards
Mahmoud

Similar Messages

  • Can't grasp the relation between tab set, parent tab, standard tab set and standard tab

    Very novice to apex application building, but after trying to figure the concepts behind the tab sets I'm getting more and more confused about it as I always get different behaviour when changing things.
    The documentation is not very clear on this.
    Is there someone who can explain this in a comprehensive way?
    It would be nice to have a view on the consequences of using these different levels of groupings.
    Any help will be dearly appreciated ;-)

    Jan
    One level tab application
    Tabsets are used to group standard tabs.
    Use full when splitting up the application in different sections. Much like how the apex is split up in the application builder, sql workshop, team developend and administration.
    Parent tabs aren't used. And a one level tab application can't be turned into a two level tab application.
    Two level tab application
    Parent tabs belong to only one tabset "main".
    The standard tabset is the connection between the parent tab and standerd tab.
    There is one standard tabset for every parent tab.
    The standard tabset in the two level application has the same function as the tabset in the one level application.
    The standard tabset also determines when a parent tab is current.
    When on the page the setting Standard Tab Set is set then the parent tab belonging to that standard tabset is current.
    This means that if you change a page form one parent tab to an other you not only need to change the tab settings. But also the settings on the page.
    If you still in the position to choose between list or tabs as your main form of navigation I would recommend using lists.
    The possibilities with the list templates are greater that with tabs.
    Tabs have a maximum of two levels. List don't have such a limit.
    If you created your application as a one level tab application you can't turn it in a second level application without some serious hacking.
    Clicking on a standard tab submits the page and branch after the computations. This could also be viewed as a pro for tabs because with list navigation your page needs to be accessible by url. Did isn't necessary with standard tabs making them more secure. Parent tabs also use an url to navigate.
    Only the standard tabs belonging to the current standard tabset are rendered making a drop down menu impossible.
    Hope this clears up some of your questions.
    Nicolette

  • Trying the last hour trying to add in the parent tab on Apex

    Hi,
    I have a the tabs on my Apex page and the parent tabs would not ever show up on my new page. It says it's on my page definition. Any suggestions? Thanks,
    Samantha

    Hi Samantha,
    Are you definitely using a 2 Level tab page template?
    It can be changed in the display attributes of your page definition. In APEX 4 in the tree view double click on the page name when editing your page in application builder. If your using component view or less than APEX 4 then single click on the page name when editing your page in application builder.
    Hope this helps
    Thanks
    Paul

  • Problem Switching/Changing a page in one parent tab to another

    I have 2 level tabs in my application. Lets call the 'top' set of tabs, Parent1 and Parent2.
    Parent2 has only one tab 'below' or contained in it. While in Parent1, there are many tabs below it, each refers to a specific page that has some apex reports. I'm just trying to move one of those "sub" tabs and the corresponding report from Parent1 to Parent2.
    To do that, in Application Builder, i click on the page that i want to essentially switch form Parent1 to Parent2. I can see under the Tab section, what its called on the right side, under Tabs. Lets call that Tab_X. So, i click on that Tab_X, and it allows me to edit the Tab itself. Now I open up the drop down box called "Standard Tab Set", and there, i can see my Parent1, and Parent2 sets. It is already selected to Parent1. So i change it to Parent2. Save/Apply.
    Then i go run my application, and I do not see that Tab_X tab in Parent1 anymore (which is good-i wanted to move it). I click on the Parent2 top level tab, and there I can see the Tab_X in the sub-tab list, which is also good. So far.
    When i click on Tab_X to run my report, it runs and outputs fine. But i lose my Parent tabs in the Parent tab bar. My subtabs look like the ones it was grouped with in Parent1, even though i can't see Parent1 or Parent2.
    It seems like it sort of half made my change but not fully, and my navigation is now essentially not working properly.
    Am I missing a step to do this change correctly?
    Thanks.
    Edited by: user12602240 on Apr 1, 2013 3:04 PM

    btw, i am using the Sand theme. Not sure if that matters.

  • APEX 2-level tab App. not showing tabs in IE 8

    Hi everybody!
    I've created a 2-level tab application (first it was APEX 3.2 and I upgraded to APEX 4 but it's still happening) and I can only see the parent tabs in Firefox, cause in Internet Explorer 8 they won't show, both over Windows XP or 7.
    The strange thing is that it won't display them in the default page but once I manage to navigate to another page they show as long I'm standing on that other page of the App, so it would seem a tab config. problem, though Firefox shows it right!
    Would this be a compatibility problem or bug, or am I just coming across a developing problem that hopefully Firefox is managing to understand anyway? Following a summary of my App. tab setup in case it was helpful:
    UTILIZATION:_
    Tab Set Page References Tab Name Tab Text Tab Page Parent Tab Set
    TS1 9             T_SERVICES             Services             1              TS1
    T_COUNTRIES          Countries            6              TS1
    T_ENVIRONMENTS    Environments      7              TS1
    T_OWNERS              Owners              8              TS1
    T_SERVERS              Servers               9             TS1
    T_TYPES                 Types                10             TS1
    T_PRODUCTS           Products            11             TS1
    T_REQUIREDSTATUS Required Status  12             TS1
    T_REPORTS 2 T_SUMMARYCHARTS  Summary           16             TS1
    Dependencies           Dependencies    18              TS1
    MANAGE TABS:_
    Tab Set: TS1
    Tab: Services
    Page 1. Service Maintainer - Default Page (2)
    Tab: Countries
    Page 6. Country Maintainer - Default Page (2)
    Tab: Environments
    Page 7. Environment Maintainer - Default Page (2)
    Tab: Owners
    Page 8. Owner maintainer - Default Page (2)
    Tab: Servers
    Page 9. Server Maintainer - Default Page (2)
    Tab: Types
    Page 10. Type Maintainer - Default Page (2)
    Tab: Products
    Page 11. Product Maintainer - Default Page (2)
    Tab: Required Status
    Page 12. Required Status Maintainer - Default Page (2)
    Tab Set: T_REPORTS
    Tab: Summary
    Page 16. Chart - Default Page (2)
    Tab: Dependencies
    Page 18. Dependency Tree - Default Page (2)
    As you can see every tab has a number (2), which means that all pages should display the 2 levels of tabs and there's not conflict, like in a (*) case.
    Thanks.

    Many thanks for answering quickly!, but I created the tabs using blog examples in fact, and as I stated before, under Firefox it's displayed as it should be. My problem is on Internet Explorer, versions 7 and 8 on Win XP or 7.
    Anyone having this same problem with tabs on IE?

  • Help, I accidentally deleted the parent tab set.

    I accidentally deleted the parent tab set from my application, and cannot find anyway to create a new one. Has anyone had this problem?
    Oracle - 9.04R2
    ApEx - 2.2.0
    Browser - Firefox
    Thanks,
    Michelle

    Hi Scott,
    unfortunately I made a stupid thing, being too smart and updating the FLOWS_020200.wwv_SOMETHING_tabs record, modifying parent tab of the problematic tab to main. Doing that caused the complete application to disappear from the Application builder. I guess some checksums in APEX internal objects were modified and that is the result.
    Fortunately I had a recent export of an application, so I didn't loose too much. That also means that I can not help myself with "as of" export.
    Could you please just tell if recreating parent tabs is possible by "clicking through apex screens" or should there be some hacking used.
    Zober

  • Mouseover Option  to parent tab set

    How to create a Mouseover option to the parent tab set in oracle apex application,.in my application i was created the parent tabset,inside the page i also created the horizontal list to each page.without click how to view that list using the mouseover option.....
    http://apex.oracle.com/pls/apex/f?p=57124:2:1292328308166601::NO
    this example of my question....

    Have a look and see if this plugin helps... http://www.apex-plugin.com/oracle-apex-plugins/odtug-competition/tab-menu_203.html

  • ApEx Development Team: tab clear cache - new feature?

    Hi ApEx Development Team!
    I searched the forum and found, that many have (had) the same problem like me:
    Why isn't it possible to clear the cache by clicking on a tab? Why is it only possible for parent tabs?
    Wouldn't it be a nice feature for the next version of ApEx? This feature exists already, only not for the standard tabs...
    Regards,
    Sofie

    taepodong wrote:
    Apologies to dig up old thread but I ran into this problem and thought I'd share my solution as well (for search engine)There is no point in doing this. There are thousands of threads in this forum that are unanswered, or contain solutions that are suboptimal or that have been superseded. They can't all be updated "for search engine"...
    1) Edit the tab property where you want your page's cached removed. In My case it I had a tab pointing to page 6 and I needed page 6's cache cleared when I clicked on it.
    2) Edit the condition for the tab deisplay --> Function returning boolean.
    3) In the function body put the following code:
    begin
    if :APP_PAGE_ID != 6 THEN
    apex_application.clear_page_cache(6);
    END IF;
    RETURN TRUE;
    end; The expression will always evaluate to true, and will clear cache from page 6 if clicked from any other page that is not page 6.
    However if you want to apply condition to the page as well. (say and admin page based on :APP_USER property) then wrap the return true in another If-statement as well.I subscribe to the old-school idea that state-changing side-effects in functions are evil. Using Condition code in this unexpected way will make an application much harder to debug and maintain. If I came across this in an application I was working on I'd refactor it.
    Scott posted the correct way to do this above (post of 26-Mar-2008 23:00&mdash;not marked as helpful/correct as this was before the forum had this feature): Clear cache using an On-Submit Application Process that is conditional on the <tt>:REQUEST</tt> value set by the relevant tab(s).

  • Tab Set not showing for Parent Tab - Bug?

    Greetings,
    (I figured someone else has experienced this issue, but after searching with multiple words I haven't found a thread.)
    Using Application Express 4.0.2.00.07. The application in question is using Theme 7 - Modern Blue
    My APEX application has over 20 pages and a lot of tabs, so I decided to create 2 new parent tabs (for a total of 3 parent tabs) and then assign the tabs to different tab sets so that I won't run out of horizontal space for all the tabs.
    As best that I can tell everything with the parent tabs is set up correctly. I even had another developer look over everything I set up. The two newly created 2 parent tabs don't show their tab set of tabs when I click them. The parent tab that was first created still works, but not the 2 new ones. When we maintain everything via the tab interface everything looks OK, but when we look at the pages they are still assigned to the original tab and I don't see a way to change the tab set on the page level. We copied and deleted a page and when we did the page and its tab displays with the correct parent tab.
    Is this a bug? It seems to be. It seems that creating the parent tab does not cascade down to the page level.
    Also, regardless if it is a bug, is there a way to change the tab set at the page level? I hate to copy a lot of pages and delete the orignal pages, but maybe that's the only work around.
    Also, maybe this is a theme issue? I know that some themes don't handle certain aspects correctly.
    Thanks, Tony

    I think I figured it out. There is a section on the page where you can change the Tab Set. It is under Display Attributes.

  • Parent Tab Set Problem with 1.6

    Hi,
    I came across a small issue when trying to add tabs (2 sets) to a non tab enabled application. Here are the steps to reproduce it:
    1. Switch page default theme to 2 tab sets (edit theme)
    2. Click on tabs link in page editor, takes you to tab manager with 2 add buttons, one on parent and one on tab set.
    3. Click add parent (opens create parent tab wizard)
    4. Enter Parent Tab Label then click next
    5. Error: Tab set or new tab set must be specified.
    It seems that the only way to create a parent tab set is through the new application wizard (defaults to main) or through the standard tab set wizard (Tab Parent). Do you think this should also be available through the create parent wizard?
    I also had some problems with the automatic naming of the tabs. The wizards seem to be a little inconsistent, sometimes asking for a label (and deriving the name) and other times asking for the name. It gets very confusing when you have tabs and parent tabs named the same, especially with the addition of parent tab set and tab sets. Would it be possible to use a different prefix for the different tab types, e.g.
    PTS_XXX (parent tab set)
    PT_XXX (parent tab)
    TS_XXX (tab set)
    T_XXX (tab)
    I'm really impressed with this product, but I think the tabs section tripped me up the most (page templates, page attributes, parent tab sets, parent tabs, tab sets, tabs, etc.) and the manual kind of glossed over a lot of it.
    Thanks.
    James Thorby
    HTMLDB 1.6
    Oracle 10G

    Hello,
    Ahg 1.6?
    You really need to upgrade. If your not the one in charge of that start complaining to whoever is, there are so many enhancements and new features it would be hard to list them.
    Regards,
    Carl
    blog : http://carlback.blogspot.com/
    apex examples : http://apex.oracle.com/pls/otn/f?p=11933:5

  • Multiple instances of the same APEX application under SSO

    Currently we have several applications that are authenticated through Oracle SSO. The apps are authenticating correctly, but I can't be in multiple instances of the same application without having to re-validate through SSO when I move between instances.
    Scenario: I'm successfully signed into my "parent" application, app_id 1 through SSO. I click a custom link that opens the "child" application (app_id 2) to view widget "A". When the page is launched I see the usual "Redirecting to the Login Server for authentication" message (verifying that I'm signed in through SSO) and then it succeeds and takes me into app 2, displaying widget A. I click the next link to launch another instance of app 2 with a different APEX session id for viewing widget "B". This also passes through SSO and redirects me into app 2, displaying widget B as expected. But now if I go back to navigate anywhere on widget A in my first instance, it has to go back through the "Redirecting to Login Server." This now means the widget A window is valid, but the widget B window will have to redirect next time I use it (back & forth & so on...)
    So my question I suppose is: Is it possible/good practice to allow a single user to open multiple separate instances of the same APEX application using different APEX session_ids viewing different data under Oracle Enterprise SSO?
    Guesstimation: It seems like there must be a switch somewhere in SSO that says "allow multiple application instances yes/no"...but my problem may be APEX itself, or how SSO is tied into APEX... Sorry for the super-generic example, I'm not exactly sure where I should be looking to resolve this, and the closest similar problem I found on the forums was here: login to application twice in two seperate IE  windows clears other login

    reset your dock preferences. delete the file homedirectory/library/preferences/com.apple.dock.plist and log out/in. your dock, spaces and exposé will be reset to the defaults. see if the problem goes away.

  • Export APEX application will not import to another APEX instance

    Oracle XE 11gR2
    APEX 4.1.1
    Windows 7
    ===============
    Get the following error when trying to import (via SQL*Plus) an APEX application:
    ORA-02291: integrity constraint (APEX_040100.WWV_FLOWS_FK) violated - parent key not found
    ORA-06512: at "APEX_040100.WWW_FLOW_API", line 679
    ORA-06512: at line 3
    Used the following PL/SQL block to import APEX application:
    declare
    -- the name of the workspace in which to import -- actually your parsing schema
    t_workspace varchar2(30):= 'APEXAPP';
    -- an application number of an existing application in the workspace.
    t_existing_app number := 103;
    -- the "new" application number, an existing number will be dropped first.
    t_new_app number := 103;
    -- security group id, you don't have to set this variable
    t_secgrp_id number;
    begin
    -- get the Security Group ID
    select workspace_id
    into t_secgrp_id
    from apex_applications
    where application_id = t_existing_app;
    wwv_flow_api.set_security_group_id(p_security_group_id => t_secgrp_id);
    apex_application_install.set_application_id(t_new_app);
    apex_application_install.generate_offset;
    apex_application_install.set_schema(t_workspace);
    apex_application_install.set_application_alias('APEXAPP' );
    end;
    @C:\DEPLOY\APEX_APP.sql;
    commit;
    =====================
    I recently did an upgrade from APEX 4.0.2 to 4.1.1 but there were no apps in this particular APEX instance. Just needed an upgrade because the APEX that
    comes with Oracle XE database is 4.0.2 and we are developing with APEX 4.1.1
    Please advise. This block has been used before to deploy APEX exports.

    I'm front of the same issue.
    Did you find a solution ?
    Thanks for help.
    Fanny

  • EA 4.2 Two Level TabsLeft and Right Sidebar not highlighting the parent tab

    Theme 24 Two Level Tabs - Left and Right Sidebar page template is not highlighting the parent tab. I did some changes to the Current Parent tab section and it is working so can we see the changes in the EA2 or the final 4.2 product.
    Orginal
    <li><a class="active" href="#TAB_LINK#">#TAB_LABEL#</a>#TAB_INLINE_EDIT#</li>
    changed to
    <li class="active">#TAB_LABEL##TAB_INLINE_EDIT#</li>

    Log 4.2EA issues and comments using the Feedback link in the App Builder on apexea.oracle.com.

  • How to change theme without losing parental tabs?

    Hi
    I want to change the theme of my application from 5 - business to 7 - Centered.
    After the change I lose the parental tabs..
    how can i change the theme without losing the tabs?
    before:
    http://img224.imageshack.us/img224/6712/beforewz6.jpg
    after:
    http://img292.imageshack.us/img292/4337/aftereu1.jpg

    Change ownership as in change the iPad's name (like from John's iPad to Mary's iPad)? For that just go to Settings > General > About and then tap on the box that says 'Name'.
    If you're looking to change the default Apple ID login, while in the App Store scroll all the way down and tap on the box that has your Apple ID login info. Then choose to sign out. Afterward, scroll back down and select Sign In. By doing this keep in mind that any updates for apps that you downloaded with your Apple ID will require you to sign in to yours to receive the updates.

  • While trying to access parent tab getting Error---Very ungent(Prodution)

    Hi Team,
    We are using 3.0 version. Our application having 4 parent tabs. Each parent tab has 10 tabs and reports.
    We are working from past 2 years onwards but we didn't get any issues with,
    today one of the parent tab is not working whereas rest of the parent tabs(3 parent tabs) working fine but all are in same appicaton. while click on the 4th parent tab we are getting below error like page can't be diplayed.
    The webpage cannot be found
    HTTP 404
    Most likely causes:
    There might be a typing error in the address.
    If you clicked on a link, it may be out of date.
    What you can try:
    Retype the address.
    Go back to the previous page.
    Go to and look for the information you want.
    More information
    This error (HTTP 404 Not Found) means that Internet Explorer was able to connect to the website, but the page you wanted was not found. It's possible that the webpage is temporarily unavailable. Alternatively, the website might have changed or removed the webpage.
    For more information about HTTP errors, see Help.
    Please help us as it is very urgent.
    Thanks,
    Kumar.

    Hi
    What does your tab open when it is clicked? Is it a tabular form with many rows or a larget non-tabular form?
    Your page may be hitting 32K limitation. If it is not the case, please check your alert.log for some clue.
    Zulqarnain

Maybe you are looking for