Here is a template that I usually work from to programmatically implement effective-dating for a field. Usually PeopleTools automatically takes care of effective-dating, however there are certain situations in which this does not occur. Eg. when clicking on a hyperlink or button that then modifies a non-derived record-field on the page.

This particular scenario can be written more succinctly as shown below:

It all depends on your requirements. I usually start from the template and then re-structure as I see fit.

In summary, this logic ensures that a user will only be able to edit a field on an effective-dated page when any of the following criteria is met:
– The row has been newly inserted
– The row is future dated
– The context is Correction mode.

I encountered the following error when trying to launch Peoplesoft applications such as Application Designer and Data Mover on my Windows 7 (64-bit) virtual machine:

My machine had Oracle Server (64-bit) installed. I discovered that while PeopleTools 8.5x has been certified to run on 64-bit Windows platforms, the program itself is 32-bit. Thus, any library it needs to load also needs to be 32-bit. In this case, the Oracle server lib ‘PSORA’ must be the 32-bit version rather than the 64-bit version. I managed to work around this by installing the 32-bit Oracle Client ( version on the system.

After rebooting, I noticed some other weird errors. I ended up removing my ORACLE_HOME environment variable altogether and then modifying the Add to PATH variable in psappsrv.cfg to point to both the Client and the Server ORACLE_HOME environment variables, and everything started working again.