Functional Description
This NER is used to recalculate Salary or Hourly Rate, based on the PayRateSource(PRSR) that is set in the F08040.
If PRSR = 1, retrieve the UnionRate(PHRT) from the F069126. Multiply PHRT with IH(StdHrs/Year) to get Salary.
If PRSR = 2, retrieve the PayGradeStepRate(PGSR) using the PayGradeServer(N0800005). Depending on the PayClass(SALY), recalculate
the Salary or HourlyRate.
Server will also return error codes. Please check error code before using any values returned from this server.
If error code =
0..... All is fine.
1..... PRSR is not passed in and not found in F08040.
2..... No valid PHRT is found in F069126.
3..... No valid PGSR is found by the PayGradeServer.(N0800005)
SetUp Notes
Before using this server, determine what PRSR at F08040. However, if you would rather this server determine the PRSR value, let PRSR value blank.
Depending on this value, you will need to pass in certain parameters.
If PRSR = 1, pass in IH, UN, HMCU, SHFT, JBCD, JBST and UPMJ.
If PRSR = 2, pass in IH, UN, UPMJ, SALY, PGRD and PGRS.
Technical Specifications
Parameters
Data Item Data Structure DescriptionI/ORequired TableNotes
PRSRPay Rate SourceI/ON F08040Pass in else NER will determine.
IHWorkHoursPerYearINPass in else NER will set to 2080.
SLOCSalaryDataLocationINRequired if PRSR = 2.
PHRTHourlyRateONReturned from NER.
UNUnionCodeIYRequired if PRSR = 1 and 2
HMCUCostCenterHomeINRequired if PRSR = 1.
SHFTShiftINRequired if PRSR = 1.
JBCDJobCategoryINRequired if PRSR = 1.
JBSTJobStepINRequired if PRSR = 1.
UPMJDateINPass in else NER will set as today.
SALYPayTypeHSPINRequired if PRSR = 2.
PGRDPayGradeINRequired if PRSR = 2.
PGRSPayGradeStepINRequired if PRSR = 2.
SALSalaryONReturned from NER.
EV01EverestEventPoint01(ErrorCode)ONReturned from NER.
Related Tables
Table Table Description
F08040HR Constants
F069126Union Master Rates
F082001Pay Grade/Step Table Called by N0800005 (pay grade server)
Processing
A. Init Variables and Entry Parameters.
Set PHRT and SAL = 0.
If UPMJ = blank, set UPMJ = Today.
If IH = 0, set IH = 2080.
If PRSR = blank, get PRSR from F08040.
If retrieve failed, set EV01 = 1. *error code*
B. If EV01 = 0 and PRSR = 1,
**deleted** Retrieve all records from F069126 where match UN, HMCU, JBCD, JBST and SHFT.
**deleted** For each record, load PHRT to NewRate(PHRT) if, rate is effective. *Do until all records read*
**added** If Union Code <> Blank, call pay rate table server to return hourly rate and a return code.
If New Rate <> 0 and return code = '1' (pay rate found)
Set Ev01 = 2.
C. If EV01 = 0 and PRSR = 2.
Call Pay Grade Server and pass in PGRD, SLOC, UN, PGRS, UN and get error code and PGSR.
If Pay Grade Server was successful, use the PGSR.
Depending on your SALY, PGSR is either SAL or PHRT.
Load SAL or PHRT accordingly.
Recalculate either SAL or PHRT.
Else
Set EV01 = 3.
END.
^
DN0800025 - Recalculate Salary
Parameter Name | Data Item | Data Type | Req/Opt | I/O/Both |
---|---|---|---|---|
szUnionCode | 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. | ||||
mnWorkHoursPerYear | IH | MATH_NUMERIC | NONE | NONE |
The number of work hours in the year. When you do not set your payroll company constants to use the Pay Grade Step table as 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
| ||||
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
| ||||
szCostCenterHome | HMCU | char | NONE | NONE |
The number of the business unit in which the employee generally resides. | ||||
cShiftCode | 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
| ||||
szJobCategory | 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
| ||||
szJobStep | 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
| ||||
jdDateUpdated | UPMJ | JDEDATE | NONE | NONE |
The date that specifies the last update to the file record. | ||||
cPayTypeHSP | SALY | char | NONE | NONE |
A code that specifies how an employee is paid. Valid codes are: H Hourly S Salaried P Piecework | ||||
szPayGrade | 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
| ||||
szPayGradeStep | 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
| ||||
szSalaryDataLocality | 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
| ||||
mnRtHourly | PHRT | MATH_NUMERIC | NONE | NONE |
The employee's hourly rate, which is retrieved during time entry. If you enter a rate in this field on any other form, that rate can override the
| ||||
cEverestEventPoint01 | EV01 | char | NONE | NONE |
An option that specifies the type of processing for an event. |
None |
None |