EEOEmployeeStatusAndSalary

Employee Status and Salary

Minor Business Rule

Object Name: N0500056

Parent DLL: CFND

Location: Client/Server

Language: NER

Functional Description
Determine if an employee was active during a specified date range.  If the employee was active, then 

determine if the employee was hired during the date range and what the employee's salary was on the 

last day of the date range.  


Purpose

Called by the UBEs generating the government reports EEO-1 and EEO-4 to determine if an employee 

should be included in the reported information.  Both reports include employees who were active during a 

user specified date range.  The EEO-4 report groups employees in salary range categories.


Setup Notes and Prerequisites

To retrieve the salary information for the last day of the date range the employee must have been 

active at some point during the date range and the parameter flag requesting the salary must have been 

set to 1 (one) when calling the business function.


Special Logic

If the employee was active during the date range but was terminated before the last day of the date 

range, then determine what his/her salary was on the termination date rather then the last day of the 

date range.


If the customer running the software is using the JD Edwards payroll suite then the employee is 

deemed active if they received a paycheck at any point during the date range.


If the customer is NOT using JD Edwards payroll, then determine if the employee was active based on 

their date started, termination date, and leave of absence begin and end dates from the employee 

master. 



Technical Specification


If employee date started was not passed in then

Read the Employee Master (F060116) using the required 

address book number parameter.  Get the annual salary

(SAL), date started (DST), termination date (DT), LOA

start date (LSDT), and LOA end date (LADT).

end if


If the using JDE payroll flag is not set then

Call the business function Get Environment Value

(B9900410).

end if


If the employee termination date is less then date range end

date then

Set date range end date = termination date

end if


If using JDE payroll flag = 1 (one) then

Read the Paycheck History Summary (F06156) table 

looking for a record with a date less then or equal to

the date range end date.


If the check date of the record found is greater then

the date range begin date then

Set employee active during date range flag = 1

end if

else

If employee was terminated before date range begin date

or started after date range end date then

 Set employee active during date range flag = 0

end if


If employee started a leave of absence before or on the 

date range begin date and has not come back from the 

leaveof absence (LOA end date = 0) then

Set employee active during date range flag = 0

end if


If employee started a leave of absence before or on the 

date range begin date and ended the leave of absence 

on or afterthe date range end date then

Set employee active during date range flag = 0

end if

end if


If employee active during date range flag = 1 and requesting salary information then

Read the HR History (F08042) for data item SAL with an

effective date <= date range end date.


If table i/o successfull then

Set salary parameter to numeric value from

history record.

else

If salary parameter = 0 then

Read the Employee Master (F060116) using

required address book number. 


Set salary parameter = current salary

end if

end if

end if


Set new hire flag = 0

If employee active during date range flag = 1 then

If date started >= date range begin date then

Set new hire flag = 1

end if

end if


Data Structure

D0500056 - Employee Status and Salary

Special Input Expected
The FromDate and ThruDate should be the date range dates.


The GetSalaryFlag should be set to 1 (one) if the salary the employee had during the date range is 

desired.


Special Output Returned

The NewHireFlag is returned with a value of 1 (one) if the employee started during the date range 

(after from date and before thru date).


The ActiveDuringDateRange is ruturned with a value of 1 (one) if the employee was active during any 

part of the date range.



Significant Data Values

UsingJDEPayroll is significant because it specifies if the customer has JD Edwards payroll suite 

installed.



^

Parameter NameData ItemData TypeReq/OptI/O/Both
mnAddressNumberAN8MATH_NUMERICREQINPUT

A number that identifies an entry in the Address Book system, such as employee, applicant, participant, customer, supplier, tenant, or 
location.

cUsingJDEPayrollVC01AcharOPTNONE

This is a generic field used for video constants display.

jdFromDateBDOWLDJDEDATEREQINPUT

The beginning date of the range in a search. If you do not specify a beginning date, the system uses the current date.

jdThruDateEDOWLDJDEDATEREQINPUT

The ending date for the period that you want to review. If you leave this field blank, the system uses the ending date of the current period 
specified for the company.

cActiveDuringDateRangeVC01AcharOPTOUTPUT

This is a generic field used for video constants display.

cGetSalaryFlagVC01AcharOPTINPUT

This is a generic field used for video constants display.

mnRtSalarySALMATH_NUMERICOPTNONE

The amount that an employee is paid in one year, assuming that the employee is paid every pay period of the year. For WorldSoftware: For 
the employee's primary job, the system stores the annual salary in the Employee Master Information table (F060116) and the Employee 
Jobs table (F060118). For secondary jobs, the system stores the annual salary only in the Employee Jobs table (F060118). Depending on how 
the value that is entered in the Display Salary (Annual/Effective) field in the HR History Constants table (F08040), this field displays one of the 
following:   o  Annual salary. For salaried employees who are not linked with a contract calendar, the user enters the amount or the system 
retrieves the amount from the Pay Grade/Salary Range Table (F082001). For employees who are linked with a contract calendar, the system 
calculates this amount using the following formula: (((current salary minus salary paid before change) divided by number of periods to pay) 
multiplied by pay frequency).   o  Effective salary. For employees whose jobs are linked with a contract calendar, the system recalculates the 
effective salary when you enter a mid-calendar salary adjustment. After you enter a mid-calendar adjustment, the effective salary equals the 
salary that is paid to the employee from the time of the adjustment through the end of the contract. The system calculates this amount using 
the following formula: ((annual salary divided by pay frequency) times periods to pay). 

jdDateEmploymentStartDSTJDEDATEOPTNONE

The date on which the employee actually reported to work for the most recent period of hire. When an employee initially begins working, 
the default is the original hire date. If no original hire date exists, the system uses the current date. This field can be updated multiple times if, for 
example, an employee is a seasonal worker. For the calculation tables in the Payroll system and the eligibility tables and date codes in the 
Human Resources system, the system also uses this date as a start date when it calculates deductions, benefits, and accruals.

jdDateTerminatedDTJDEDATEOPTNONE

The date that the employee was terminated, if applicable.

jdDateLoaStartsLSDTJDEDATEOPTNONE

The date on which an employee's paid or unpaid leave of absence begins. Use this date to indicate the leave for the Family and Medical 
Leave Act.

jdDateLoaExpirationLADTJDEDATEOPTNONE

The date on which an employee's paid or unpaid leave of absence expires.

cNewHireFlagVC01AcharOPTOUTPUT

This is a generic field used for video constants display.

Related Functions

None

Related Tables

None