Feed aggregator

OBIEE 12c Time Dimension: Logical Sequence Number

Rittman Mead Consulting - Thu, 2017-02-23 02:59
 Logical Sequence Number

The key component of any successful OBIEE implementation is the metadata model known as the repository (RPD). Doing it right is sometimes considered "black magic", and small mistakes in the RPD can impact all the exposed Subject Areas, resulting in poor performances or, even worse, wrong results.

Working an RPD requires dedicated knowledge of the tool and we are sharing it in our RPD modelling training both for OBIEE 11g and OBIEE 12c.

If you ever worked on RPD modelling, one of the settings you surely encountered is the Time dimension. This blog post written back in 2007 explains the process of setting up a time dimension for OBIEE 10g. The process didn't have any major modifications until recently when, in 12.2.1, Logical Sequence Numbers were introduced. As per Oracle's documentation this new feature "optimizes time series functions and in some cases improves query time", and in this post we'll see how to configure it and its impact on the time-series calculations. The examples shown below are based on Oracle Sampleapp v607, a really good source of modelling and front-end examples.

Usual Time-series Query Behaviour

Time-series functions like Ago,ToDate, and more recently PeriodRolling, allow end users to compare results coming from different moments just by specifying the level in the time dimension hierarchy and the number of periods to look backwards or forwards. As example if you needed to compare current month sales revenue with the previous month figure you'll end up writing a formula like

 AGO("F0 Sales Base Measures"."1- Revenue","H0 Time"."Month", 1)


  • AGO: is the Time-series function being called
  • "F0 Sales Base Measures"."1- Revenue": is the metric
  • "H0 Time"."Month": is the time hierarchy level
  • 1: is the amount of periods (months in our case) to look back in history

Once the time-series metric has been created, it can be used in an analysis like the following to compare Revenue of 2015-04 with the one of the previous month.

 Logical Sequence Number

The analysis generates the following Logical SQL which basically lists the columns retrieved and the filters applied.

   0 s_0,
   "A - Sample Sales"."Time"."T02 Per Name Month" s_1,
   "A - Sample Sales"."Base Facts"."1- Revenue" s_2,
   "A - Sample Sales"."Time Series"."127  Mth Ago Rev  (Fix Time Lvl)" s_3
FROM "A - Sample Sales"  
("Time"."T02 Per Name Month" = '2015 / 04')

The translation to source SQL hugely depends on the data model created in the RPD and on the data source type. In our example an Oracle SQL gets generated containing the following steps:

  • Sequence Generation: a RANK function is used to created a dense sequence based on Per_Name_Month, the chronological key defined in the time-hierarchy for the month level. Mth_Key is also part of the query since it's used in the join between dimension and fact table.
OBICOMMON0 AS (select DENSE_RANK() OVER ( ORDER BY T653.Per_Name_Month) as c1,  
     T653.Mth_Key as c2,
     T653.Per_Name_Month as c3
     BISAMPLE.SAMP_TIME_MTH_D T653 /* D02 Time Month Grain */ ),
  • Period Shifting: The sequence generated above is now shifted by the number of periods defined in the column formula (D1.c1 + 1), in our example 1.
SAWITH0 AS (select D1.c1 + 1 as c1,  
     D1.c2 as c2,
     D1.c3 as c3
     OBICOMMON0 D1),
  • Ago Period Query: Using the period shifted query the historical record (or set of records) is retrieved.
SAWITH1 AS (select distinct D1.c1 as c1,  
     D1.c3 as c2
     OBICOMMON0 D1),
SAWITH2 AS (select sum(T418.Revenue) as c1,  
     D3.c2 as c2
     BISAMPLE.SAMP_REVENUE_F T418 /* F10 Billed Rev */ ,
     SAWITH0 D4,
     SAWITH1 D3
where  ( T418.Bill_Mth_Key = D4.c2 and D3.c1 = D4.c1 and D3.c2 = '2015 / 04' )  
group by D3.c2, D4.c3),  

The period shifted query usage is explained visually by the image below

 Logical Sequence Number

  • Selected Period Query: the query for the selected period, in our case 2015-04, is executed using standard time dimension
SAWITH3 AS (select sum(T418.Revenue) as c1,  
     T653.Per_Name_Month as c2
     BISAMPLE.SAMP_TIME_MTH_D T653 /* D02 Time Month Grain */ ,
     BISAMPLE.SAMP_REVENUE_F T418 /* F10 Billed Rev */ 
where  ( T418.Bill_Mth_Key = T653.Mth_Key and T653.Per_Name_Month = '2015 / 04' )  
group by T653.Per_Name_Month)
  • Resultsets joining: Results coming from Ago Period and Selected Period queries are then joined with an outer join.
select D1.c1 as c1, D1.c2 as c2, D1.c3 as c3, D1.c4 as c4 from ( select D1.c1 as c1,  
     D1.c2 as c2,
     D1.c3 as c3,
     D1.c4 as c4
     (select 0 as c1,
               coalesce( D1.c2, D2.c2) as c2,
               D2.c1 as c3,
               D1.c1 as c4,
               ROW_NUMBER() OVER (PARTITION BY coalesce( D1.c2, D2.c2) ORDER BY coalesce( D1.c2, D2.c2) ASC) as c5
               SAWITH2 D1 full outer join SAWITH3 D2 On D1.c2 = D2.c2
     ) D1
where  ( D1.c5 = 1 )  
order by c2 ) D1 where rownum <= 5000001  

As you can see, it's a rather complex set of instructions that involves several steps including analytical functions like the DENSE_RANK() in the sequence generation. In our case we have been lucky that the source system provided the DENSE_RANK() function; with other sources the sequence generation needs to be calculated directly by the BI Server (OBIS) with a possible degradation of performances.

What is Logical Sequence Number?

The Sequence Generation step mentioned above can sometimes be the bottleneck of the whole query especially when the time dimension is complex or huge in volume since DENSE_RANK() is a costly analytical function.

All that OBIEE's Time-series need to work is a pure sequence, or in Oracle's words:

Sequence numbers are enumerations of time dimensional members at a certain level. The enumeration must be dense (no gaps) and must correspond to a real time order. For example, months in a year can be enumerated from 1 to 12.

Then what if we can find a way of pre-calculating them and storing in the table or calculate them on the fly but using functions less expensive than a DENSE_RANK()?

This is the idea behind the Logical Sequence Number (LSN): a way of avoiding the BI Server (OBIS) needing to execute the DENSE_RANK(), by passing either a pre-calculated sequence column in the source table or a cheaper-cost function to calculate it on the fly based on existing columns.

The formula behind a Logical Sequence Number must resolve in a number (no varchar, or dates are allowed) and can either be:

  • Absolute: when the sequence is consistent and doesn't need any external reference, e.g. calendar years are a self-defined sequence
  • Relative: when the sequence is relative to a parent level, e.g. creating a sequence for months between 1 and 12 would need the calendar year as parent level to provide correct cross-years references

As the word already says "Sequence Numbers" must be sequential, no gaps can be included. Year and month number are good examples of this.

But what if we wanted to provide an absolute sequence number at month level?
One could think about using a month key in the YYYYMM format but this is not a sequence: 201701 <> 201612+1. The best way of generating the sequence number would be to add it as a column in the database table.

Will take as example the SAMP_TIME_MTH_D table that can be found in Sampleapp v607 containing MONTH_KEY column in the YYYYMM format.
 Logical Sequence Number

I'll add to SAMP_TIME_MTH_D a column MONTH_ABS_SEQ containing the absolute sequence number. The formula behind the column is exactly what Oracle was doing under the covers using a DENSE_RANK.


And the end result as expected being

 Logical Sequence Number

How are Logical Sequence Number Used?

Previously I described the two types of Logical Sequence Numbers: Absolute and Relative, each one has it use case:

  • PERIODROLLING: This function uses absolute LSN to calculate the starting Sequence Number based on the selected one: e.g. looking at the previous image a 6 month rolling starting from 2009-02 will include data from sequences in the range [9-14].
  • TO_DATE: uses relative LSN, e.g A YearToDate Measure shown by month will use the month relative LSN to calculate the previous months in the same year.
  • AGO: Ago function uses both absolute and relative: Absolute numbers are used if the grain of the query and the one of the AGO are at the same level e.g. Yearly analysis of Actual vs Previous Year. However when the grain of the shift in the ago is higher than the grain of the query Relative LSN are used, e.g. Monthly analysis of Actual vs Previous Year.
How to Configure Logical Sequence Numbers

Logical Sequence Number is a new feature and as such it requires additional settings in the time dimension hierarchy to be working. In our case we'll add two sequences, an absolute at calendar year level and a relative at calendar month level.
We'll add the sequences directly as formulas in the repository however those formulas should be pushed down as columns in the database table if optimal performances are sought.

In order to set the Logical Sequence Numbers we need to open the RPD (the SampleApp one in this test), and select the Time dimension we want to change.
 Logical Sequence Number

After selecting any level apart from the Grand Total (top of the hierarchy) a new tab called "Sequence Numbers" should be visible. However if, like in our case, none of the columns at that level are integer or doubles, the sequence number selector is disabled.

 Logical Sequence Number

In order to enable the selector we first need to create a sequence column in our dimension and bring it at the correct level in the hierarchy. For the Year Level there is already an integer column named "T35 Cal Year" which can be used as sequence. We need simply to drag the column at Year level in the Time hierarchy and set it as Absolute Sequence.

 Logical Sequence Number

I can do the same with the Month level in the hierarchy and the "T32 Cal Month" column. Note that the column contains only the months enumeration from 1 till 12 so we need to set the sequence number as Relative to the level Year.

 Logical Sequence Number

Please note that both absolute and relative LSN can be (and should be) entered since as discussed above each have a different use cases. In addition relative LSN should be set for all logical parents level in the hierarchy since they will be used only if the grain of the time shift matches the one of the parent level. For example a Monthly LSN based on Year logical level will only be used in AGO functions having a year shift and not in case of Quarterly shift.

For an optimal usage every level of the time hierarchy should have one absolute and a relative LSN for each of the parents level in the hierarchy.

Impact on SQL

It's time now to review the SQL generated by our analysis and check the differences with the old-school time-series query.

When creating an analysis at year level like the following
 Logical Sequence Number

As Expected the BI Server (OBIS) uses the CAL_YEAR column as sequence instead of the DENSE_RANK() function over the PER_NAME_YEAR column.

OBICOMMON0 AS (select T795.CAL_YEAR as c1,  
     T795.QTR_KEY as c2,
     T795.PER_NAME_YEAR as c3
     BISAMPLE.SAMP_TIME_QTR_D T795 /* D03 Time Quarter Grain */ )

While when using the TO_DATE both the relative sequence is used, like in the following example where the measure "166 Revenue Year To Date" is defined by the formula:

TODATE("01 - Sample App"."F0 Sales Base Measures"."1- Revenue",  "01 - Sample App"."H0 Time"."Year" )  

 Logical Sequence Number

The following query gets generated, note the usage of Cal_Year and Cal_Month in the sequence generation query instead of the DENSE_RANK() function as per RPD settings mentioned above.

OBICOMMON0 AS (select T653.Cal_Year as c1,  
     T653.Cal_Month as c2,
     T653.Per_Name_Month as c3,
     T653.Per_Name_Year as c4
     BISAMPLE.SAMP_TIME_MTH_D T653 /* D02 Time Month Grain */ )
Are Logical Sequence Numbers Useful?

Most of the times the bottleneck when using Time Series is not in the sequence generation, since the time dimension cardinality is rarely big enough to produce a noticeable delay in the query time, but rather in the poorly managed calculations made on query time on top of massive fact tables.

Don't expect LSN to solve all your performance problems with Time Series. However, the usage of Logical Sequence Numbers provides to OBI a way of pre-cooking part of the calculation and so in theory should help performance. The small effort required to set them up centrally in the time hierarchy is covered by the benefits during query time, without having to touch any pre-defined time-series calculation.

If you do have performance problems with your OBIEE system, or would like to ensure that a system you’re building will be performant from the outset, please get in touch to find out more about our Performance Analytics service!
We also provide expert OBIEE training, implementations, QA and health checks - to find out more about how we can help you, please contact us!

Categories: BI & Warehousing

Reminder: Upgrade WebCenter Portal to

Steven Chan - Thu, 2017-02-23 02:06

Oracle Fusion Middleware products get new Patch Set updates.  When a new Patch Set has been released, a 12 month Grace Period for the previous Patch Set begins.  Once that Grace Period ends, no new patches for the previous Patch Set will be released.

For more details, see:

Oracle WebCenter Portal was formerly called "OracleWebCenter Suite ".  WebCenter Portal was released in April 2013.  WebCenter Portal was released in May 2015, which means that the Grace Period for WebCenter Portal ended after May 2016. 

All E-Business Suite users running WebCenter Portal should upgrade to WebCenter Portal to remain under Error Correction Support. WebCenter Portal 11.1.1.x is covered by Premier Support to December 2018, and covered by Extended Support to December 2021.

Related Articles

Categories: APPS Blogs

Links for 2017-02-22 [del.icio.us]

Fuad Arshad - Thu, 2017-02-23 02:00

Links for 2017-02-22 [del.icio.us]

Categories: DBA Blogs

Lateral Usage in 12c

Tom Kyte - Wed, 2017-02-22 20:06
Hi, I have learned that there is a new LATERAL keyword available in 12c Version. However, trying to understand the usage of the same. tried going through some links, but couldn't get complete picture. Syntax happy. Can you please help me.
Categories: DBA Blogs

convert CLOB data over 4K character to character

Tom Kyte - Wed, 2017-02-22 20:06
Hi, I am creating a materialized view, which needs to join multiple tables, and one of them (just only one table) giving me duplicate records in the view. When I used 'Distinct' keyword it was throwing error, knowing that when SELECT script has CL...
Categories: DBA Blogs

Analytics vs subquery

Tom Kyte - Wed, 2017-02-22 20:06
I have an example data set where I would like to count the number of RET status for a given event. This was a simple query, but now they would like the count reset when there is a different created_by. Barney in this example would reset the coun...
Categories: DBA Blogs

Convert rows to columns dynamically

Tom Kyte - Wed, 2017-02-22 20:06
Hi Tom, I have a table with data as below BRANCHNAME CUSTOMERNUM 100 1001010 100 1001011 103 1001012 104 1001013 104 1001014 104 1001015 105 1001016 105 1001017 106 1001018 now my requirement is to get the output as below. Get the c...
Categories: DBA Blogs

Website Broken Links (Mostly Not Oracle-Related)

Tim Hall - Wed, 2017-02-22 14:57

In a recent twitter exchange someone asked if I scan for broken links, oh if you only knew, and the answer is yes. I don’t do it all the time as the results can be rather depressing, and I am OCD enough to force myself to fix them. I also get people notifying me of them, which is very welcome, so I am always trying to keep on top of this stuff. Based on that exchange I thought it was about time, so I logged on the sitecrawl.net and started a new scan.

As usual, the number of internal broken links were low. I had a couple of typos in links that are now corrected.

Typically I am greeted by hundreds of broken links to Oracle documentation, but thankfully this time that was pretty good. Only about 30, many of which were to ORDS docs.

Probably the biggest offenders this time were:

  • Google : They dropped the Picassa URLs, so lots of blog posts had to be amended.
  • Twitter. Now it’s not actually Twitter’s fault, but there were a lot of twitter accounts in the blog comments that no longer exist. I’m not even talking about those that are obvious people trying to promote their brand, but regular users too. I didn’t realise ditching your Twitter account was such a big thing.
  • URL Shortners : Either the URL shortener reference no longer exists, the thing it points to no longer exists, or a retweet has chopped off the URL, so it is just junk.

I’ve been pretty merciless with some of this stuff. Rather than wasting a whole weekend, it’s only taken about 2 hours to get things ship-shape.



Website Broken Links (Mostly Not Oracle-Related) was first posted on February 22, 2017 at 9:57 pm.
©2012 "The ORACLE-BASE Blog". Use of this feed is for personal non-commercial use only. If you are not reading this article in your feed reader, then the site is guilty of copyright infringement.

Oracle New Public Cloud Licensing Policy – Good or Bad?

Pythian Group - Wed, 2017-02-22 11:05

A little while ago after a question from a customer about supporting Oracle products on the Google Cloud Platform (GCP) I decided to take a look for any updates to the Oracle public cloud support policies. The document can be easily found on the Oracle website. I quickly noticed some significant changes in the new version of the document. More specifically, I’m referring to the changes that came with the latest version of that document dated January 23, 2017.

In this blog I will attempt to summarize the findings and my thoughts about the matter. Before proceeding any further, let’s begin with a safe harbor notice (as Oracle does) and mention that I do not work for Oracle and I am not a licensing expert. Some of my observations may be incorrect and everyone reading this post is strongly encouraged to make a fully informed decision only after consultation with an Oracle sales representative. After reading the Oracle licensing policy, you should bear in mind that the document provides only guidelines and it is published for “education purposes only”.

So, what do we have in the new edition? The document shares details about the Oracle licensing policy on public cloud environments including AWS EC2, AWS RDS and Microsoft Azure platforms. Alas, still no mention of Google Cloud Platform (GCP). It leaves GCP out of charted territory and even though it doesn’t explicitly prohibit you from moving your Oracle products to GCP, it makes it difficult to estimate the impact and cost.

The first paragraph has a link to listing of all Oracle products where the policy applies. Notably, the document explicitly lists almost all Oracle Database Enterprise Edition options and packs except Oracle RAC and Multitenant. If the absence of Oracle RAC may have some technical justifications, then the exclusion of the Multitenant option doesn’t make too much sense for me.

The next paragraph reveals a lot of changes. The new version of the document officially recognizes AWS vCPU as a thread, not as a core. Prior to January 23 2017, we used to have an AWS published document showing vCores by instance type for licensing calculations, and it was widely-used even though it was never officially provided by Oracle. People used number of cores from the document and applied the Oracle multi-core factor table on top of the cores count. There was never a similar document for Azure consequently considered a vCPU as a vCore and the same calculation using the multi-core factor table. The new version of the Oracle document now states explicitly that the two vCPU on AWS have the same licensing cost as one vCPU on Azure.

It’s explicitly stated in the document that either two vCPU from AWS or one vCPU from Azure are equivalent to one Oracle CPU license. Another statement confirms that from now on, the Oracle multi-core factor no longer applies for the mentioned public cloud environments. This can be a serious impact to people migrating or planning to migrate to AWS or Azure using Bring Your Own License (BYOL) policy. They may now find themselves in a difficult position. Either you plan your migration to a smaller environment or increase your licensing cost. In this case, it’s important to keep in mind that the size of AWS EC2 instance may have direct impact not only to CPU power but to maximum available I/O on the storage layer.

Additionally, there is now a section containing formally defined rules for Oracle Database Standard Edition and Standard Edition 2. According to the paper, we count every four vCPUs on AWS or two vCPUs on Azure as one socket. This means that you cannot have more than 8 AWS vCPUs for a Standard Edition 2 (SE2) license. Standard Edition (SE) allows you to have a 16 vCPU machine, and hence still provides more opportunities when sizing EC2 or RDS . Unfortunately, the SE is only available up to version and support for that release is coming to an end. So what can still be used for an Oracle SE2 on AWS? We can get one of the *.2xlarge instances on EC2 or pick up a similarly sized RDS instance. Is that going to be big enough? That depends on your workload profile, but again, keep in mind IO limitations per instance type. It is going to be a maximum of 8000 IOPS per the instance. Not a small number, but you will need to measure and identify your IO requirements before going to the cloud.

On one hand, the new policies are way more clear and direct than they used to be and I believe that the clarification is good. It is always easier to plan your implementations and budget when you are confident of what to expect. On the other hand, it looks like we have to pay twice as much in licensing fees when moving to AWS or Azure when compared with any bare metal or OVM environment on premises. Will it make Oracle products more attractive for customers? I have some doubts that it will. Will it make the Oracle Cloud a more interesting target platform for cloud migrations? Possibly. That is likely the main goal of Oracle but we’ve yet to see if it works out for them as expected. I liked it when Oracle made Oracle Express Edition (XE) available for everyone for free and when Oracle Standard Edition came with the RAC option at no additional costs. While I don’t have any official numbers, I think that the Express Edition and RAC included with SE turned many customers onto Oracle products. However, I’m afraid that the new licensing policy for cloud may do the opposite and turn some people away from Oracle and consequently play out really badly for Oracle in the long term.

Categories: DBA Blogs

ORA-00933 SQL command not properly ended Solution

Complete IT Professional - Wed, 2017-02-22 05:00
Are you getting the ORA-00933: SQL command not properly ended error? Learn what causes it and how to resolve it in this article. ORA-00933 Cause You have run an SQL statement and have gotten this error: ORA-00933: SQL command not properly ended What causes this error? Most likely, the SQL statement you’re running has a […]
Categories: Development

Webcast: "Migrating and Managing Customizations for EBS 12.2"

Steven Chan - Wed, 2017-02-22 02:05

EBS customizationsOracle University has a wealth of free webcasts for Oracle E-Business Suite.  If you're looking for an overview of how to manage your customizations when upgrading to EBS 12.2, see:

Have you created custom schemas, personalized or extended your Oracle E-Business Suite environment? Santiago Bastidas, Senior Principal Product Manager, discusses how to select the best upgrade approach for existing customizations. This session will help you understand the new customization standards required by the Edition-Based Redefinition feature of Oracle Database to be compliant with the Online Patching feature of Oracle E-Business Suite. You’ll learn about customization use cases, tools, and technologies you can use to ensure that all your customizations are preserved during and after the upgrade. You’ll also hear about reports you can run before the upgrade to detect and fix your customizations to make them 12.2-compliant. This material was presented at Oracle OpenWorld 2016.

Categories: APPS Blogs

Script to recompile the synonyms in a schema

Tom Kyte - Wed, 2017-02-22 01:46
Hi I have written the below script to recompile the synonyms in all the schemas but I am getting invalid character error. Could you check is there any wrong with the script: spool 'c:synonyms.txt' begin for i in (select object_name,ow...
Categories: DBA Blogs

Join (or equivalent) a collection to a table.

Tom Kyte - Wed, 2017-02-22 01:46
I need to build a procedure that will accept a collection of numbers that I need to then find matches in a table. If the elements of the collection were in another table, then it would be a simple case to join the tables. How can I accomplish this ...
Categories: DBA Blogs

Dedicated and Shared Mode

Tom Kyte - Wed, 2017-02-22 01:46
Hi Tom, How can we know that our database is running on shared mode or dedicated mode. Can we configure the database so that we can change the mode according to our need. Thanks, Snehasish Das.
Categories: DBA Blogs

Exceptions handling - how to rollback correctly

Tom Kyte - Wed, 2017-02-22 01:46
Hi everyone, my question is about how to correctly handling exception in a pl/sql procedure: I need to rollback everything made in a begin-end block if there's any kind of exception. Here's the example code: <code>create table prova (cod ...
Categories: DBA Blogs

Log_checkpoint_interval and timeout

Tom Kyte - Wed, 2017-02-22 01:46
Hi, It is rather confusing from documentation that the meaning of Log_checkpoint_interval and log_checkpoint_timeout between Oracle 8 and 8i versions. I believe that even though the definitions changed in 8i meaning is same,if so why did the...
Categories: DBA Blogs

OGG: Unable to lock file “/xxx/de000000″ (error 11, Resource temporarily unavailable).

Yann Neuhaus - Wed, 2017-02-22 00:32

When you see the above message in the GoldenGate logfile there are usually orphan processes that prevent GoldenGate from locking the file (typically when your trail files are on NFS). In a case I had at a customer last week this was not the case. It could be confirmed that there are no other processes sitting on the file by doing an fuser on the file on all nodes of the cluster (This was an 8 node Exadata). What we finally needed to do was:

mv de000000 de000000_bak
cp de000000_bak de000000
rm de000000

Once we did this we could start the extract again and GoldenGate was happy. Hope this helps …


Cet article OGG: Unable to lock file “/xxx/de000000″ (error 11, Resource temporarily unavailable). est apparu en premier sur Blog dbi services.

Oracle Mobile Cloud Service 3.1 is available now!

Are you a digital business yet? Mobile is the center of Digital Transformation.  Oracle Mobile Cloud Service provides you with the power and the tools you need to develop a strategy for...

We share our skills to maximize your revenue!
Categories: DBA Blogs

PeopleTools Idea Pages

PeopleSoft Technology Blog - Tue, 2017-02-21 16:26

We're doing a lot to enhance PeopleTools, and we have many avenues for gathering requirements: focus groups, conferences, research, advisory boards, and so on.  One area that we would like to promote particularly is the PeopleSoft Idea pages.  There is an idea page for PeopleTools specifically.  We are monitoring these pages regularly, so if you have suggestions for enhancements regardless of size or complexity, please feel free to submit them here.  This is your chance to guide us in the direction of PeopleSoft technology.  In addition to submitting your own ideas, you can vote on the suggestions of others to give them more weight.  Take a look at these pages and submit your ideas and suggestions.  This area is really for ideas about any area of PeopleSoft technology, so if you have ideas about areas beyond PeopleTools--like Enterprise Components or the Interaction Hub, you can submit them here as well.


Subscribe to Oracle FAQ aggregator