NOTE!!!: THIS FUNCTION WORKS IN CONJUCTION WITH IT'S PARENT FUNCTION "POSITION CONTROL PROJECTED
AMOUNTS" AND SHOULD BE CALLED FROM THERE. This function will calculate the projected salary, FTE, and
hours worked for a single Position Budget Detail (F08111) record.
Functional Description
This NER returns the projected amounts for a position detail record or a summary of projected amounts for particular position or home business unit.
The returned values are projected salary, projected hours, projected FTE, and headcount.
Setup Notes
In order to calculate the projected amounts for a specific detail record the following input parameters must contain values: Position Id (POS), Employee
Number (AN8), Home Business Unit (HMCU), Effective From Date (EFTS), Employee Action (ACTT), Salary (SAL), Hours Worked (HRW), and Full Time
Equivalency (FTE).
To calculate summary information for a home business unit and fiscal year the input parameters should only contain a value for Home Business Unit
(HMCU). With Position Id (POS) and Employee Number (AN8) not included, the program knows it will need to read all Position Master (F08101) for the home
business unit and fiscal year. The program also knows it will need to read all Position Budget Detail (F08111) that are related to the Position Master
(F08101) records.
Technical Specifications
This NER is separated into two functions: Position Control Projected Amounts and Calculate Projected Amounts. Each function has it's own data
structure and each appears as an external function. However, the function called "Calculate Projected Amounts" should ONLY be called by "Position Control
Projected Amounts." Two functions were necessary due to complex nested if and while logic associated with salary projection.
Calculate Projected Amounts
Parameters
Data Item Data Structure DescriptionI/ORequiredTableNotes
POS szPosition Id IYes
HMCU szHomeBusinessUnit IYes
AN8 mnOrigEmpNumber IYes
EFTS jdEffectiveFromDate IYes
EFST jdEffectiveThruDate IYes
ACTT cEmployeeAction IYes
SAL mnRTSalary IYes
HRW mnHoursWorked IYes
FTE mnFullTimeEquivalent IYes
FY mnFiscalYear9 I
CRPOW mnProjectedSalary I/O
HRBOW mnProjectedHours I/O
APSOW mnProjectedFTEs I/O
BDOWLDjdFiscalBeginDate I
EDOWLDjdFiscalEndDate I
SIP cSalaryIncreasesinProject IFrom HR History Constants
PRSR cPayRateSource IFrom HR History Constants
SPRS cStepProgressionRateSourceIFrom HR History Constants
AN8 mnCurrentEmployeeNumberI
AN8 mnPrevEmployeeNumber I/O
SALY cEmpJobPayClass I/OFrom Employee Jobs (F060118). **.
SHFT cEmpJobShiftCode I/OFrom Employee Jobs (F060118). **
HMCU szEmpJobHomeBusinessUnit I/OFrom Employee Jobs (F060118). **.
JBCD szEmpJobJobCategory I/OFrom Employee Jobs (F060118). **
JBST szEmpJobPayStep I/OFrom Employee Jobs (F060118). **.
PGRD szEmpJobPayGrade I/OFrom Employee Jobs (F060118). **
PGRS szEmpJobPayGradeStep I/OFrom Employee Jobs (F060118). **.
SLOC szEmpJobSalaryDataLocalityI/OFrom Employee Jobs (F060118). **
UN szEmpJobUnionCode I/OFrom Employee Jobs (F060118). **
DTSF jdSalaryForecastChangeDateI/OFrom Employee Jobs (F060118). **
EDOWLDjdDatePriorToChange I/OCalculated based on
SalaryForecastChangeDate.
VC01B cCurrentEmployeeHeadcountI/OIf 1 then employee has been counted. Set to
zero every time employee changes.
VC01B cCalcPreRaiseDateFlag I/OIf a new employee then need to calculate pre-
raise date.
** The Employee Jobs (F060118) record is read once for each employee in the Calculate Position Amounts function. Values for each employee are
passed back and forth from "Position Control Projected Amounts" and "Calculate Position Amounts" until the value for CurrentEmployeeNumber does not
match PrevEmployeeNumber.
Related Tables
Table PrefixTable Description
F08111HQPosition Budget Detail
F08040JTHR History Constants
F060118YEEmployee Jobs
F082001HSPay Grade/Salary Range Table
F069126YLUnion Rates File
Processing
Call N0800032 to get the detail record's percentage
Calculate projected FTE and Hours by multiplying the input or read values by percentage from N0800032 and adding to accumulated totals
paygrade/salary range) then
Previous employee number = EmployeeNumber
If File I/O = SUCCESS then
calling N0800032.
Calculate pre-raise projected salary by multiplying Salary (input) by percentage from N0800032.
date < EffectiveThruDate then use fiscal year end date as the percentage thru date. Otherwise, use the EffectiveThruDate as the percentage thru
date.
If thru (from call to N0800033) >= YL Beginning Effective (EFTB) and thru <= YL Ending Effective (EFTE) and YE Job Code (JBCD) = YL
Job Code and YE Job Step (JBST) = YL Job Step then
Terminate while loop
Grade Step (PGRS), thru date (from call to N0800032), and error flag.
Grade Step (PGRS), thru date (from call to N0800032), and error flag.
DN0800033B - Calculate Projected Amounts
Parameter Name | Data Item | Data Type | Req/Opt | I/O/Both |
---|---|---|---|---|
szPositionID | POS | char | NONE | NONE |
A code that you use for budgetary (position) control purposes. The position ID consists of:
o Position (position code and its description)
| ||||
szHomeBusinessUnit | HMCU | char | NONE | NONE |
The number of the business unit in which the employee generally resides. | ||||
mnOrigEmployeeNumber | AN8 | MATH_NUMERIC | NONE | NONE |
A number that identifies an entry in the Address Book system, such as employee, applicant, participant, customer, supplier, tenant, or
| ||||
jdEffectiveFromDate | EFTS | JDEDATE | NONE | NONE |
The date on which a requisition, a position, or activity within a position takes effect. | ||||
jdEffectiveThruDate | EFST | JDEDATE | NONE | NONE |
The date on which a requisition, a position, or an activity within a position is no longer in effect. In position activity, the default value for this
| ||||
cEmployeeAction | ACTT | char | NONE | NONE |
The type of action linked to the employee. The following codes are provided by J.D. Edwards and should not be
| ||||
mnRtSalary | SAL | MATH_NUMERIC | NONE | 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
| ||||
mnHoursWorked | HRW | MATH_NUMERIC | NONE | NONE |
The number of hours associated with each transaction. | ||||
mnFullTimeEquivalents | FTE | MATH_NUMERIC | NONE | NONE |
The full-time equivalent (FTE) amount. This figure is the portion of a full-time worker that an employee represents within the business unit.
| ||||
szFiscalYear9 | FYOW | char | NONE | NONE |
A four-digit number that identifies the fiscal year. You can enter a number in this field or leave the field blank to indicate the current fiscal
| ||||
mnProjectedSalary | CRPOW | MATH_NUMERIC | NONE | NONE |
A figure that represents the amount of salary paid over a period of time.
At the employee level, the system calculates this amount by
| ||||
mnProjectedHours | HRBOW | MATH_NUMERIC | NONE | NONE |
A figure that represents the number of hours worked during a period of time.
At the employee level, the system calculates this amount by
| ||||
mnProjectedFTEs | APSOW | MATH_NUMERIC | NONE | NONE |
A figure that represents the full-time equivalents (FTEs) projected for the fiscal year. At the employee level, the system calculates projected
| ||||
jdFiscalBeginDate | BDOWLD | JDEDATE | NONE | NONE |
The beginning date of the range in a search. If you do not specify a beginning date, the system uses the current date. | ||||
jdFiscalEndDate | EDOWLD | JDEDATE | NONE | NONE |
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
| ||||
cSalaryIncreasesinProject | SIP | char | NONE | NONE |
This constant determines if future rate changes, based on an employee's salary forecast change date, will be taken into account in the
| ||||
cPayRateSource | PRSR | char | NONE | NONE |
This constant specifies the default source for employee pay rates. When you add or change employee information, the system uses this
| ||||
cStepProgressionRateSourc | SPRS | char | NONE | NONE |
This field specifies the default pay grade step that the system uses to locate a pay rate for employees who have a salary forecast change
| ||||
mnCurrentEmployeeNumber | AN8 | MATH_NUMERIC | NONE | NONE |
A number that identifies an entry in the Address Book system, such as employee, applicant, participant, customer, supplier, tenant, or
| ||||
mnPrevEmployeeNumber | AN8 | MATH_NUMERIC | NONE | NONE |
A number that identifies an entry in the Address Book system, such as employee, applicant, participant, customer, supplier, tenant, or
| ||||
cEmpJobPayClass | SALY | char | NONE | NONE |
A code that specifies how an employee is paid. Valid codes are: H Hourly S Salaried P Piecework | ||||
cEmpJobShiftCode | SHFT | char | NONE | NONE |
A user defined code (00/SH) that identifies daily work shifts.
In payroll systems, you can use a shift code to add a percentage or amount to
| ||||
szEmpJobHomeBusinessUnit | HMCU | char | NONE | NONE |
The number of the business unit in which the employee generally resides. | ||||
szEmpJobJobCategory | JBCD | char | NONE | NONE |
A user defined code (07/G) that defines the jobs within your organization. You can associate pay and benefit information with a job type and
| ||||
szEmpJobJobStep | JBST | char | NONE | NONE |
A user defined code (07/GS) that designates a specific level within a particular job type. The system uses this code in conjunction with job
| ||||
szEmpJobPayGrade | PGRD | char | NONE | NONE |
A code that designates a category for grouping employees according to pay ranges. For each pay grade, you enter a pay range that
| ||||
szEmpJobPayGradeStep | PGRS | char | NONE | NONE |
A code that identifies a pay grade and pay step. You can use this code to determine an employee's pay rate.
If you have set up your
| ||||
szEmpJobSalaryDataLocality | SLOC | char | NONE | NONE |
A user defined code (07/SL) that defines the different salary localities within an organization. For example, you can compare salaries for
| ||||
szEmpJobUnionCode | UN | char | NONE | NONE |
A user defined code (06/UN) that represents the union or plan in which the employee or group of employees work or participate. | ||||
jdSalaryForcastChangeDate | DTSF | JDEDATE | NONE | NONE |
A date in the future when it is expected the employee will be given a salary change. This date is used by the position budget module to
| ||||
jdDatePriorToChange | EDOWLD | JDEDATE | NONE | NONE |
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
| ||||
cCurrentEmployeeHeadcount | VC01B | char | NONE | NONE |
This is a generic field used for video constants display. | ||||
cCalcPreRaiseDateFlag | VC01B | char | NONE | NONE |
This is a generic field used for video constants display. |
None |
None |