Oct 25

Oracle installation hangs

Oracle installation hangs at 89% in 11G
hangs @89% complete” problem…To comeover from this, one needs to uncheck the “Configure Enterprise Manager” option in installation step 4.
Configuration of Enterprise manager is all along a different set of installation, one can carry that out separately.

Permanent link to this article: http://alokbhardwaj.com/oracle-peoplesoft/2010/10/25/oracle-installation-hangs/

Oct 25

Tip on Oracle installation on AIX 6.1

Between the installation of Oracle on AIX 6.1, I got an error message
messageUsername cannot be empty
Exception in thread “FileSystemPreferencesHook” java.lang.SecurityException: Could not lock User prefs. Lock file access denied.
at java.util.prefs.FileSystemPreferences.checkLockFile0ErrorCode(FileSystemPreferences.java:956)
at java.util.prefs.FileSystemPreferences.lockFile(FileSystemPreferences.java:945)
at java.util.prefs.FileSystemPreferences.sync(FileSystemPreferences.java:751)
at java.util.prefs.FileSystemPreferences.flush(FileSystemPreferences.java:844)
at java.util.prefs.FileSystemPreferences.syncWorld(FileSystemPreferences.java:488)
at java.util.prefs.FileSystemPreferences.access$1200(FileSystemPreferences.java:61)
at java.util.prefs.FileSystemPreferences$5$1.run(FileSystemPreferences.java:466)
To correct the problem, one need to edit ‘refhost.xml’ and change the PACKAGE VALUE to the value of the installed fileset …
Server installation
$ cd database/stage/prereq/db/
$ cp -p refhost.xml refhost.xml.ORIG
$ vi refhost.xml
Look for the line (at or about line 55) …
package value=”xlC.aix50.rte” version=”″
Change it to …
package value=”xlC.aix61.rte” version=”″
Save and quit
Client installation
$ cd client/stage/prereq/client/
$ cp -p refhost.xml refhost.xml.ORIG
$ vi refhost.xml
Look for the line (at or about line 55) …
package value=”xlC.aix50.rte” version=”″
Change it to …
package value=”xlC.aix61.rte” version=”″
Save and quit
Then, try again with ‘./runInstaller’
This is a known bug and resolution ID 741422.1 has been delivered for it.

Permanent link to this article: http://alokbhardwaj.com/oracle-peoplesoft/2010/10/25/tip-on-oracle-11-1-0-6-installation-on-aix-6-1/

Sep 20

Bind Variables on PeopleSoft Home Page

Prior to PT 8.48 release, there was a record WEBLIB_MENU, using which we were able to pass the dynamic variables to show the same on PeopleSoft Home Page. Below is the
resolution (Resolution # 1, copied from Oracle PeopleSoft Metalink site)

From PT 8.48 and above, one will not be able to find out the record WEBLIB_MENU. The design has been changed. Below is another resolution (Resolution # 2) how to pass the bind
variables like User ID, Instance name etc on the home page.

Resolution # 1 (Prior to PT 8.48, Oracle PeopleSoft Metalink, resolution ID # 623430.1)

E-PIA : How do you add/modify bind variables to change the look and feel. [ID 623430.1]

Resolution # 2 (PT 8.48 and above)

1. Open up App Package PT_BRANDING > Class BrandingBase in application designer. Search for the string ‘add &addjs’. Add the below code above the comment which contains the string ‘add &addjs’:

&greeting = “User: ” %UserId ” in Database: ” %DbName;

The overall code will be like:

/* Added to show the bind variables on the home page */
&greeting = “User: ” %UserId ” on Database: ” %DbName;
/* add &addjs to PT_IFRAME_HDR_SWAN (bind 22) and PT_IFRAME_HDR(bind 23) */

If this looks fine in presentation, its okay, however, the style/font of this variable “&greeting” can be taken care by PSHOMEPAGE Style Sheet

2. Open the PSHOMEPAGE Style Sheet in application designer, locate the “greeting” style class and replace this piece of code with the below code:

/*.greeting {
color: #FFFFFF;
font-family: Arial, Helvetica, sans-serif;
font-size: 12pt;
font-weight: bold;

/* Customized for the home page bind variables looks*/

.greeting {
color: #FFFFFF;
font-family: Arial, Helvetica, sans-serif;
font-size: 10pt;
font-weight: bold;

The above delivered code is commented and below is the customized one. You can use more alterations according to your choice.

Hope this will be of some help.


Permanent link to this article: http://alokbhardwaj.com/oracle-peoplesoft/2010/09/20/bind-variables-on-peoplesoft-home-page/

Jan 21

Folder and content missing on Portal

This is a very common issue when a new page/component get transferred from one instance to another or when someone create a new component. Portal registry index plays a major role in that and that is why sometimes after migration, we find the migrated content is not visible. For the same, below are some steps which needs to be done.

1. Bouncing the webserver and clearing its cache

This is required to get the new or migrated component on the portal. Webserver gets the information of the new object and reflect the same. For the cache, you can also specify the Cache Stale Interval value under PeopleTools > Web Profile > Web Profile Configuration. On the caching tab there is the Cache Stale Interval value. By default this is set to 86,400 seconds or 24 hrs. You will also want to uncheck the caching boxes on this page.

2. Manual solution

If bouncing the webserver is not a feasible solution, below steps can be done.

— Go to the Structure and Contents. PeopleTools > Portal > Structure and Contents.
— Click on appropriate content which is not coming up.
— Change its sequence number from zero to something else.
— Save.
— Go back to the same content again.
— Change its sequence number back to zero.
— Save.
— Signout from the application.
— Clear your browser’s cache.
— Signin again and check.

From Peoplebooks about the Browser Cache settings
Browser cache can be set for either the user or the entire system. There are a few methods that may help, however it is recommended that in a production environment, unless you are using a kiosk situation or users are sharing computers, that you leave the defaults of these cache settings as delivered.

This type of caching is held in browser cache for the time specified or when a forced refresh occurs. By default this is set to 900 minutes. To change this setting, for everyone, do the following:

a) Navigate to PeopleTools->Personalization->Personalization Optionsb) Enter PPTL for the Option Category Levelc) Click the View All link on the gridd) Click the Format tab on the gride) Click the Set Option Default Value link for the METAXP User Optionf) To disable, set the default value to 0g) Signout of the current session, Delete browser cache, and sign back in for the change to take effect.

The app server or web server does not have to be rebooted for this to take.


To set this option for just the user logging on you need to go to the My Personalizations link at the bottom of the Portal menu structure and choose General options. Then set the override value of the Time page held in cache to 0. This does NOT require an app server reboot however you will need to delete your browser cache.

Permanent link to this article: http://alokbhardwaj.com/oracle-peoplesoft/2010/01/21/folder-and-content-missing-on-portal/

Jul 14

SchedulerTransfer servlet – posting issue

Issue: Distribution agent failed to post the files to report repository.

Error message: The XML file returned by the web server is invalid. XML document object creation failed.

Solution: This is an issue with SchedulerTransfer servlet which requires authentication. When a report needs to get transfer to report repository, distribution agant use SchedulerTransfer servlet for this purpose. SchedulerTransfer servlet checks for the default local node and if there is no authentication there, it will get fail. The Default Local Node must have the Authentication Option set to ‘Password’. Application server needs a restart post this change.

Navigation below…

Peopletools > Integration Broker > Integration Setup > Nodes > Default Local Node must have Password Authentication

PeopleTools->Portal- > Node Definitions

Permanent link to this article: http://alokbhardwaj.com/oracle-peoplesoft/2009/07/14/schedulertransfer-servlet-posting-issue/

May 08

Portal Security Syncronization

Jitu has put on pressure to write this blog even if all the below mentioned information is available in PeopleBooks and PORTAL_CSS program can be well explored in app designer. I tried to put comments as much as I can from PeopleBooks, just few words added from my end. So here we go…

PeopleSoft Internet Architecture (PIA) portal can be defined as the collection of folders and content refrences with the navigational structure. The portal registry is a tree structure where one need to register the content and further it can be organized. The portal registry consists of the following primary parts:

Content references

The main table which consists of all the portal definitions is PSPRSMDEFN. Security mechanism is used for folders, content references, content reference links, tab definitions, pagelets, and user homepages. The hierarchical relationships and dependencies between objects in the portal registry determine what security settings each object must have. The portal won’t work correctly if these security relationships aren’t maintained. Some examples below.

A folder that is not public or hidden must have at least the level of access that its immediate child objects (folders, content references, and content reference links) have.

A content reference link must have exactly the same level of access as the object (content reference or content reference link) to which it links.

A content reference that represents a PeopleSoft component or iScript must have exactly the same level of access as the object that it represents.

Portal object security settings can become unsynchronized when you move portal objects from one database to another using the Project Copy feature in PeopleSoft Application Designer. When you merge projects this way, if the projects contain any portal objects with identical names, the security settings of the portal objects in the last project copied overwrite the security settings of portal objects copied earlier. Also, when a copied portal object doesn’t overwrite an existing object, it changes the structure of the resulting portal registry hierarchy.

Use the Portal Security Synchronization page to reinstate the correct security relationships between objects in the portal registry after you copy a project that contains portal objects. The portal objects are synchronized as follows:

— The security settings of each content reference are compared to the component or iScript that it represents, and updated to match.
— The security settings of each content reference link are compared to the content reference or content reference link to which it connects, and updated to match.
— The security settings of each content reference and content reference link are propagated to its parent folder, in addition to the parent folder’s existing settings.
— None of the parent folder’s existing security access is reduced.
— The security settings of each folder are propagated to its parent folder, in addition to the parent folder’s existing settings.

Delete Invalid Security Option

When you move portal objects from one database to another, roles and permission lists assigned to folders and content references on the source database may not exist on the target database and therefore become invalid. Select the Delete Invalid Security check box on the Portal Security Sychronization page to remove non-existing roles and permission lists from folders and content references.

Main section >> calls INIT section >> and then CREFPERM


STEP01 — Do Select — In this, SQL is to select the OPRID and RUN_CNTL_ID from PS_AERUNCONTROL table (run control table for AE).

STEP02 — Do Select — In this, SQL is to select the PORTAL_NAME (EMPLOYEE, SUPPLIER etc…) and PORTAL_FLDRP_FLAG (This flag is to select if you wish to delete invalid security, you may skip this too and it will set to ‘N’) from PS_PORTAL_CSS_RUN.


STEP01 — PeopleCode — Main step to do the processing for syncronization, invalid security etc…

Below are the tasks in brief what exactly PORTAL_CSS is all about (hopefully I need not to copy-paste the complete PORTAL_CSS app engine).

1. Check for invalid permission lists.

This step figures out the Permission which is/are invalid and further it get deleted by the program for object in concerned portal.

2. Check for invalid roles.

This step figures out the Role which is/are invalid and further it get deleted by the program for object in concerned portal.

3. Check Parent folder permissions and roles.

Check for missing permission list on cref or differences in permission counts.

4. Compare permissions and permission count against PSAUTHITEM
5. Check for missing permission list on cref’s parent folder.
6. Check for PeopleSoft iScript (Invalid or missing node definitions etc…)
7. Worklist URL
8. Some other type of CRef (UEXT, UGEN)
9. CRef Link Synchronization

Compare the link to it’s parent folder. Also, it compare the permissions of the cref link against the object it’s linked to

10. Folder Synchronization

Here, it will only select the nonpublic folders.

Navigation of PORTAL_CSS program: Main Menu > PeopleTools > Portal > Portal Security Sync

Reference: PeopleBooks

Permanent link to this article: http://alokbhardwaj.com/oracle-peoplesoft/2009/05/08/portal-security-syncronization/

Apr 03

Global Payroll system tuning tips

The Global payroll calculation is a batch process and performance tuning is complex and very specific to each customer’s environment. I have consolidated some points which cover some technical and functional areas regarding the GP process tuning.

Technical side:

Check your hardware configuration if that is capable enough to take care of density of employees for which the payroll process is running.

Start looking from the root, i.e. Database. Configurations are environment specific, like in Oracle; you may wish to check with your DBA if the right parameters/option is/are there in init.ora file. For example, if some extra parameters have been included for tuning etc. Also, let be on the latest DB fix/patch for enhanced performance (until and unless there would be any specific issue to be on that).

First step is to Update Statistics. If it is not possible to update all statistics regularly due to DB/table size etc., you may choose specific GP tables (GP_RSLT_ERN_DED, GP_RSLT_ACUM etc…) which needs attention before any batch run.

Index plays a crucial role. Corrupt Index, missing Index on the tables accessed by payroll SQL statements can make payroll tremendously slow. Don’t loose any points for missing INDEX etc.

Analyse SQL statements in case of any issue(s) with GP processing. You/DBA may use a Performance Monitor utility.

Check with the administrator if the App server domain(s) is/are properly configured to take up the load/processing… memory used/available etc.

You can activate tracing on COBOL to find out the cause.

Consider archiving the old data. Making achieve strategy depends upon business to business. Release 9.0 is being delivered with Data Archive Manager for GP too.

— Process Scheduler:

There is no special/different configuration specifically mentioned for any module. As already mentioned, it depends on one’s environment/infrastructure.
However, below are couple of point you wish to look at.

1. Though, this is more to do with configuration of the same component, sometimes you may check accessibility of this with DB (zones etc. of DB machine and the machine where scheduler is running).

2. Check whether this has been configured properly to take up the desired processing load, machine resources etc. Have a dry run and check with admin to see the performance etc.

3. Load balancing plays an important role here. You may ask your admin to configure one scheduler DOMAIN specific for COBOLs. Say for example, there are two domains load balanced. What can be done is, make a new third domain specifically for COBOL and in those two earlier domains; configuration can be done not to
entertain any COBOL requests. By this way, all COBOL specific requests will be entertained by one domain.

4. There is something specific to module like ePay etc information on which you can find from the installation guides of specific tools release. Like, in ePay, When running the payslip report process, the ePay Application Engine process will cache the entire payslip report into memory. If Java is not allocated enough memory- the process will abend with error: java.lang.OutOfMemoryError. To increase the memory for Java edit the psprcs.cfg file of each process scheduler server intended to be used for payslip report generation. Under the [PSTOOLS] section in psprcs.cfg, modify the JVM configuration option to increase the memory allocated.

Functional side:

Needs to be current with updates and fixes.

SETUP: Simple/complex, rules etc…(Review the Pay, Absence and auto-generated accumulators, retro processing, historical rules etc…)

Paygroups: You may want to adjust the size of Paygroups setup– very large Paygroups have an impact on performance. You can process multiple Paygroups
within the same Pay Run ID — i.e., you can still pay all employees at one time (in one pay run) even if they are associated with a number of different Paygroups. The Single Check/Multiple Job feature can significantly impact performance; the degree of performance degradation will increase considerably with larger paygroups; performance can be improved by breaking the employee population into a number of smaller paygroups.

Pay Calc and Pay Confirm process by Pay Calendar entries (basically by PayGroup) and include restart logic. You do not want to go with “all or nothing” processing a single huge PayGroup; organize your employees into smaller Paygroups in order to create smaller “units” of work for both processing and restart in the payroll batch programs.

GP Streaming: As such, one process can only run on one CPU at any one time. Therefore, to reduce processing time, and to make full use of a multi-CPU machine it is necessary to run a number of processes in parallel. Streaming is the term that PeopleSoft uses to describe the act of breaking the set of employees for whom
Payroll is to be calculated into a number of subsets and processing each subset in a separately. Each of these processes can then be run in parallel. The ‘streaming’ facility is a part of the GP product delivered by PeopleSoft. Using it is not a matter of application customisation, but rather one of configuration.

NOTE: I have taken some points from metalink3.

Look for the docs on customer connection (now Metalink3):
Tuning and Administration (Admins)
GP Streaming (Functionals)

As always… comment(s)/suggestion(s) are always welcome…

Permanent link to this article: http://alokbhardwaj.com/oracle-peoplesoft/2009/04/03/global-payroll-system-tuning-tips/

Mar 31

Apply Bundles Manually (Without Change Assistant)

For yes, CA is a great tool to apply bundles, software updates etc., however at times we may need not to use CA to perform this task. Everyone who is aware of bundle stuff, knows where to find the documentation regarding any bundle and how to use the same to apply bundles manually. I am just collecting the task list and I am taking an example of GP Bundles here.

This is a general record sheet for the tasks involved in GP bundles which needs to be applied in instances. This sheet contains tasks and activities involved in one bundle.

— Task: Apply Non Managed MetaData
— Task: Apply Project
— Task: Deploy Files
— Task: Build and Alter
— Task: Reapplying Customizations
— Task: Execute Data Mover script(s)
— Task: Apply GP Packages
— Task: Additional Steps
— Task: Update Package Prerequisites

Apply Non Managed MetaData

Import Tree Definitions etc. According to the requirement, you may cancel the steps if you don’t require for any other language (like Dutch etc…).

Apply Project

Depends if you want to copy from file OR migrate from other instance.

Deploy Files

Below are the locations where files needs to be deployed…

DATA ——- PS_HOMEdata
SQR ——— PS_HOMEsqr
COBOL —— PS_HOMEsrccblbase

Build and Alter

Run Create Tables Script
Run AlterTables Script
Run Create Trigger Script
Run Create View Script
Run Create Index Script

Reapplying Customizations

Depends on setup.

Execute Data Mover script(s)

Additional scripts which have been provided within the bundles.

Apply GP Packages

Depends on country extensions. For some country extensions, there are no non-rule packages. In HR bundles, this steps is not there. For more details of rule and non-rule packages, please refer my other blog “Global Payroll — Rule and Non-Rule packages“.

Additional Steps

Depends per bundle. Some bundles provides additional scripts to clean audit reports, XMLP errors etc…some bundles doesn’t have this step.

Update Package Prerequisites

In the end, CA runs a script “prereqs_i.dms” to update the DB about the prerequisite info. You need to run this script manually. SQL statement in this script is like below:


where XXXXX is your Bundle ID/Update ID. Remember, if you are applying multilingual bundle (for unicode database), then in inset statement, first value precedes with ML, but second value will not. For example, if you are applying Bundle ‘12345’, Delete and insert statement would be like:


Permanent link to this article: http://alokbhardwaj.com/oracle-peoplesoft/2009/03/31/apply-bundles-manually-without-change-assistant/

Mar 31

Change Assistant — Apply bundles with “PeopleTools Upgrade option”

Change Assistant is all about EMF (Environment Management Framework). But at times, your infrastructure is like that which push you back not to configure the same in your environment. Also, in some cases, you can’t make your agents up and run say for example in PROD.

Now, you can skip doing below things to use CA if EMF is not configured:

— Upload environment.
— Go to Customer Connect. (No need if you know what your requirements are)
— Download Change Packages. (You can do the same manually)

What you will not be able to do without EMF configured is “Apply change packages” step.

For that, we left with two options.

— Use CA to apply software updates without using EMF.
— Apply software updates manually (to be discussed in next blog).

Former step, (obviously not recommended by Oracle) eventually means “Applying bundles with PT Upgrade option”. Pain to using this option would be you need to keep a track of pre/postrequisites by yourself and you need to do some manuall steps. However, you will get the sequential orders of the steps to be run and also automatic steps will run by themselves which could make using this option bit different from option to apply software updates completely manual.

Below are the steps to achieve the same.

“Perform PeopleTools Only Upgrade” Option for applying bundles

“PeopleTools Upgrade only” option is primarily for the upgrade of PeopleTools lines (patches/fixes/PT upgrade). The basic difference between “PeopleTools Only Upgrade” and “Apply Application Updates” option is in “PeopleTools Only Upgrade” option, there will be one template can be loaded at one time, i.e. one jobset for one bundle.

Below are the steps which involved to create one job for one bundle using “PeopleTools Upgrade only” option to apply bundles.

Open Change Assistant; choose “Perform PeopleTools Only Upgrade Option”

Select New Environment

Choose a meaningful name for this environment.

Setup your environment to fill with the options given

Fill the database options and TEST CONNECTION

Finalize the options by clicking SAVE

Import the CA Template for desired Bundle

Create a New Job

Choose the desired template (In said example, I am applying GP Bundle # 7)

Select the environment (You have loaded earlier…)

Select the type of Upgrade

Your job starts now

Things need to be done manually:

— You need to download the bundle/POC etc manually.
— You need to unzip the same.
— You need to create the job.
— You need to import the template.
— You need to create the directory structure manually and modify the scripts.

Step “creation of directory” and “modifying the scripts”:

When you tell CA what type of upgrade you want to do either “Initial Upgrade” OR “Move to Production”, CA creates a directory structure in “Staging Directory” like below:


PRJ734353ML ———– Bundle name
XXXXX ——————-Instance name
Bundle7 —————— Bundle Number
MoveToProduction——- Type of upgrade you choose

Now when you will start the job, it will get fail with the error message “Script not found”. When you will go to the staging directory and open the said folder, chances are you will find the directory empty.

What you need to do is, copy all the folders from the UNZIPPED bundle directory (where you unzipped the bundle etc…) to the above location. Folders probably would be:


Now the next step “Modify Script”. (You may need not to do this if you copy the scripts from UNZIPPED folder. I did this because I copied the above folder from other environments staging directory, so the input files etc were already resolved/hardcoded by CA. This was due to the reason I use to make different staging and output directories per instance, like – Staging_instancename).

Say, for example, there is an automatic step “Import message Catalogue Definition”, which actually runs the datamover script “upd_msg_eng_i.dms”. When you will open the script, content will be like below:

SET INPUT D:Staging_softwareupdatePRJ734353ML{f781b618-f759-11dd-8039-816ad04724a0}dataupd734353_msg_eng.dat;

So CA has already the OLD staging directory path where the input file is pointing.

As I said, this depends how your setup is and if you are copying the folders from UNZIPPED location, CA may be able to resolve the new path.

Also one more important thing. If you have applied the bundles anytime using CA and with “Apply Application Updates” option, you might have seen that in the end of each bundle, CA do an additional step: Update Package Prerequisites. Description below.

In the end, CA runs a script “prereqs_i.dms” to update the DB about the prerequisite info if you use “Apply Application Updates” option. You need to run this script manually in case you are using the option “PeopleTools Upgrade Option Only”. SQL statement in this script is like below:


where XXXXX is your Bundle ID/Update ID. Remember, if you are applying multilingual bundle (for unicode database), then in inset statement, first value precedes with ML, but second value will not. For example, if you are applying Bundle ‘12345’, Delete and insert statement would be like:


Hope this helps…comments/suggestions always welcome…

Permanent link to this article: http://alokbhardwaj.com/oracle-peoplesoft/2009/03/31/change-assistant-apply-bundles-with-peopletools-upgrade-option/

Mar 30

Portal Search feature

So ever tried the portal search option to find out something? Content reference? Menu?

This search index has been buit by a delivered AE, PORTAL_INDEX. Navigation of the same is below:

PeopleTools >> Portal >> Build Registry Search Index

To build a search index, go to build search index page using above navigation. Add a run control ID. Select the All Installed Languages box according to your setup. Run the build process. Scheduler starts the Application Engine program named PORTAL_INDEX. Got to Process Monitor link to view the status of the index build process.

Depending on your setup, say in development instance, there are many Menu/content reference additions in a week or so, you may wish to schedule the process using/making any recurrence definition in Scheduler as per requirement (daily, weekly etc…).

Permanent link to this article: http://alokbhardwaj.com/oracle-peoplesoft/2009/03/30/portal-search-feature/

Older posts «

» Newer posts