Finally Fusion Apps V1 in 2011
Oracle’s Fusion Applications v1 is finally announced this year … this could have been my opening sentence for the last 5 years but this time it is real. It is becoming very concrete now. Oracle is working with early adaptor customers to implement Fusion Applications modules next to their current application landscape. This co-existence strategy will be the strategy to convince customers to migrate to Fusion Applications in the next couple of years.
As mentioned earlier in one of my blog posts, Oracle gave us the opportunity to get a presentation about Fusion Applications on our yearly Oracle event. It was a great way to get introduced to Fusion Applications.
Single Sign On with PeopleSoft CRM & SAP HR
Integration between systems is hot these days, especially with the emerging packages like Fusion. Yet organizations are still inclined not to use them and develop their own ways of integrating. Sometimes this means totally new products, other situations you will see different packages being tied together. Is one better than the other? Not necessarily, there are several reasons for going into direction A or B.
In this post I would like to talk about a way of integrating PeopleSoft CRM with SAP HR. The requirements for this integration were the following:
- Single Sign On between the two systems
- PeopleSoft CRM used as HR Helpdesk on the support end of the organization
- SAP HR for normal HR related business done by the HR department
- Two work lists to work as one
- SAP HR pages shown within PeopleSoft CRM as it was one application
Several options were investigated and the final decision made was to use an Open Source application called Central Authentication Server (CAS) as the point of single entry and single sign on solution. This package supports several ways of interacting with applications about user credentials.
For the more graphically minded people:

The way CAS works is like many other authentication systems. The user logs in using their credentials, CAS then checks that against the authorization package configured within itself (note – CAS is an Authentication service, it does not regulate your authorization). When the user credentials are good, a ticket is initialized and the user is sent to the default application tied to CAS. The application the user is being redirected to then checks if a valid ticket is present with CAS. When this checks out, the application lets the user in and CAS removes the token so that it can’t be used for a second time.
Errors with nVision reports running via the web on a Windows 2008 process scheduler
When any nVision report is run via the web, it result in errors such as:
‘Excel interface exception E:\pt84918b-retail\peopletools\src\psnxl\gridapp.cpp:2048 Microsoft Office Excel cannot access the file ‘pshome\nvision\LAYOUT\F_allocations_2.xnv’.
But the same report can be run in 2 or 3 tier client workstation.
Upgrading from Windows 2003 to Windows 2008 caused this issue to appear.
PeopleSoft Development has provided a workaround to be implemented on the affected process scheduler machine:
1) Take a backup of the registry before proceeding
2) Associate AppID of “Microsoft Office Excel Application” to its Class ID under the Wow6432Node registry node.
2.1) Create a new String Value by name “AppID” under the following registry key.
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Wow6432Node\CLSID\{00024500-0000-0000-C000-000000000046}
PeopleTools8.50 Hints & Tips: NT Services For Multiple Applications Servers
The Environment variable PS_CFG_HOME new in this version, has been created to hold the configuration files for the application server, batch server and search server domains.
This posts is a part of the PeopleTools 8.50 Hints & Tips series on BAOA regarding PeopleSoft 8.50 tools upgrade.
If you have more PS_HOMEs on the same machine, you can create a separate Windows Service for each environment with the next steps:
Step1 – Setting PS_CFG_HOME
Create a .bat file in each PS_HOME/appserv folder, for example psadmin.bat. This file would contain the following:
d:\peoplesoft\hr91\appserv\psadmin.exe

The problem of waiting time when launching a unix shell command from an application engine
We made a unix shell script that would wait for a certain unknown amount of files to be downloaded, which takes an unpredictable time, and then immediately after the last file is downloaded, copies all files to another directory. The unix shell script is launched from a PeopleSoft Application Engine, and the amount of expected files is passed as a parameter.
One of our clients is using an application of Semantica for viewing pay slips and other documents in PDF, HTML and TIFF format. These documents are present in another database, that is written in java, with no access, and thus is a black box for us. From Peoplesoft you can hit a button online to view for example your pay slip of this month, and then your pay slip pops up in a new window. Behind the screens, when you hit the button, in peoplecode the following command is launched:
Imag is a PL/SQL package within the peoplesoft database, thats calls a routine in the Semantica database. The actual document, for instance a pay slip, is downloaded on the unix server, that is also the PeopleSoft application server. This document is published and with the URL you can view it. After a view minutes however, the document is automatically deleted from the unix server.
Our client asked us to get all documents of a certain population out of the Semantica database, and put them on a CD. Our first idea was to ask the firm Semantica to do that, since we have no access to the Semantica database. But because our budget was very limited, we decided to give it a go ourselves. Therefor we develloped an application engine that calls the imag package with an SQLEXEC as above, so that a certain document is downloaded on the unix server, and then launches a unix shell command from the application engine with the command EXEC(.., true); which copies the document to another directory. Then loop through the whole population and thus all documents can be put in a certain directory, can be zipped and put on a CD.
The difficulty was that a lot of the documents in TIFF format where actually multiple TIFFS. These are TIFFS with multiple pages. When calling the imag package, all pages of a TIFF are downloaded on the unix server one by one, which takes an unknown time. Some have for instance 80 pages, and it could take for instance 10 minutes to download them all. But this is not certain; the next downlaod of 80 pages can suddenly take 5 minutes or 2. Then after some time the documents are automatically deleted again. So the timing of the moment to copy all of the files that are related to one TIFF, needs to be very precise, and is at the same time not predictable.
So the unix shell script that copies the file to the other directory must work a bit like a deamon, which is waiting for the last document to be downloaded and then, when this task is completed, immidiately copies the whole bunch to another directory. Luckily we have information on how many pages each multiple TIFF has. This is a number in one of the related tables in the PeopleSoft database, and thus can be passed as a parameter to the unix shell script. In the unix shell script we used a while statement, to compare the expected amount of pages with the number of counted downloads in the download directory. When these two numbers would match, all files are copied. The waiting command in unix turned out to be quite simple:
The scripts waits as long as the while loop is running. After the command “done” the actual copying can begin. At first I was afraid that all this looping would ask a lot of resources from the unix server. It can very well be that the program keeps on looping for 10 minutes. But we let the application engine run for hours, and the unix server had no problems with it.