CompensationRootWorkTableCach

Compensation Root Work Table Cache

Minor Business Rule

Object Name: B0800199

Parent DLL: CHRM

Location: Client/Server

Language: C

Functional Description

Purpose

The purpose of this function is to store all the information related to employee level in 
relationship to the employee's supervisor.


Setup Notes and Prerequisites

Records can be Read, Added, Deleted, or Updated to the cache, depending on Cache Action Code, CACTN, 
passed in. The following is a list of the modes used to select cache processing options:

Input

Processing TypeType

============                                  

Cache Get 1

Cache Add 2

Cache Update 3

Cache Delete 4

Cache Delete All 5

Cache Get Next 6

Cache Add/Update 7 (Do Not Use)

Cache End  8
Cache Close Cursor 9


Return errors through Error Message ID, DTAI.


The cache Key is as follows:

mnJobnumberAKey1   (from next number server X0010)

szAddressNumberKey2
szModelName9Key3

mnModelOwnerKey4

cReviewTypeKey5

  

The data can be accessed using the full key or a partial key using NumberKeys, NKEYS, to distinguish 
between a full or a partial fetch.  JobNumberA must always be part of the key. 


The Cache Cursor, GENLNG must be past to and from the BSFN.


When adding a record always attempt to Get the record first.  If no error is returned then the record 
already exists and it cannot be added.

Special Logic


Technical Specifications

include the header file b0800199.h
    

Declare Variable     

 IDnJDBReturn;
ID          idReturnValue= ER_SUCCESS;

char        szErrorID[11];           

int         iCacheActionCode;

      

Declare Data Structures

  DSD0800199          dsCacheKey;
DSD0800199          dsSaveData;  

Declare pointers

    HUSER               hUser                    = (HUSER) NULL;
HCACHE              hCacheHandle             = (HCACHE) NULL;

Check for NULL pointers, if there are null pointers set error '4363'


Begin Main Processing

 
Initialization Of DS Structure and Save of Workfields  


Initialize the Behavior

If an error occurs initializing the behavior and if cSuppressErrorMessage does not = '1' then 
set error.

  

   iCacheActionCode=atoi(lpDS->szCacheActionCode);


Initialize the Cache 

Call internal function I00800199_InitCache
If no error initializing cache then Process Action code


If iCacheActionCode past in = 1 (Get) then call internal function 

I0800199_CacheGet.
If iCacheActionCode past in = 2 (Add) then call internal function 

 I0800199_CacheAdd.

If iCacheActionCode past in = 3 (Update) then call internal function

I0800199_CacheUpdate.
If iCacheActionCode past in = 4 (Delete) then call internal function

I0800199_CacheDelete.
If iCacheActionCode past in = 5 (Delete All) then call internal function

I0800199_CacheDeleteAll.

If iCacheActionCode past in = 6 (Get Next) then call internal functionI0800199_CacheGetNext.

If iCacheActionCode past in = 7 (Add Update) then call internal function

I0800199_CacheAddUpdate.

If iCacheActionCode past in = 8 (End) then call JDE function

 JdeCacheTerminateAll.

If iCacheActionCode past in = 9 (Close Cursor) then call internal 

Function I0800199_CloseCursor.
If iCacheActionCode = anything else then Error.


Return value of saved fields after cache processing is completed

szErrorMessageID = szErrorID

cSuppressErrorMessage = cSuppressErrorMessage
    szCacheActionCode = dsSaveData.szCacheActionCode

    mnNumberKeys = mnNumberKeys);



Function Clean Up

Free the Behavior
If the pointer szErrorMessageID is not blank and cSuppressErrorMessage does not = '1' then set error.


Internal functions

Function:  I0800199_InitCache   
Initialize cache for Benefit Categories

Declare Variables

JDECM_RESULT       jdeCacheCode = JDECM_PASSED;
Declare structures
DSD0800199dsCacheKey;
JDECMINDEXSTRUCTIndex[1]; 

Main Processing

Initialize output

SzErrorID = ""
Initialize the cache

Setup And Initialize Cache-Keys to Create Cache once
Set Memory, memset(Index, 0x00, sizeof(JDECMINDEXSTRUCT));


Set the number of segments of the key to = '5'

The first segment of the key is mnJobNumberA

Index->CacheKey[0].nOffset = offsetof(DSD0800199, mnJobnumberAKey1); 

Index->CacheKey[1].nOffset = offsetof(DSD0800199, mnAddressNumberKey2); 

Index->CacheKey[2].nOffset = offsetof(DSD0800199, szModelName9Key3); 

Index->CacheKey[3].nOffset = offsetof(DSD0800199, mnModelOwnerKey4); 

Index->CacheKey[4].nOffset = offsetof(DSD0800199, cReviewTypeKey5); 


Set lphCacheHandle = "B0800199", 

If there is an error szErrorID = ERR_INIT_CACHE



Function:
  I0800199_CacheGet   
Declare Variables

JDECM_RESULT       jdeCacheCode = JDECM_PASSED;
int   iNumberOfKeys;

    HJDECURSOR     hCursor        =  (HJDECURSOR) NULL;

   DSD0800199dsCacheData;

BOOLbChangedKey;

Main Processing

Initialize output

Set Memory
memset((void *) (lpdsCacheKey),0x00,sizeof(DSD0800199));
memset((void *) (&dsCacheData),0x00,sizeof(DSD0800199));

szErrorID = ""

Initialize Variables  

MathNumericToInt((LPMATH_NUMERIC) &lpDS-
>mnNumberKeys,(LPINT)&iNumberOfKeys);

Open the Cursor if error then szErrorID = "ERR_OPEN_CURSOR"

If no error Reset Cursor 

If iNumberOfKeys = '0' then Fetch the first record

Else fetch the record matching the keys

If there is an error with the fetch then szErrorID = ERR_FETCH_RECORD

if the Cursor does not = NULL then close the cursor



Function:  I0800199_CacheAdd 

Declare Variables

JDECM_RESULT       jdeCacheCode = JDECM_PASSED;
     int iNumberOfKeys;
HJDECURSOR        hCursor      = (HJDECURSOR) NULL;    
ID                idCacheCursor;                       

Main Processing

Initialize output
 
SzErrorID = ""

Set the cache with the number or keys = mnNumberKeys

Set the cursor = idCacheCursor

Copy the memory needed the size of DSD0800199


Add the record the size of DSD0800199

If Add fails then szErrorID = ERR_ADD_RECORD



Function:  I0800199_CacheUpdate   

Declare Variables 

int                iNumberOfKeys;
JDECM_RESULT       jdeCacheCode = JDECM_PASSED;
HJDECURSOR        hCursor      = (HJDECURSOR) NULL;  

   DSD0800199dsCacheData;

ID                idCacheCursor;                       
Main Processing

Initialize output

SzErrorID = ""
Set the cache with the number or keys = mnNumberKeys

Set the cursor = idCacheCursor

Set the memory needed the size of DSD0800199


Fetch the record, if record is found Update the record

If there is an error then szErrorID = ERR_UPDATE_RECORD


Close the Cursor



Function:  I0800199_CacheDelete   

Declare Variables

JDECM_RESULT       jdeCacheCode = JDECM_PASSED;
int   iNumberOfKeys;

HJDECURSOR       hCursor       = (HJDECURSOR) NULL;  

Main Processing

Initialize Variables

SzErrorID = ""
Set the cache with the number or keys = mnNumberKeys


If Number Of Keys = 0 Then call internal function I0800199_CacheDeleteAll

else

Initialize the cursor

Set the memory the size of DSD0800199

Fetch the record

If fetch is successful then delete the record

If there is an error deleting then szErrorID = ERR_DELETE_RECORD

If there is an error fetching then szErrorID = ERR_FETCH_RECORD


Close the cursor



Function:  I0800199_CacheDeleteAll   

Declare Variables

JDECM_RESULT       jdeCacheCode = JDECM_PASSED;

int   iNumberOfKeys;

HJDECURSOR       hCursor       = (HJDECURSOR) NULL;  


Main Processing

Initialize input and output

SzErrorID = ""
Copy the memory needed the size of DSD0800199

Set the cache with the number or keys = mnNumberKeys


Open the Cursor

Delete all records

If there is an error on delete then szErrorID = ERR_DELETE_RECORD


 Close Cursor



Function:  I0800199_CacheGetNext   

Notes:Assumption is made this function will be performed until the

Cache Index is no longer equal to the input index. If this function is prematurely ended, the cursor 

will have to be closed using function I0800199_CloseCursor, or memory leaks will result from the 

cursor being left open.

 

Declare Variables

JDECM_RESULTjdeCacheCode = JDECM_PASSED;
intiNumberOfKeys;

BOOLbMatchKey=FALSE;

BOOLbChangedKey;

    HJDECURSOR     hCursor        = (HJDECURSOR) NULL;

    DSD0800199dsCacheData;

    ID                idCacheCursor;                       

Main Processing

Initialize output
 
SzErrorID = ""

Set the memory needed the size of DSD0800199

Initialize Variables  

Set the cache with the number or keys = mnNumberKeys

Set cursor for either initial fetch or subsequent fetches

If idCacheCursor = 0L then this is a subsequent search 

Open Cursor

Copy the memory needed the size of DSD0800199
Fetch the Next record

if hCursor does not = NULL then fetch the next record

If idCacheCursor <> 0L fetch the first record

If the fetch was successful 

If iNumberOfKeys > 0 then call I0800199_ChangedKey and check that the keys match
If the keys do not match then szErrorID = ERR_FETCH_RECORD

If hCursor does not = NULL then close the cursor

set idCacheCursor   = 0L



Function:  I0800199_CacheAddUpdate 

DO NOT USE THIS FUNCTION



Function:
  I0800199_CloseCursor   
Declare Variables    

HJDECURSOR         hCursor      = (HJDECURSOR) NULL;
Main Processing

If idCacheCursor does not equal 0L then close cursor 
Set idCacheCursor = 0L



Function:  I0800199_ChangedKey   

Test to see if the key matches the key in cache

If it has changed then bChangedKey = True

Else

bChangedKey = FALSE;


End of Internal functions




Data Structure

D0800199 - Compensation Root Work Table Cache

Parameter NameData ItemData TypeReq/OptI/O/Both
mnJobnumberAKey1JOBSMATH_NUMERICREQINPUT

The job number (work station ID) which executed the particular job.

szModelName9Key3MNAMEcharOPTBOTH

The model name. Valid values are:    MASTER is a model name to be used for the Final Submitted Compensation.    PUBLIC model is 
controlled by a UDC Table.  Must use entry from the UDC Table.    PRIVATE model could have any name the owner chooses.

mnModelOwnerKey4MOWNRMATH_NUMERICOPTBOTH

The address book number of the person creating the model.

cReviewTypeKey5RWTYPcharOPTBOTH

A code that indicates the last compensation review type.

mnAddressNumberKey2AN8MATH_NUMERICOPTBOTH

A number that identifies an entry in the Address Book system, such as employee, applicant, participant, customer, supplier, tenant, or 
location.

cSuppressErrorMessageSUPPScharOPTINPUT

A flag indicating whether or not runtime error messaging will occur when an error message is issued from a business function.        0 = allow 
runtime error message handling.        1 = suppress runtime error message handling.

szErrorMessageIDDTAIcharOPTOUTPUT

A code that identifies and defines a unit of information. It is an alphanumeric code up to 8 characters long that does not allow blanks or 
special characters such as %, &, or +. You create new data items using system codes 55-59. You cannot change the alias.

idCacheCursorGENLNGIDREQBOTH

General purpose ID variable.

mnNumberKeysNKEYSMATH_NUMERICREQINPUT

The number of keys in an index that will be used to retrieve, delete, or update a record.

szCacheActionCodeCACTNcharREQINPUT

A code that indicates the activity you want to perform. Valid codes:     o Get - Retrieve the cache element     o Add - Add a cache element     o 
Update - Update a cache element     o Delete - Delete a cache element     o Delete All - Delete all cache elements     o Get Next - Retrieve the 
next cache element     o Add/Update - Add a cache element if it does not exist; Update a cache element if it does exist     o Terminate - 
Terminate Cache

cModelTypeCodeMTYPCcharOPTBOTH

There are three types of models:    PUBLIC model can be viewed by owner and anyone above.    MASTER model is used for final 
submission.    PRIVATE model can be viewed by the owner only.

szModelDescriptionMDL01charOPTBOTH

This field is for a description of the data item.

szNameAlphaALPHcharOPTBOTH

The text that names or describes an address. This 40-character alphabetic field appears on a number of forms and reports. You can enter 
dashes, commas, and other special characters, but the system cannot search on them when you use this field to search for a name.

mnSupervisorANPAMATH_NUMERICOPTBOTH

The address book number of the supervisor.

szSupervisorNameSPRVNcharOPTBOTH

The address book name of the supervisor.

szCompanyCOcharOPTBOTH

A code that identifies a specific organization, fund, or other reporting entity. The company code must already exist in the Company 
Constants table (F0010) and must identify a reporting entity that has a complete balance sheet. At this level, you can have intercompany 
transactions. Note: You can use company 00000 for default values such as dates and automatic accounting instructions. You cannot use company 00000 
for transaction entries.

szCostCenterHomeHMCUcharOPTBOTH

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

cEmploymentStatusESTcharOPTBOTH

A user defined code (07/ES) that specifies an employee's status within the company. You can change the default codes or set up new 
codes to meet the needs of your company. Sample valid values include the following:    Blank Full-time regular.    1        Full-time temporary    2        
Part-time temporary    3        Part-time regular    4        Seasonal    5        Casual

cEmployeePayStatusPASTcharOPTBOTH

The code used to indicate whether an employee's pay status is active or inactive. Codes for active pay status employees are numeric, 
and codes for inactive pay status employees are alphabetic. The system omits all employees with alphabetic pay status codes from the 
payroll run. See also Employment Status (EST) and Change Reason (TRS).

szUnionCodeUNcharOPTBOTH

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

cPayTypeHSPSALYcharOPTBOTH

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

mnCompanyStdHoursYearCOIHRMATH_NUMERICOPTBOTH

The number of work hours in the year for the company.

mnFullTimeEquivalentsFTEMATH_NUMERICOPTBOTH

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.

mnWorkHoursPerYearIHMATH_NUMERICOPTBOTH

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

mnRtHourlyPHRTMATH_NUMERICOPTBOTH

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.

mnCurrentAnnualizedSalaryCASALMATH_NUMERICOPTBOTH

This is the current annual salary earned by an employee. For salaried employees, this annual salary is the current actual annual salary 
divided by the employee's full time equivalents. For hourly employees, the annual salary is the current actual annual rate multiplied by the 
company's standard hours per year.

mnCompaRatioCMPAMATH_NUMERICOPTBOTH

A calculation used to compare an employee's salary/wage against a midpoint amount set up within a pay grade or salary range.

szJobTitleJBCXcharOPTBOTH

A title associated with an employee's job.

jdDateCurrentPositionCPDTJDEDATEOPTBOTH

The date the employee started the current position.

mnRtSalarySALMATH_NUMERICOPTBOTH

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

szSalaryDataLocalitySLOCcharOPTBOTH

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.

szPositionIDPOScharOPTBOTH

A code that you use for budgetary (position) control purposes. The position ID consists of:   o  Position (position code and its description)     
o  Fiscal year     o  Home business unit  For example, you can identify position A0-1 as Accounting Manager for fiscal year 2005-2006, for 
home business unit 41. You might choose to set up positions so that the position IDs are the same as the corresponding job IDs. Within a home 
business unit, positions appear in the alphanumeric sequence of their position IDs. For example, position A0-1 appears before position A0-2.

szDescription001DL01charOPTBOTH

A user defined name or remark.

jdDateinCurrentJobCDIJJDEDATEOPTBOTH

The date when an employee started working in this job.

szJobCategoryJBCDcharOPTBOTH

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.

szDescription01002DL02charOPTBOTH

Additional text that further describes or clarifies a field in the system.

szJobStepJBSTcharOPTBOTH

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.

szPayGradePGRDcharOPTBOTH

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  

szPayGradeStepPGRScharOPTBOTH

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 

mnTimeinJobmonthTIJMMATH_NUMERICOPTBOTH

The number of months the employee has been in this job.

mnTimeinPositionmonthTIPMMATH_NUMERICOPTBOTH

The number of months the employee has in this position.

mnLengthinservicemonthLISMMATH_NUMERICOPTBOTH

The number of months an employee has worked for the company.

jdDateLastRaiseDRJDEDATEOPTBOTH

The date of the employee's last raise. For the stand-alone HR system, this is the date when you update salary and wages. If you also have 
the Payroll system, this date is automatically updated when a payroll is run. You define pay effective dates using the Pay Rate Information 
screen.

jdLastSalaryreviewdateLSRDJDEDATEOPTBOTH

The date the last compensation review was given.

jdNextSalaryreviewdateNSRDJDEDATEOPTBOTH

The date on which the employee is scheduled for the next compensation review.

cCompanychangeCOCHGcharOPTBOTH

If the company changed, enter 1 in this field. Leave the field at 0 if the company did not change.

cBUchangeBUCHGcharOPTBOTH

If the Business Unit was changed, enter 1 in this field.  If the Business Unit did not change, leave the field at 0.

cPayStatuschangePSCHGcharOPTBOTH

If the pay status was changed, enter 1 in this field. Leave the field at 0 if the pay status did not change.

cUnionchangeUNCHGcharOPTBOTH

Use this processing option to specify a change in the union code. Valid values are:    0   The union code is not changed    1   The union code 
is changed 

cLocalityChangeLOCHGcharOPTBOTH

If the locality was changed, enter 1 in this field. Leave the field at 0 if the locality did not change.

cPayClassChangePCCHGcharOPTBOTH

If the pay class was changed, enter 1 in this field. Leave the field at 0 if the pay class did not change.

cCurrentSalarychangeCSCHGcharOPTBOTH

If the current salary was changed, enter 1 in this field. Leave the field at 0  if the current salary did not change.

cCurrentCompachangeCCCHGcharOPTBOTH

If the Current Compa Ratio was changed, enter 1 in this field.  If the Current Compa Ratio did not change, leave the field at 0.

cCurrentPositonchangeCPCHGcharOPTBOTH

If the current position was changed, enter 1 in this field. Leave the field at 0 if the current position did not change.

cPositionDateChangePDCHGcharOPTBOTH

If the current date on position was changed, enter 1 in this field. Leave the field at 0 if the current date on position did not change.

cJobDateChangeJDCHGcharOPTBOTH

If the Current Date on Job was changed, enter 1 in this field. Leave the field at 0 if the Current Date on Job did not change.

cSupervisorChange9SPCHGcharOPTBOTH

The employee's supervisor change flag.

cCurrentJobTypechangeCJTCHGcharOPTBOTH

If the Current Job Type was changed, enter 1 in this field. If the Current Job Type did not change, leave the field at 0.

cCurrentJobStepchangeCJSCHGcharOPTBOTH

If the Current Job Step was changed, enter 1 in this field. If the Current Job Step did not change, leave the field at 0.

cCurrentPayGradechangeCPGCHGcharOPTBOTH

If the current pay grade was changed, enter 1 in this field. Leave the field at 0 if the current pay grade did not change.

cCurrentPayStepchangeCPSCHGcharOPTBOTH

If the current pay step was changed, enter 1 in this field. Leave the field at 0 if the current pay step did not change.

cLastRaiseDateChangeLRDCHGcharOPTBOTH

The date of the last raise.

jdNewSalaryEffectveDateNSEFTOJDEDATEOPTBOTH

A future date on which you want salary changes to take effect.

mnNewAnnualizedSalaryNASMATH_NUMERICOPTBOTH

The recalculated annual salary earned by an employee. For salaried employees,this annual salary is the current actual annual salary with 
the increase amount added, divided by the employee's full time equivalents. For hourly employees, this annual salary is the current actual 
annual rate with the increase amount added, multiplied by the company's standard hours per year.

cNewSalaryOutsiderangeNSORcharOPTBOTH

A code that indicates that salary is above or below the range specified in the salary range guideline table.

mnNewCompaRatioNCRMATH_NUMERICOPTBOTH

A calculation you will use to compare an employee's salary or wage against a midpoint amount that is set up within a pay grade or salary 
range.

szNewPositionNPOScharOPTBOTH

This is the new position ID to be used for budgetary (position) control purposes. The position ID consists of the position code and its 
description,the fiscal year and the home business unit.

szNewExternalJobTitleNEJTcharOPTBOTH

The name for the employee's new job that the company uses externally, such as on business cards.

mnNewHourlyRate9NHRRMATH_NUMERICOPTBOTH

The employee's new hourly rate.

cNewPayTypeHSPNSALYcharOPTBOTH

A code that indicates how an employee will be paid. Valid values are: H Hourly S Salaried P Piecework

szNewPositionDescriptionNPDL01charOPTBOTH

This field is for a new position description.

szNewJobTypeNJTcharOPTBOTH

A code that defines 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.

szNewJobTypeDescritionNJTDLcharOPTBOTH

This field is for a user defined name or remark.

szNewJobStepNJScharOPTBOTH

A code 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.

szNewPayGradeNPGRcharOPTBOTH

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.

szNewPayStepNPSTcharOPTBOTH

A code that identifies a pay grade and pay step. You can use this code to specify an employee's pay rate.

cPayFrequencyPFRQcharOPTBOTH

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.

cFlsaExemptYNFLSAcharOPTBOTH

A code that indicates whether the employee fits the rules of the Fair Labor Standards Act (FLSA) and thus does not have to be paid for 
working overtime. Valid codes are: Y Yes, the employee fits the rules and does not have to be paid for working overtime. N No, the employee 
does not fit the rules and is to be paid for working overtime.

szNewUnionCodeNUNcharOPTBOTH

A code that indicates the new union or new plan in which the employee or group of employees work or participate.

szBenefitGroupCodeDIVCcharOPTBOTH

The benefit group to which the employee is assigned. Benefit groups facilitate employee enrollment by categorizing benefit plans and 
allowing enrollment rules for those categories. For example, assigning an employee to an executive (EXEC) benefit group automatically links the 
employee to the benefits available to executives in your organization.

szChangereasonforjobtitlecJTTRScharOPTBOTH

A code that indicates the reason why the job title was changed.

mnPerformanceAppraisalLevelPAPLMATH_NUMERICOPTBOTH

A code that specifies the level of proficiency at which a supervisor rates a person or asset for a particular competency type and 
competency code.

jdDateLastReviewedDATRVWJDEDATEOPTBOTH

A date that indicates when the process was last reviewed.

mnTierRankingTIRNKMATH_NUMERICOPTBOTH

A value that allows a supervisor to either rank employees individually or group them into tiers. When employees are ranked, each 
employee is assigned a unique number. When employees are grouped into tiers, several employees can have a common number. For example, a 
supervisor can assign a tier of 1 through 3 to 12 employees. Each employee can be assigned to tier 1, 2, or 3.

jdLastTierRankdateTRNKDJDEDATEOPTBOTH

The date the Tier/Rank was last updated.

mnTotalJobCompetencyPercenJBPCTRQDMATH_NUMERICOPTBOTH

A number that indicates how an employee is progressing in relation to the required competency level for a particular job.  The system 
calculates this value by first calculating the value for the Employee Competency Percent of Required field (EEPCTRQD) for all employee 
competencies that are related to a job competency for a particular job. The system then multiplies these percentages by their respective weighting 
factor and adds them together to determine the total job competency percent achieved.

jdLastTotalJobCompetencyreLTJCRWJDEDATEOPTBOTH

The date on which the last job competency review took place.

mnTotalBudgetAmountTBAMMATH_NUMERICOPTBOTH

The amount that is budgeted for a particular position within a business unit.

mnTotalIncreaseAmountTIAMMATH_NUMERICOPTBOTH

This field indicates the total amount of all increases.

cApprovalStatusAPPSTcharOPTBOTH

A code that indicates whether an employee status change has been approved. Valid values are:    Blank Pending    1       Approved    2       
Rejected

mnRespondingSupervisorANABMATH_NUMERICOPTBOTH

The supervisor responding to a request.

jdDateEmploymentStartDSTJDEDATEOPTBOTH

The date on which the employee actually reported to work for the most recent period of hire. When an employee initially begins working, 
the default is the original hire date. If no original hire date exists, the system uses the current date. This field can be updated multiple times if, for 
example, an employee is a seasonal worker. For the calculation tables in the Payroll system and the eligibility tables and date codes in the 
Human Resources system, the system also uses this date as a start date when it calculates deductions, benefits, and accruals.

jdLastApprovedRejectedDateLARDJDEDATEOPTNONE

This field is for the last approved or rejected date.

Related Functions

None

Related Tables

None