SalCalcJobInfoDefault

Salary Calculations Server

Minor Business Rule

Object Name: N0500025

Parent DLL: CFND

Location: Client/Server

Language: NER

Functional Description

Purpose

The purpose of this function is to calculate an employee's salary based on a variety of 

circumstances.  The Pay Rate Source constant, which resides in the Constants File (F08040), determines the method 

for which a persons pay rate should be derived.  Also, the Salary Calculations Server will behave 

differently depending on which fields a user changes or omits on the screen.


Setup Notes and Prerequisites

The Pay Rate Source constant should be retrieved from the Constants Information file (F08040) and 

passed to this function.  If it is not, the function will get it for you.  However, you will have better 

performance if you pass it to the function.


Technical Specification


2.1Parameters:

Data Item Data Structure DescriptionI/ORequiredNotes


cActionAction CodeINNot Used

cPayRateSourcePay Rate SourceINFrom Constants 

Information File (F08040).

szBefPayGradePay Grade IN"Before Image"

szBefPayGradeStepPay Grade StepIN"Before Image"

mnAftSalarySalary I/ON"After Image"

szAftJobCodeJob Code IN"After Image"

szAftJobStep Job Step IN"After Image"

szAftPayGradePay Grade IN"After Image"

szAftPayGradeStepPay Grade Step IN"After Image"

szAftUnionCode Union Code IN"After Image"

mnAftHoursPerYearHours Per Year I/ON"After Image"

mnAftHoursPerDayHours Per DayI/ON"After Image"

mnAftDaysPeYearDays Per Standard YearI/ON"After Image"

cAftPayTypePay TypeIN"After Image"

cAftPayFrequencyPay FrequencyIN"After Image"

szAftHomeBusUnitHome Business UnitIN"After Image"

cAftShiftCodeShift CodeIN"After Image"

szAftHomeCompanyHome CompanyIN"After Image"

mnAftFullTimeEquivalentsFull Time EquivalentsI/ON"After Image"

szAftLocalityLocalityIN"After Image"

cAftSalaryFrequencySalary FrequencyIN"After Image"

mnPayPeriodSalaryPay Period SalaryON

mnBefSalarySalaryI"Before Image"

mnBefHourlyRateHourly RateIN"Before Image"

mnBefHoursPerYearHours Per YearIN"Before Image"

cBefPayTypePay TypeIN"Before Image"

szBefLocalityLocalityIN"Before Image"

szBefUnionCodeUnion CodeIN"Before Image"

mnBefFullTimeEquivalentsFull Time EquivalentsIN"Before Image"


2.2Related Tables 

Table Table Description

F08040Constants Information File

F069126Union Rates Table

F082001Pay Grades Table

F069096Payroll General Constants File


2.3Related Business Functions - Review and Copy Code

Source NameFunction Name

N0800005Pay Grade Server

N0800006Calculate Pay Period and Annual Salary from Input

N0800027Pay Rate Table Server

N0800009Retrieve Standard Hours Per Year


2.4Processing 


1.0If Salary Frequency is not equal to 'A', then Annual Salary  and change Salary Frequency to 'A'.

2.0.If Pay Rate Source was not passed in, then retrieve it from the Constants File (F08040).

3.0.If Hours Per Year is blank, then default it in based on the 'Retrieve Standard Hours Per Year' 
server.


4.0.If Pay Rate Source is equal to 1:

4.1.If Salary and Hourly Rate are zero and Union Code is not blank:
4.1.1.Retrieve rates through the 'Pay Rate Tabel Server (F069126)
4.2.Perform Salary Calculations.

5.0.If Pay Rate Source is equal to 2:
5.1.If Pay Grade is not equal to blank
5.1.1.Retrieve rates and default informatin form the Pay Grade Server.
5.1.2.If Hours Per Year is blank

5.1.2.1.Default Hours per Year, Hours per Day and Days per Year with values 
from the Pay Grade Server.

5.2.Perform Salary Calculations.

6.0.If Pay Rate Source is equal to 3;
6.1.Perform Salary Calculations.

7.0.Calculate Pay Period Salary.








Data Structure

DN0500025 - Salary Calculations Server

Parameter NameData ItemData TypeReq/OptI/O/Both
cActionACTIONcharOPTNONE

A code that indicates the activity you want to perform. Valid codes are:    A Add new record    C Change existing record    D Delete existing 
record    I Inquire on existing record    .       End of program or function    space Clear the form  If you enter a code that is not active, the system 
highlights the code and no action occurs. NOTE: Depending on how your company has set up action code security, you might not be authorized 
to use all action codes.

cPayRateSourcePRSRcharOPTNONE

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.

szBefPayGradePGRDcharOPTNONE

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  

szBefPayGradeStepPGRScharOPTNONE

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 

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

mnAftHourlyRatePHRTMATH_NUMERICOPTNONE

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.

szAftJobCodeJBCDcharOPTNONE

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.

szAftJobStepJBSTcharOPTNONE

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.

szAftPayGradePGRDcharOPTNONE

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  

szAftPayGradeStepPGRScharOPTNONE

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 

szAftUnionCodeUNcharOPTNONE

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

mnAftHoursPerYearIHMATH_NUMERICOPTNONE

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

mnAftHoursPerDaySTDDMATH_NUMERICOPTNONE

The number of hours that the employee normally works in one day. If you leave this field blank, the default is the standard number of hours 
per day that you defined in the payroll company constants (company options, in OneWorld). For example, if, in the payroll company constants 
(company options), you specified 8 as the standard number of hours per day, but a few employees normally work 7 hours per day, enter 7 in 
this field for those employees.

mnAftDaysPeYearSDYYMATH_NUMERICOPTNONE

The number of workdays in a year. The number of standard days per year multiplied by the number of hours per day equals the standard 
hours per year. When you set up the human resources constants (System Options, in OneWorld) and you use the pay grade step table as the 
default source for the pay rate,the system calculates the salary for an employee by multiplying the standard days per year by the 
employee's hourly rate.

cAftPayTypeSALYcharOPTNONE

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

cAftPayFrequencyPFRQcharOPTNONE

A user defined code (07/PF) that indicates how often an employee is paid. Valid codes are: B Biweekly   W Weekly   S Semimonthly  
M Monthly   A Annually   C European Annualized  The system uses the value in the Description-2 field on user defined codes to calculate the amount per 
pay period for a salaried employee.

szAftHomeBusUnitHMCUcharOPTNONE

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

cAftShiftCodeSHFTcharOPTNONE

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.

szAftHomeCompanyHMCOcharOPTNONE

The company number where the employee records generally reside.

mnAftFullTimeEquivalentsFTEMATH_NUMERICOPTNONE

The full-time equivalent (FTE) amount. This figure is the portion of a full-time worker that an employee represents within the business unit. 
For example, an employee who works 20 hours per week would represent .50 (1/2 FTE). This number cannot be greater than 1 for any 
employee.

szAftLocalitySLOCcharOPTNONE

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.

cAftSalaryFrequencySFQOWcharOPTNONE

A code which indicates the period upon which the entered salary is based.

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

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

mnBefHourlyRatePHRTMATH_NUMERICOPTNONE

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.

mnBefHoursPerYearIHMATH_NUMERICOPTNONE

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

cBefPayTypeSALYcharOPTNONE

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

szBefLocalitySLOCcharOPTNONE

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.

szBefUnionCodeUNcharOPTNONE

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

mnBefFullTimeEquivalentsFTEMATH_NUMERICOPTNONE

The full-time equivalent (FTE) amount. This figure is the portion of a full-time worker that an employee represents within the business unit. 
For example, an employee who works 20 hours per week would represent .50 (1/2 FTE). This number cannot be greater than 1 for any 
employee.

cRecFoundInPRTableEV01charOPTNONE

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

jdDateEffectivePayGradeEFTJDEDATEOPTNONE

The date that identifies when a date is first valid. The effective date is used generically. It can be a lease effective date, a price or cost 
effective date, a currency effective date, a tax rate effective date, or whatever is appropriate.

Related Functions

None

Related Tables

None