Showing posts with label Peoplesoft Global Payroll. Show all posts
Showing posts with label Peoplesoft Global Payroll. Show all posts

Saturday, April 14, 2012

Configurable Matrices as Mapping Tables

There was a discussion in ITToolbox on using Configurable Matrices to act as mapping tables. This is one utility we have used successfully for maintaining mapping values in PeopleSoft without the need to develop custom records, components or pages.

So, what are Configurable Matrices?
Configurable Matrix is a delivered functionality in PeopleSoft to maintain a matrix of input values and their corresponding results. This is very similar to the concept of Brackets in Global Payroll and Absence Management. You can easily define a Configurable Matrix by defining the input fields, the result fields and the data correlation between the input and result fields.

Can you give an example where Configurable Matrices can be used?
Here are some examples where we have used configurable matrices as mapping tables:

1. In a multi-country implementation, one customer wanted to control the open period of Timesheet based on the country and role. For example - in Country A, the timesheet had to be open for only the current period for employees and current and past period for managers. While, in Country B the timesheet had to be open for the current and past period for employees and managers.
Rather than hard-coding this logic in peoplecode or creating a custom table, we simply created a Configurable Matrix definition with country and role as the input fields and the open periods as the result field. In the peoplecode customisation to control the timesheet open periods, we queried the Configurable Matrix data to get the appropriate open period based on the country and role of the user.

2. One customer wanted to maintain default work schedules per company. We suggested the use of Configurable Matrices to maintain this relationship.

What are the advantages of using Configurable Matrices?
Configurable Matrices are an out of the box solution. This means that the use of CM will help implement a vanilla solution and eliminate the need to create custom records, pages and components. Coupled with this, we have found that the development time can also be significantly reduced by using this option.

Would you suggest using Configurable Matrices for all mapping requirements in PeopleSoft?
No. We recommend using Configurable Matrices to maintain mapping values that remain mostly static. For example, in the ITToolbox example we quoted earlier, the requirement was to maintain the mapping between a Department and the HR Representative of the department. This is something that requires to be tightly coupled to the Department component, needs constant maintenance and has to be effective dated. For such requirements with dependency on effective dates and those that require constant updates are best maintained as custom objects. But, for mapping tables that do not change frequently, the cost of creating custom objects far outweigh the benefit achieved and we strongly recommend the use of Configurable Matrices.

I want to try this out. Where can I find Configurable Matrices setup in PeopleSoft HCM?
Here you go - Setup HRMS > Common Definitions > Configurable Matrices.
Have fun!

Monday, March 26, 2012

Design Flaw in PeopleSoft Work Schedule Defaults and design in Oracle Fusion HCM

For a Human Resources ERP suite, PeopleSoft HCM has excellent Time and Attendance features. One area that is highly under-appreciated (but lauded by customers when they see the complete potential!) is the Schedule Management features in PeopleSoft Time and Labor and Absence Management. Some of the features, like the ability to define flexible work schedules, ability to create work schedules on the fly, integrated Time Calendar views with Time, Absence and Training information etc. are very exciting and useful. In this post, I want to highlight a glaring flaw in the design of the work schedule defaulting feature in PeopleSoft. A Work Schedule can be attached at multiple levels in PeopleSoft HCM, for eg:
a. At the employee level in the Assign Work Schedule page (underlying datastructure is SCH_ASSIGN)
b. At the Absence Management/Global Payroll Paygroup level
c. At the Payroll for North America Paygroup level
d. At the Time and Labor workgroup level

If a work schedule is not directly attached to an employee, PeopleSoft follows a specific hierarchy to resolve the work schedule that has to be assigned. In this hierarchy, Absence Management/Global Payroll paygroup takes precedence over Payroll for North America paygroup, which takes precedence over Time and Labor workgroup.
In our opinion, it is not a good practice to default a work schedule from a Paygroup or Workgroup. The primary purpose of a Paygroup/Workgroup is to group employees with similar pay/absence/time characteristics together and is not to group employees working similar schedules. The fact that Absence Management/Global Payroll paygroups take precedence over other definitions makes the case more rigid in our opinion. This is because, the Global Payroll/Absence Management organisational and processing frameworks are extremely flexible. It is possible to define very generic paygroups and then drive application of specific rules to concerned group of employees through the use of conditional processing elements or even payee level overrides. An optimal design of Absence Management/Global Payroll frameworks should make use of this inherent product flexibility and design simple,lean and flat frameworks. The simpler the configuration, the more generic will be the assignment of paygroups, i.e. most employees will share the same paygroup. But, most often it is required to have more specific groupings for the purpose of work schedule defaults. So a simplistic Absence Management/Global Payroll framework design will not help in proper defaulting of work schedules. We have seen many legacy Time and Attendance applications (applications from which the client moved to PeopleSoft Time and Attendance) where the time processing rules were tightly tied to the work schedule of employees. This is our mind is similar to the concept of tying a work schedule to a paygroup/workgroup. But, all these systems suffered from the complexity introduced by the tight coupling of rule processing groups and schedules and the same deficiency exists in PeopleSoft as well.
My suggestion to the PeopleSoft Time and Labor/Absence Management product managers would be to take a relook at the schedule default options in PeopleSoft and provide a mechanism to default work schedules from a data definition that is more attuned with the actual business process of wok schedule assignments. In our opinion, Jobcodes and especially Positions are excellent candidates for this. From an operational point of view, employees in a certain jobcode or position have more probability of sharing a work schedule that those in the same paygroup (ofcourse the challenge of global implementations and shared jobcodes/positions do come in here, but we believe that these definitions are better candidates for work schedule defaults than a paygroup).

In this context, we want to introduce the work schedule defaulting features available in Oracle Fusion HCM. In Fusion HCM, the hierarchy of work schedule resolution is given below:
  1. Primary assignment of the worker
  2. Position
  3. Job
  4. Department
  5. Location
  6. Legal Employer
  7. Enterprise
It's excellent to see that Oracle Fusion HCM offers a more flexible and elaborate work schedule assignment mechanism, which in our opinion is more in tune with the business requirements. We do hope that the PeopleSoft design team takes a cue from the Oracle Fusion HCM design and provides a more flexible work schedule defaulting design.

Wednesday, August 25, 2010

GP Formula Text Builder

The application package GP_FORMULA_PARSER can be utilized to generate the Formula Text of a Global Payroll or Absence Management formula. This is the base package that is used in the formula definition page as well as in the rule package compare utility, to expand the seemingly 'cryptic' GP formulae. The method ConvertRowsetToText takes the GP_FORMULA_DTL rowset as one of the input parameters and returns a string containing the parsed formula definition. The only problem I found with the output was that it contained HTML tags which had to be stripped off for use in a non-HTML context. This can be a very handy utility to quickly generate the formulae text for comparison and documentation purposes.