Skip to Main Content

Application Development Software

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

Navigation Pane - Display Content

Brindha SadagopanFeb 1 2018 — edited Mar 20 2018

Hi,

Below is my page template code to display the subpages as a navigation bar in the main page - (it works fine)

             <af:panelGroupLayout id="pgl_22" layout="horizontal" halign="left">

                     

                       <af:navigationPane id="np1" value="#{navigationContext.defaultNavigationModel.currentSelection.children}" var="node2" hint="bar">

                           <f:facet name="nodeStamp">

                            <af:commandNavigationItem text="#{node2.title}"

                             id="cni1"  destination="#{node2.goLinkPrettyUrl}" targetFrame="_self">

                           </f:facet>

                          </af:navigationPane>

         

                   

                  </af:panelGroupLayout>

                  <af:skipLinkTarget/>

                  <af:facetRef facetName="content"/>

               </af:panelGroupLayout>

Here, since I'm giving the destination as the URL of the subpage, when I click the link in the page it is redirecting to the new url (subpage)..

But instead of this, is there any way to set the targetframe as the content of the main page.. Because I dont have any content for the main page.. Just it should display the content of the subpages..

for example - I have two subpages - subpg1 and subpg2.. When I click the main page, it should display the content of subpg1 by default and when I click the link subpg2 in nav bar, it should display the content of subpg2 in the same page.

Just trying to achieve this thro page template before creating <af:golink> for each page..

Thanks as always!

This post has been answered by Brindha Sadagopan on Mar 19 2018
Jump to Answer

Comments

Anirban1

Hi,

Create a dummy session variable, put that session variable in a prompt as request variable, this will override the session variable you mentioned in the RPD. Now use that session variable to populate your different session variable.

Let me know if it resolves your issue.

Thanks

Anirban

anwickes

Thanks for the response Anirban.

I was thinking about the theory of this last night and don't think this will end up helping me anyway.

Correct me if i'm wrong.

Session variables are initialized when a user logs in.

This means that if I had 2 session variables set up (A & B), A being the dummy variable overridden by the request variable and B being something like "Dateadd(valueof(A),-1)", B would be initialized before A was overridden. This means I would still have to write a piece of code to overwrite each session variable anyway.

My main objective is to have 6 session variables. One holding the date prompted. 2-6 holding 1 month ago, 2 month ago, 3 month ago etc.

Is there an easier way? It seems like such an easy thing to do.

Cheers,

Adam

anwickes

Alright.... Think i was doing things the hard way.
For those people who are trying to do the same thing and find this thread, this is what I did.

In my time dimension, I created 5 extra columns and calculated the previous 5 months worth of dates.

Then in my main date prompt (That the user will see), I made it set a presentation variable (p_Var).

I then created another prompt with 5 "column variables". Each of the 5 prompts will use the new columns in the time dimension.

eg: prompt 1 = "Time Dim"."1 Month Ago", prompt 2 = "Time Dim"."2 Months Ago" etc

In the default selection for each new prompt, select "SQL RESULTS" and type something like:

1 Month Ago = SELECT "Time"."Month - 1 Month Ago" FROM "RPD_Name" WHERE "Time"."Month" = '@{p_Var}';

2 Months Ago = SELECT "Time"."Month - 2 Month Ago" FROM "RPD_Name" WHERE "Time"."Month" = '@{p_Var}';

etc


Each of the 5 prompts set new presentation variables. ie p_Var1, p_Var2, p_Var3 etc

I then dragged the new prompt onto the dashboard and set it to invisible by typing "display:none" in the Custom CSS Style of the section formatting options.

To update the column names to use the prompt values, we can now refer to the presentation values we have created by using the following in the column name:

@{dashboard.variables['p_Var1']}

Hope that has helped guys

I am certainly happy now that i've worked it out.

Christian Berg-0racle

anwickes wrote:

This means that if I had 2 session variables set up (A & B), A being the dummy variable overridden by the request variable and B being something like "Dateadd(valueof(A),-1)", B would be initialized before A was overridden. This means I would still have to write a piece of code to overwrite each session variable anyway.

Hmm no, since nothing prevents you from nesting variables which in the example state here would give:

B = "Dateadd(@{pvMyPresVar}{VALUEOF(NQ_SESSION.A)},-1)"

anwickes

But B would be initialised on session start which is before A is overridden by the prompt?

Christian Berg-0racle

Sorry, I meant literally use "Dateadd(@{pvMyPresVar}{VALUEOF(NQ_SESSION.A)},-1)" instead of B. Should have been "B => ..."

anwickes

i don't think you can use dateadd in a column name? Could be wrong though.

Christian Berg-0racle

Well TIMESTAMPADD(SQL_TSI_DAY...  , I just copied your formula for arguments sake.

anwickes

I will try this tomorrow but I didn't think you could do any manipulation of variables in a column name.

Understand your method would work in a column formula but not sure about column name.

1 - 9
Locked Post
New comments cannot be posted to this locked post.

Post Details

Locked on Apr 17 2018
Added on Feb 1 2018
12 comments
351 views