Wednesday, June 13th, 2012

Direct Reports and loading the component

In Manager Self service, Direct Reports are being used to choose an employee and applying the self-serivce for this employee. The Direct Reports are called from peoplecode, which should be added to the post-build peoplecode of the MSS component. But however, the post-build peoplecode is fired after the component has been loaded initially. The initial load is based on the search record, and if this is the Installation record, then it is filled initially with the Emplid of the user, in this case the manager. If there is a database record being used on one of the pages of the component, then it will be filled with the data of the manager. If then after that a scroll flush and scroll select are being used with the data of the employee chosen from the direct reports, then the data of the manager will be overwritten. This could result in a  database update!

An example: Manager John wants to use a Manager Self Service, for instance a position change for employee Jack. Suppose that for this self Service there is a new custom made Self Service, with direct Reports. When hitting the link, the page is initially filled with the data of manager John. But this is not yet visible. Now John sees the Direct Reports instead, and picks his employee Jack. Behind the screens, a scroll flush and a new scroll-select take place. So the data in the page containting the info of John is erased and replaced by the data of Jack. Now if there is a database record on the page, it results after a save in a database update, in which the data of John is replaced by the data of Jack. The could also be a read-only record on the page, that is only there for informational reasons, for instance a view on Job Data. Then a row of Job is updated with another emplid.

One solution, also used by PeopleSoft self, is a derived record on level 0, and on the scroll or grid on level 1 check “no auto select”. And the same for level 2 etc. Then the scroll-select after picking an employee from Direct Reports it is always considered as an insert. Another solution is using derived records only. And then insert from  the SavePostChange peoplecode.




 Viewed 1529 times by 464 visitors

Category: HR
You can follow any responses to this entry through the RSS 2.0 feed. You can skip to the end and leave a response. Pinging is currently not allowed.

One Response

July 4, 2012


Few months ago, I was asked to add new functionalities (or copy from Self-Service) to the Manager Self-Service. It took me some time to understand how Manager Self Service is designed, and I found it very complicated at the begining.

A good point to understand is that the pages used to select the employees are not part of the MSS component but are loaded when transferring to the component to “shop for an employee”.

Also, we can note that all the text displayed in those pages, in the “shop for an employee” pages, is managed by a Text Catalog (Set Up HRMS > Common Definitions > Text Catalog and Notepad > Maintain Text Catalog).

You can read more on my blog :


[Reply to this comment]