Deduction Processing

This topic discusses:

  • Calculate Deductions process flow.

  • DED_LINE and DED_CALC tables.

  • Deduction processing and multiple jobs.

This diagram illustrates the Calculate Deductions process flow:

This diagram illustrates the Calculate Deductions process flow.

Payroll Interface Calculate Deductions process flow

Deduction processing occurs in the following way:

  1. To start the Calculate Deductions process, enter a pay run ID and other parameters using the Calculate Deductions (RUNCTL_DED_CALC) component, Calculate Deductions page.

  2. PSPDCRUN reads the pay run ID and calls PSPDCCAL.

  3. PSPDCCAL calls the COBOL routines required to process deductions.

  4. PSPDCCAL calls PSPDCEMP, which in turn creates the CHECK array.

  5. PSPDCCAL calls PSPDARRY, which in turn creates the DARRY array.

  6. PSPDCCAL calls PSPUPDED, which populates the DED_LINE and DED_CALC tables.

PSPDCCAL calls PSPDCEMP

The PSPDCEMP COBOL routine:

  • Selects the jobs and benefit programs to be processed by PSPDARRY.

  • Stores the EMPL_RCD and BEN_RCD that might exist for the EMPLID in the CHECK array.

PSPDCCAL calls PSPDARRY

The PSPDARRY COBOL routine:

  • Uses the CHECK array to select and calculate the deduction values that should be taken from an employee's check.

  • Stores the calculated deduction values in the DARRY array.

PSPDCCAL calls PSPUPDED

The PSPUPDED COBOL routine writes the results of the Calculate Deductions process to the DED_LINE and DED_CALC tables.

Note: The EMPLID/EMPL_RCD key field combinations for an employee are determined using the CHECK and DARRY arrays.

Payroll Interface stores the results of the Calculate Deductions and Deduction Confirmation processes in three tables: DED_CALC, DED_LINE, and DED_MESSAGE.

This diagram illustrates the parent-child relationship between the DED_LINE and DED_CALC tables:

This diagram illustrates the parent-child relationship between the DED_LINE and DED_CALC tables.

Parent-child relationship between the DED_LINE and DED_CALC tables

DED_LINE Table

The DED_LINE table stores the EMPLID and EMPL_RCD key fields that are required to identify and process an employee. The value of the PAY_LINE_STATUS field indicates whether the process finished successfully or failed. You can view the results using the Review Deductions (DED_CALCULATIONS) component.

Possible PAY_LINE_STATUS values are:

  • Calculated (C): Deductions were calculated; no errors occurred

  • Confirmed (F): Deductions were confirmed; no errors occurred.

  • Error (E): An error occurred.

  • Updated by user (U): An error occurred.

  • Pay in progress (P): An error occurred.

DED_CALC Table

The DED_CALC table stores the EMPLID and EMPL_RCD key fields that are required to identify an employee as well as the results of the Calculate Deductions process, including the deduction codes and amounts for each. You can view results using the Review Deductions component.

DED_MESSAGE Table

The DED_MESSAGE table stores the EMPLID and EMPL_RCD key fields that are required to identify an employee and is populated only if an error occurs during the Calculate Deductions or Deduction Confirmation process. You can view the error messages using the Review Error Messages (DED_MESSAGE) component.

To calculate deductions for an employee with multiple jobs, the following criteria is used:

  • An employee with multiple jobs can have different benefit programs for each job.

  • If an employee has multiple jobs, some of which use the same benefit program, one of the jobs must be selected as the primary job.

  • If an employee has multiple jobs, all of which use different benefit programs, each job is selected as the primary job.

  • Deductions are calculated only for primary jobs.

This table shows possible job and benefit program combinations for three employees:

EMPLID

EMPL_RCD

Benefit Program

Benefit Record Number

Primary Benefit Job

8412

0

BAS

0

Y

8412

1

FLX

1

Y

8412

2

FLX

1

N

8200

0

BAS

0

Y

8300

0

BAS

0

Y

8300

1

BAS

0

N

Benefit deductions use key fields EMPLID and EMPL_RCD. General deductions use key fields EMPLID and COMPANY (but not EMPL_RCD). Because the key fields are not the same, benefit deductions and general deductions are processed differently. The following tables show the deduction results for the employee whose EMPLID is 8421.

CHECK Array:

EMPLID

Benefit Program

(index for more than one)

BEN_RCD

8421

BAS

0

8421

FLX

1

DARRY Array:

Benefit Plan

Benefit Program

BEN_RCD

20 Life

BAS

0

00 (general)

none

999

20 LifeX

FLX

1

DED_CALC table results:

Company

Pay Group

Pay End Date

EMPLID

EMPLID_RCD

Plan Type

Benefit Plan

PST

WK1

07/03/00

8412

0

20

LIFE

PST

WK1

07/03/00

8412

0

00

none

PST

FLX

07/03/00

8412

1

20

LIFEX

Benefit Deductions

In the preceding example, Payroll Interface treats each EMPLID/EMPL_RCD key field combination as a separate row of information; each job is treated as a separate check. The EMPLID and all multiple jobs will be run through the deduction calculation process. Although a separate row is created for each multiple job in the payroll interface, all of the employee's multiple job deductions are processed at the same time.

General Deductions

In the preceding example, general deductions should be taken against only one of the jobs. However, because general deductions do not include the EMPL_RCD key field, you must manually select the EMPL_RCD using the Payroll Options (PAYROLL_DATA) component, Payroll Options 2 page, Deduction Calc Record field. The Deduction Calc Record (Deduction Calculation Record) field appears for employees who have:

  • Multiple jobs in the same company.

  • Different benefit programs for each job.

  • General deductions.