One of the new PeopleTools 8.54 features that went probably a bit unnoticed amidst the excitement on the new Fluid interface is the ability of Application Engine programs to take advantage of Global Temporary Tables (GTTs)
when using an Oracle Database.
What are GTTs?
The Global Temporary Tables were introduced by Oracle already on the 8i version of its database product. These tables are session specific, meaning that the data inserted in them only (more...)
In the past post
, we covered the approach we followed to have both PeopleTools versions running at once. In this post we will cover the issues we faced and how we got around.Missing Tables
Our approach for identifying tables was not perfect. By examining the traces and logs, we missed some tables that were directly impacted by Application Designer (we did not enable tracing while copying the PeopleTools projects as it would have (more...)
Continuing with my previous
blog entry, the requirement from our customer was to be able to move users back and forth between the old and new PeopleTools releases until the latter was stabilised.
This naturally required both PeopleTools versions to coexist. Now, as you know, you cannot just install the new PeopleTools release binaries and point them to the new release. Each PeopleTools release can only connect to a database for which the PSSTATUS.TOOLSREL (more...)
A few months ago, BNB
concluded a PeopleTools upgrade
with a quite curious approach. Our customer, a leading Spanish financial institution, had PeopleSoft CRM 8.4 installation running under PeopleTools 8.42. Their CRM application was being used to provide support to their 24x7 call centres, and the only reason they had to perform the PeopleTools upgrade was to be able to update their database and WebLogic releases, as the existing ones were already out (more...)
Today was the last day of Oracle OpenWorld 2014
at San Francisco. Even though it started a bit later due to yesterday's Appreciation Event which hosted Aerosmith, Spacehog and Macklemore & Ryan Lewis (which I did not attend, but that's a different story), the day was packed with good sessions. I have particularly appreciated the PeopleTools Meet the Experts session, which allowed me to network with Oracle PeopleTools experts and share points of view with (more...)
During Oracle OpenWorld 2014 the announcement was made that the first functionalities taking advantage of the new Fluid interface capabilities provided in PeopleTools 8.54 would be made available together with the PeopleSoft HCM 9.2 Update Image 9.
Now, according to My Oracle Support
, this image is going to be released on next October 13th. Although you need to have PeopleSoft HCM 9.2 and PeopleTools 8.54
to apply these enhancements to (more...)
Oracle Open World 2014
is a truly storm of information. Not only because of the myriad of sessions and the struggle needed to get from room to another with so many people around, but also due to the clouds, which seem to be everywhere. Ok, that was a really bad joke, but really clouds
are omnipresent in Oracle's vocabulary nowadays.
Still, within the storm, I managed to attend some very interesting PeopleSoft sessions. I may (more...)
You may have found business requirements that need to wait for a given time before performing the next action. For instance, in order to check whether the execution of a batch process has finished or not, you may want to query the process monitor tables to verify the process status every 15 seconds.
Unfortunately, there is no function in PeopleCode that actually sleeps processing during a period of time. Of course you can build a loop until the target time arrives, but that approach consumes CPU while waiting, so it is not resource effective.
In other languages, the sleep
Truncating temporary tables is an effective way of resetting the high-watermark level in Oracle databases.
The following script just truncates those tables that are empty, as sometimes temporary tables containing data should not be deleted as the data may belong to processes in error.
sqlstatement VARCHAR2 (100);
fulltablename VARCHAR2 (40);
SELECT owner || '.' || table_name
FROM all_tables a
WHERE EXISTS (