The
purpose of this post is to look at the concepts of Setid, Business Unit, Record
Groups and Tableset Control from a pure implementation and design point of view
and try to draw the relationship between these terms and their significance in
a PeopleSoft HCM implementation. There is also an exercise at the end of this
post for those readers who want to apply the concepts detailed in this post -
so stick on till the very end!
I
believe that it's easier to understand the underlying concepts of an
application if you take a top down approach. That is, you start with the way
the concept works in action, understand its behavior in an application and then
dig down to unravel the underlying concepts. (Unfortunately, this is where most
product documentation including peoplebooks fails. Most of them take a bottom
up approach where they start detailing the concept first which leaves
elementary readers with no context to understand the concept). So let's dive
straight into seeing where Setid and Business Unit are used in PeopleSoft HCM
transactions and understand their behavior and then try to explain the concepts
working behind the 'screens' that lead to the observed behavior.
Scenario Walk through:
Assume
that you want to record the transfer of an employee from New York to Dallas in
PeopleSoft HCM. To carry this out, you will navigate to the Job Data component,
enter the effective date of transfer, select the appropriate action and action
reason and select the location code corresponding to Dallas. When you look up
the prompt on the location field in Job data, you will see that the field
called 'Setid' is read-only and pre-filled with a certain value, let's say
'USA'. This is the first observation I want you to understand and question. How
is the Setid field of the Location prompt in Job data pre-filled with a certain
value?
You
select the appropriate location from the prompt and save the component.
After
you completed this transaction, you realize that you also had to change the
department of the employee along with the change in location. So you navigate
back to Job data and try to change the department in the effective dated row
that you created for the change in location transaction. When you look up the
department prompt in Job data, you again observe that the Setid field in the
prompt is read only and has a pre-filled value of 'SHARE'. This is the second
observation that I need you to question. Why is the pre-filled value of Setid
different for department (SHARE) and location (USA)?
Let
us try to answer these questions first.
How
is the Setid value of certain fields like location, department, jobcode etc.
defaulted in Job data?
A
number of setup components in PeopleSoft HCM like Department, Location,
Jobcode, Salary Administration Plan, Employee Class etc. are keyed by the field
called Setid. The significance of Setid is that it helps to drive the
security behind the display of key setup values in the application. Let us
assume that you are implementing PeopleSoft Workforce Administration for
Australia and New Zealand. The customer requirement is that when they are
hiring an employee in Australia, they should be able to look up all departments
defined in the organization, but at the same time, they should be able to
select only locations that are specific to Australia. As Department and
Location setups are keyed by Setid, this key can be effectively used to drive
this requirement. So taking this simplistic example forward, you would have to
create three setids in this case. One Setid that is 'SHARED' between Australia
and New Zealand, another Setid that is specific to Australia and the third Setid
specific to New Zealand. For this customer, the Setid assigned to all
departments should be the shared Setid, while the Setid assigned to Australian
locations should be the Australian Setid and the New Zealand locations should
have the New Zealand Setid. With the Setid allocation while setting up key
tables clarified, let us understand how the defaulting of Setid happens in Job
data.
The
value of Business Unit selected in the Job data component controls the Setid
that will be defaulted in the Department, Location, Jobcode and Salary
Administration plan fields in the Job data component.
Coming back to our example of the company with operations in Australia and New
Zealand, let us assume that there are two business units that have been defined
- one for Australia and another for New Zealand. Prior to selecting the values
for Department or Location, you will have to select the value for Business Unit
in Job data (a good corollary experiment is to try to look up the department
and location prompts in job data without entering any value for Business Unit.
You will see that no values will be returned for Departments or Locations in
this case). Once a business unit is selected, the defaulted Setid values for Department,
Location, Jobcode and Salary Administration plan is controlled by the value of
the business unit field. This goes on to say that if you selected business unit
of Australia in Job data, the Setid defaulted for department prompt will be the
shared Setid while the Setid defaulted for location prompt will be the
Australian Setid. Similarly if you selected a New Zealand business unit in Job
data, the Setid defaulted for department prompt will be the shared Setid, while
the Setid defaulted for locations will be the New Zealand Setid.
This
brings us to the obvious conclusion that there should be a link or mapping
between the value of business unit and Setid for the various setup values. This
means that there should be a mechanism where we can define that for Australia
business unit, departments should have the shared Setid and locations should
have the Australian Setid, while for New Zealand business unit, the Setid for
locations should be New Zealand Setid.
This
mapping is achieved by the concepts of 'Table Set Control' and 'Record Groups'.
A
Record Group is a group of functionally similar records. From an application
point of view, there are different record groups for Departments, Job Codes, and
Locations etc.
Tableset
Control is the mechanism through which you can map the actual values of a
business unit to the default Setid for each record group. Thus, using the Tableset
control setup page under
PeopleTools
> Utilities > Administration > Tableset Control you can define the Setid
that should default for each setup value for a selected business unit. Note
that each setup value like Department, Location etc. will be a separate record
group. So taking our previous example, to define the Setid defaults for the
Australian business unit, you would have to navigate to the Tableset Control
page and enter the value of the Australian business unit in the search field
called Set Control value. This will take you to the transaction page, where all
available record groups and the corresponding Setid that will be defaulted will
be listed. In this page, you will have to change the Setid corresponding to the
location record group to the Australian Setid and set the shared Setid as the Setid
for the Department record group. So Tableset control is the link that
maps the business unit values to the appropriate Setid for each record group.
In conclusion, this entire setup (and terms!) is only to enable organizations
define how setup data should be shared/controlled between different entities in
the company.
To
retrace the entire concept, let us try to run through how a Setid is defaulted
for a field like Department in Job data. When a user looks up the prompt of the
department table in Job data, the system looks at the Business Unit entered in
the component. Then the system checks the table set control setup to retrieve
the Setid corresponding to the department record group for the set control
value of the business unit entered in the component. This Setid is used as the
default Setid for the department prompt in Job data.
I will leave you with one final clarification that the set
control value in a Tableset control definition is not necessarily always
business unit. We took the example of business unit as that was relevant for
our exercise. By definition, a set control value is a higher key on which the Setid
of a certain record group is dependent. To take an example, the set control
value corresponding to the Employee Class field in Job data component (in the
Job Information page) is Regulatory Region. This means that the Setid defaulted
in the prompt of Employee Class will be controlled by the Setid attached to the
employee class record group in the Tableset control page for the Regulatory
Region value entered in Job data component.
Exercise:
For those who want to go through some practical exercises, we are detailing a design scenario which can be tried out for practice:
Grocery One is a retail chain with operations in Singapore, Malaysia, Thailand and South Korea. They run multiple formats like Hypermarkets, Express Stores and Premium stores. The organizational structure of Grocery One treats each physical store as a department and the departments are organized based on the format and country. This means that all individual Express Stores in Singapore roll up to a master department that administers Express Stores in Singapore. These master departments per format and country further roll up to the country head department of each country and the country head departments of each country finally roll up to the CEOs office. HR Administrators of Grocery One would like to make sure that the departments and locations that are shown in Job data is restricted to the format and country, while all job codes for a certain country should be displayed irrespective of the format.
1. How should the business units be designed for Grocery One in PeopleSoft? How many business units would you suggest to have for Grocery One in PeopleSoft?
2. What is the minimum number of Setid that will need to be created?
3. How can the restriction of department, location and job code values in Job data be achieved as per the requirements of Grocery One HR Administrators?
4. What is the impact of your design on inter-store and inter-country transfers?
5. Will your design allow Grocery One to easily report the head count based on format and country, at the country level and at the total organization level?
Exercise:
For those who want to go through some practical exercises, we are detailing a design scenario which can be tried out for practice:
Grocery One is a retail chain with operations in Singapore, Malaysia, Thailand and South Korea. They run multiple formats like Hypermarkets, Express Stores and Premium stores. The organizational structure of Grocery One treats each physical store as a department and the departments are organized based on the format and country. This means that all individual Express Stores in Singapore roll up to a master department that administers Express Stores in Singapore. These master departments per format and country further roll up to the country head department of each country and the country head departments of each country finally roll up to the CEOs office. HR Administrators of Grocery One would like to make sure that the departments and locations that are shown in Job data is restricted to the format and country, while all job codes for a certain country should be displayed irrespective of the format.
1. How should the business units be designed for Grocery One in PeopleSoft? How many business units would you suggest to have for Grocery One in PeopleSoft?
2. What is the minimum number of Setid that will need to be created?
3. How can the restriction of department, location and job code values in Job data be achieved as per the requirements of Grocery One HR Administrators?
4. What is the impact of your design on inter-store and inter-country transfers?
5. Will your design allow Grocery One to easily report the head count based on format and country, at the country level and at the total organization level?
1. How should the business units be designed for Grocery One in PeopleSoft? How many business units would you suggest to have for Grocery One in PeopleSoft? - 5 BUs (1 - ceo, 1 for each country)
ReplyDelete2. What is the minimum number of Setid that will need to be created? - 4 setids (1 for each country)
3. How can the restriction of department, location and job code values in Job data be achieved as per the requirements of Grocery One HR Administrators? - We have to create SETIDs for each each master dept for each of the countries.