Saturday, October 15, 2011

EEO Table Values and Descriptions

Here is a way to translate EEO table values into text descriptions:
Use table UPR40301 - Payroll Position Setup - UPR_SETP_Job_Title
Numerical values in UPR40301 (EEOCLASS_I) translate as follows:
If the company uses EEO 1 Classifications:
1 = Professionals
2 = Technicians
3 = Sales Workers
4 = Administrative Support Workers
5 = Craft Workers
6 = Operatives
7 = Laborers and Helpers
8 = Service Workers
9 = Exec/Sr Level Officials and Mgrs
If the company uses EEO 4 Classifications:
1 = Officials and Administrators
2 = Professionals
3 = Technicians
4 = Protective Service Workers
5 = Paraprofessionals
6 = Administrative Support (Including Clerical)
7 = Skilled Craft Workers
8 = Service Maintenance
Note: EEO4 reporting only uses 8 values
If you need to find this information programatically from SQL Tables here's a starting point:
select * from dynamics..SY10997 where FUNCNAME like '%EEO%' and language_id = 0
order by FUNCNAME, FUNCENUM
If you want to get more information and get pretty detailed in a view or a stored procedure you can use the following SQL Query. It doesn't paste nicely here but it works and you can make it tidy once you get it into SQL Management Studio:
DECLARE @EEO_Value VARCHAR (1)
SET @EEO_Value = (SELECT points_i
FROM dynamics..suspref
WHERE iindex_i = 33)

SELECT
a.employid,
a.jobtitle,
b.eeoclass_i,
--CASE 1 - Determine EEO status
CASE
WHEN @EEO_Value = 0 THEN -- EEO Class is EEO1
-- Case 2 Set values
CASE eeoclass_i -- Jon Lowther - these are static values in Great Plains
WHEN 0 THEN '*** EEO CLASS NOT DEFINED IN PAYROLL POSITION SETUP WINDOW ***'
WHEN 1 THEN 'Professionals'
WHEN 2 THEN 'Technicians'
WHEN 3 THEN 'Sales Workers'
WHEN 4 THEN 'Administrative Support Workers'
WHEN 5 THEN 'Craft Workers'
WHEN 6 THEN 'Operatives'
WHEN 7 THEN 'Laborers and Helpers'
WHEN 8 THEN 'Service Workers'
WHEN 9 THEN 'Ex/SR- Level officials and MGRs'
END
ELSE -- EEO Class is 4
CASE eeoclass_i -- Jon Lowther - these are static values in Great Plains
WHEN 0 THEN '*** EEO CLASS NOT DEFINED IN PAYROLL POSITION SETUP WINDOW ***'
WHEN 1 THEN 'Officials and Administrators'
WHEN 2 THEN 'Professionals'
WHEN 3 THEN 'Technicians'
WHEN 4 THEN 'Protective Service Workers'
WHEN 5 THEN 'Paraprofessionals'
WHEN 6 THEN 'Administrative Support (Including Clerical)'
WHEN 7 THEN 'Skilled Craft Workers'
WHEN 8 THEN 'Service Maintenance'
WHEN 9 THEN '*** Not Valid for EEO 4 Reporting ***'
END
END AS "EEO Class Description",
a.LASTNAME,
a.FRSTNAME,
a.EMPLCLAS,
case a.ETHNORGN
WHEN 1 THEN 'White'
WHEN 2 THEN 'American Indian or Alaskan Native'
WHEN 3 THEN 'Black or African American'
WHEN 4 THEN 'Asian'
WHEN 5 THEN 'Hispanic or Latino'
WHEN 6 THEN 'Two or more Races'
WHEN 7 THEN 'N/A'
WHEN 8 THEN 'Native American or Pacific Islander'
END 'ETHNIC ORIGIN',
case a.GENDER
WHEN 1 THEN 'Male'
WHEN 2 THEN 'Female'
WHEN 3 THEN 'N/A'
WHEN 4 THEN 'Asian'
END 'GENDER',
a.DEPRTMNT,
a.JOBTITLE
FROM upr00100 a
INNER JOIN upr40301 b
ON a.jobtitle = b.jobtitle

SmartList EEO4 Descriptions

If you create a SmartList Builder object for use in EEO reporting it will only be 'smart' enough to display EEO1 class descriptions - even if your organization is supposed to use EEO4 descriptions for reporting.
The EEO classification selection can be found under:
Tools > Setup > System > Human Resources Preferences.
The selection is made with a radio-button choice of either EEO1 or EEO4.
It is difficult to find out how to 'know' what the company setting is because the location of the settings is hard to find. Fortunately Jake Laux at Microsoft was kind enough to research this question and provided the following SQL statement:
select POINTS_I from dynamics..SUSPREF where IINDEX_I = 33
If the POINTS_I value is 0 then the company is using EEO1 reporting.
If the POINTS_I value is 1 then the company is using EEO4 reporting.
If your company is using EEO1 reporting then the default SmartList descriptions will be OK.
But if your company needs EEO4 class descriptions you can calculate correct descriptions with a SmartList Builder calculated field.
Here's How:
1. Link the following tables:
Payroll Pay Code Master (Base Table)
Payroll Master (EmployID = EmployID)
Payroll Position Setup (JobTitle = JobTitle)
2. Create a calculated field called EEO4 Class Desc as a string value.
Paste the following in the Calculation Window and SAVE:
CASE
WHEN {Payroll Position Setup:EEO Class} = 1 THEN 'Officials and Administrators'
WHEN {Payroll Position Setup:EEO Class} = 2 THEN 'Professionals'
WHEN {Payroll Position Setup:EEO Class} = 3 THEN 'Technicians'
WHEN {Payroll Position Setup:EEO Class} = 4 THEN 'Protective Service Workers'
WHEN {Payroll Position Setup:EEO Class} = 5 THEN 'Paraprofessionals'
WHEN {Payroll Position Setup:EEO Class} = 6 THEN 'Administrative Support (Including Clerical)'
WHEN {Payroll Position Setup:EEO Class} = 7 THEN 'Skilled Craft Workers'
WHEN {Payroll Position Setup:EEO Class} = 8 THEN 'Service Maintenance'
ELSE 'Unknown'
END
3. Enable the fields by checking the Display and Default boxes
4. Save your SmartList Builder Object
You can then select the new calculated field called EEO4 Class Desc field in your SmartList and your SmartList results will match your company's EEO4 description requirements.

Thursday, February 25, 2010

Welcome to BestTechsNW Dynamics GP posts

Welcome friends to the new BestTechsNW blog site. The staff at BestTechsNW will start posting their experiences in the world as it pertains to Dynamics GP along with the solutions that we discover. Hopefully you will find our post are interesting and helpful to you.

Please feel free to either comment on existing posts or add posts of your own.

Thank you

BestTechsNW