RecalcSalary

Recalc Salary

Minor Business Rule

Object Name: N0800025

Parent DLL: CFND

Location: Client/Server

Language: NER

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)

Recalculate Salary,'85'85. Salary = NewRate * IH.
Else

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.


^

Data Structure

DN0800025 - Recalculate Salary

Parameter NameData ItemData TypeReq/OptI/O/Both
szUnionCodeUNcharNONENONE

A user defined code (06/UN) that represents the union or plan in which the employee or group of employees work or participate.

mnWorkHoursPerYearIHMATH_NUMERICNONENONE

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 
pay-rate source, the system uses this number to compute the hourly rate when you supply the annual salary (or to compute the annual salary when 
you supply the hourly rate). When you set your constants to use the Pay Grade Step table as the pay rate source, the system uses the 
following sequence to search for the standard number of hours that it uses to calculate the salary or hourly rate per pay period:     o Employee entry 
forms (this field)     o Pay Grade Step table (hours per day multiplied by days per year)     o Payroll company constants for the employee's 
company     o Payroll company constants for the default company (company 00000)     o Data dictionary     o System default value of 2080 
standard hours per year

cPayRateSourcePRSRcharNONENONE

This constant specifies the default source for employee pay rates. When you add or change employee information, the system uses this 
constant to locate a pay rate for an employee when you leave the salary and hourly rate fields blank. Pay Rate Source    1   Pay Rate Tables    
2   Pay Grade Step Table    3   None You choose a pay rate source in Setting Up System Options. To calculate a salary for the employee, the 
system multiplies the employee's standard hours per year by the hourly rate from the table.

mnRtSalarySALMATH_NUMERICNONENONE

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). 

szCostCenterHomeHMCUcharNONENONE

The number of the business unit in which the employee generally resides.

cShiftCodeSHFTcharNONENONE

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 
the hourly rate on a timecard. For payroll and time entry: If an employee always works a shift for which a shift rate differential is applicable, 
enter that shift code on the employee's master record. When you enter the shift on the employee's master record, you do not need to enter the 
code on the timecard when you enter time. If an employee occasionally works a different shift, you enter the shift code on each applicable 
timecard to override the default value.

szJobCategoryJBCDcharNONENONE

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 
apply that information to the employees who are linked to that job type.

szJobStepJBSTcharNONENONE

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 
type to determine pay rates by job in the Pay Rates table.

jdDateUpdatedUPMJJDEDATENONENONE

The date that specifies the last update to the file record.

cPayTypeHSPSALYcharNONENONE

A code that specifies how an employee is paid. Valid codes are: H Hourly S Salaried P Piecework

szPayGradePGRDcharNONENONE

A code that designates a category for grouping employees according to pay ranges. For each pay grade, you enter a pay range that 
includes a minimum, a midpoint, and a maximum pay rate. The system uses these pay ranges to calculate compa-ratios for the employees that 
you assign to pay grades. After you enter a pay grade for an employee, the system displays either an error or a warning message if you enter 
a rate for the employee that is not within the pay range for the employee's pay grade. To set up pay grades, use Pay Grades by Class 
(P082001). If you have set up your system to use rates in the Pay Grade Step table as the default pay rates for employees, changing an 
employee's pay grade step causes the system to automatically update the following fields:   o  Salary   o  Hourly Rate   o  Hours per day   o  Hours per 
year   o  Days per year  

szPayGradeStepPGRScharNONENONE

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 
system to use rates in the Pay Grade Step table as the default pay rates for employees, changing an employee's pay grade step causes the 
system to automatically update the following fields:     o Salary     o Hourly Rate     o Hours per day     o Hours per year     o Days per year 

szSalaryDataLocalitySLOCcharNONENONE

A user defined code (07/SL) that defines the different salary localities within an organization.  For example, you can compare salaries for 
employees on the East Coast with employees in the Midwest.

mnRtHourlyPHRTMATH_NUMERICNONENONE

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 
value in the Employee Master table. In the Employee Master table, this number is the employee's base hourly rate. In the Union Rates table, it 
is the straight time rate. NOTE: If you change the number of the data display decimal digits for this field, you must also change fields Rate - 
Base Hourly (BHRT) and Rate - Hourly (SHRT) so that they have exactly the same number of data display decimal digits.

cEverestEventPoint01EV01charNONENONE

An option that specifies the type of processing for an event.

Related Functions

None

Related Tables

None