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
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 Name | Data Item | Data Type | Req/Opt | I/O/Both | 
|---|---|---|---|---|
| mnAddressNumber | AN8 | MATH_NUMERIC | REQ | INPUT | 
A number that identifies an entry in the Address Book system, such as employee, applicant, participant, customer, supplier, tenant, or 
  | ||||
| cUsingJDEPayroll | VC01A | char | OPT | NONE | 
This is a generic field used for video constants display.  | ||||
| jdFromDate | BDOWLD | JDEDATE | REQ | INPUT | 
The beginning date of the range in a search. If you do not specify a beginning date, the system uses the current date.  | ||||
| jdThruDate | EDOWLD | JDEDATE | REQ | INPUT | 
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 
  | ||||
| cActiveDuringDateRange | VC01A | char | OPT | OUTPUT | 
This is a generic field used for video constants display.  | ||||
| cGetSalaryFlag | VC01A | char | OPT | INPUT | 
This is a generic field used for video constants display.  | ||||
| mnRtSalary | SAL | MATH_NUMERIC | OPT | NONE | 
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 
  | ||||
| jdDateEmploymentStart | DST | JDEDATE | OPT | NONE | 
The date on which the employee actually reported to work for the most recent period of hire. When an employee initially begins working, 
  | ||||
| jdDateTerminated | DT | JDEDATE | OPT | NONE | 
The date that the employee was terminated, if applicable.  | ||||
| jdDateLoaStarts | LSDT | JDEDATE | OPT | NONE | 
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 
  | ||||
| jdDateLoaExpiration | LADT | JDEDATE | OPT | NONE | 
The date on which an employee's paid or unpaid leave of absence expires.  | ||||
| cNewHireFlag | VC01A | char | OPT | OUTPUT | 
This is a generic field used for video constants display.  | ||||
| None | 
| None |