Working With User Code

This section provides an overview of user code and discusses how to:

Click to jump to parent topicUnderstanding User Code

This section provides overviews of:

Click to jump to top of pageClick to jump to parent topicUser Code Usage

Pension Administration provides a flexible and comprehensive set of calculation options. However, you might need to configure calculation components to exactly conform to your plan rules.

Although configurations enable you to control the system, they can complicate system maintenance, particularly upgrades. Any time that you receive new code from PeopleSoft, you must ensure that the new code does not overlay the configurations that you have instituted.

Because of the potential maintenance issues, the best way to manage your configuration is to isolate your custom code. You must still analyze the effect of PeopleSoft code changes on your configured code, but keeping the PeopleSoft code and your custom code separate makes it easier to reapply configurations after an upgrade.

To help you isolate your modifications, PeopleSoft provides clearly marked user code exit points on many of the system's parameter pages. Each of these represents a specifically defined portion of one of the system's delivered functions. When you select the user code option, the calculation runs the configured COBOL module that derives the expected value.

Note. This section discusses user code modules that are associated with the system's core functions. You can also create user code modules that are not associated with core functions. To incorporate these independent user code modules into the calculation, enter them directly on the Plan Implementation page.

Click to jump to top of pageClick to jump to parent topicUser Code Executables

Each component that offers user code options is associated with a single user code executable—with one exception: All service and break components share a single executable. The system predefines the executable name for a component. All custom processing for a function belongs in the module associated with that function.

To set up multiple definitions with separate modifications, ensure that your code includes logic that checks the definition name to determine the appropriate processing.

If a function has multiple user code points, the delivered user code module already has subsections for the different points. When Pension Administration calls the user code module, the main section performs the appropriate user code subsection, based on the point from which the user code was called.

In all cases, your module must pass back the appropriate values, based on the user code options that are selected.

Click to jump to top of pageClick to jump to parent topicUser Code Module Names

A calculation calls the following modules when it recognizes that a user code option has been selected. Each of these modules is delivered as an empty shell that you can modify. User code modules names begin with PAPX, followed by characters to identify the individual function.

None of the aliases (the components on the Variables menu) employs user code options.

Function

User Code Module Name

Consolidated earnings

PAPXCERN

Consolidated hours

PAPXCHRS

Service

PAPXSVC

Vesting

PAPXVEST

Final average earnings

PAPXAERN

Cash balance accounts

PAPXABAL

Early and late retirement factors

PAPXAGE

Death coverage factors

PAPXDTH

Optional forms of payment

PAPXOPTF

415 limits

PAPX415

 

Rules

User Code Module Name

Date conversion options, date round options, and duration options

PAPXDTGN

Actuarial assumptions

PAPXCMFN

401(a)(17) parameters

PAPXELMT

The following functions and rules do not include user code options:

Click to jump to parent topicCalling User Code

Several functions have parameters that you can mark for custom processing by selecting the User Code in the Zero Options field for a portion of the calculation.

Anywhere that this user code option appears, you can select it to have the system run your configured code to perform that part of the processing.

Two user code options are different:

See Also

Creating a Plan Implementation

Calculating Pension Benefits

Click to jump to parent topicWorking With Individual User Code Modules

This section provides overviews of user code modules and the information in this section and discusses how to use user code modules for specific functions.

Click to jump to top of pageClick to jump to parent topicUnderstanding User Code Modules

Although each function uses only one user code module, that code can cover many different situations. Sometimes, the code completes all of the processing without referencing parameters. Sometimes, the code performs one small part of the processing and provides a method or an intermediate value for the function.

Pension Administration expects that the modules perform processing only for the user code options that are selected on the parameter pages.

Click to jump to top of pageClick to jump to parent topicUnderstanding the Information in This Section

This section includes summary tables for the system components that have user code options on the parameter pages. These tables include the following information:

This section is organized by function and page.

Click to jump to top of pageClick to jump to parent topicService User Code

The following pages appear for add period rules and hours equivalence rules definitions:

Add Periods Rules

This page appears only for elapsed time and hours equivalence definitions.

User Code Option

Description

Adjustment Rule

Returns the adjusted effective date for the specified action and reason.

Hours Equivalency Rules

This page appears only for hours equivalence definitions.

User Code Option

Description

Hours Equivalence Type and Customized Equivalence Rule

Return the number of hours in a period.

See Also

Setting Up Elapsed Time Service

Setting Up Hours Counting Service

Setting Up Hours Equivalence Service

Click to jump to top of pageClick to jump to parent topicBreak User Code

The following pages appear for break restore rules and break wait rules:

Break Restore Rules

User Code Option

Description

Break Defined By

Sets break for every period in the service history.

Break Wait Rules

User Code Option

Description

One Year Wait and Elapsed Time

Return Y (service is restored) or N.

See Also

Defining Service and Break Rules

Click to jump to top of pageClick to jump to parent topicVesting User Code

The following pages appear for add period and hours equivalence rules definitions:

Vesting Schedule Page

User Code Option

Description

Schedule Type

Returns the vesting percentage for the schedule. This percentage is still compared to results from other schedules, and it is still subject to the full vesting and forfeiture conditions on the Vesting Conditions page.

Vesting Conditions Page

User Code Option

Description

Full Vesting Conditions

Returns Y or N. If the value is Y, the final vesting is 100 percent.

Forfeiture Conditions

Returns Y or N. If the value is N, the final vesting is 0 percent.

See Also

Defining Vesting Rules

Click to jump to top of pageClick to jump to parent topicFinal Average Earnings User Code

These user code options are available for final average earnings:

Parameters 2 of 2 Page

User Code Option

Description

Partial Period Options and Final Period Options

Return two parameters for each partial period in the history: Y or N to determine whether a period is included in the total. If the value is Y, return an earnings amount.

Limit Options - Before Averaging

Returns the limited amount for each period in the history.

Limit Options - While Averaging and Short Service Options

Return the final average earnings amount.

Zeros

Returns the earnings amount for each zero period in the history.

See Also

Defining Final Average Earnings

Click to jump to top of pageClick to jump to parent topicCash Balance Accounts User Code

These user code options are available for cash balance accounts:

Cash Balance 2 of 3 Page

User Code Option

Description

Calculate Credit According To..

Returns a credit amount for each period, still subject to minimums, maximums, and partial period rules.

Step Rate Threshold

Returns the earnings amount.

Subject to Minimum

Returns the minimum credit amount that is applied to each period.

Subject to Maximum

Returns the maximum credit amount that is applied to each period.

Cash Balance 3 of 3 Page

User Code Option

Description

Partial/Mini Period Rules

Returns the credit amount for each partial period in the history.

See Also

Defining Cash Balance Accounts

Click to jump to top of pageClick to jump to parent topicEarly and Late Retirement Factors User Code

These user code options are available for early and late retirement factors:

Parameters Page

User Code Option

Description

Subadjustment Method

Returns the adjustment factor. You can use it, or you can disregard the employee and beneficiary from and to ages on the Actuarial Equivalence Method page.

Actuarial Equivalence Method Page

User Code Option

Description

Employee From Age, Employee To Age, Beneficiary From Age, and Beneficiary To Age

Returns the age.

Arithmetic Method Page

User Code Option

Description

Number of Adjustment Periods

Returns the number of periods used as the basis for the arithmetic adjustment.

See Also

Defining Early and Late Retirement Factors

Click to jump to top of pageClick to jump to parent topicDeath Coverage User Code

These user code options are available for death coverage:

General Parameters Page

User Code Option

Description

Calculate Reduction Using

Provides the final adjustment factor.

Apply Table-Defined Schedule

Provides the final adjustment factor, using values provided by the specified table.

Define Fixed Period Page

User Code Option

Description

Determine Fixed Period Length

Returns the number of periods that the arithmetic rule uses to determine the factor.

See Also

Defining Death Coverage Reductions

Click to jump to top of pageClick to jump to parent topicOptional Forms of Payment User Code

These user code options are available for optional forms of payment:

General Parameters Page

User Code Option

Description

Non-Taxable Amount Calculation

Returns the nontaxable portion of the payment for each form in the formset.

Forms Definitions Page

User Code Option

Description

Conversion Method

Returns the factor for converting to the optional form of payment.

Lump Sum Parameters 2 of 2 Page

User Code Option

Description

Use Alternate Assumption Set

Returns the factor for converting to alternate lump sum amount.

Lump Sum Not Available

Returns Y or N. If value is N, the payment option does not appear in the calculation results.

See Also

Defining Optional Forms of Payment

Click to jump to top of pageClick to jump to parent topicConsolidated Earnings User Code

These user code options are available for consolidated earnings:

Generate Earnings Page

User Code Option

Description

Generation Method for Action Reason and Generation Method for Custom Statement

Return the earnings amount for the period. This amount is still subject to minimums or maximums.

Earnings Adjustments Page

User Code Option

Description

Adjustment Method - Term

Returns the earnings amount to replace earnings from the termination period.

Adjustment Method - Hire

Returns the earnings amount to replace earnings from the hire period.

See Also

Consolidating Payroll Data

Click to jump to top of pageClick to jump to parent topicConsolidated Hours User Code

These user code options are available for consolidated hours:

Generate Hours Page

User Code Option

Description

Generation Method for Action Reason and Generation Method for Custom Statement

Return the earnings amount for the period. This amount is still subject to minimums or maximums.

Define Hours Adjustments Page

User Code Option

Description

Adjustment Method - Term

Returns the hours amount to replace hours from the termination period.

Adjustment Method - Hire

Returns the hours amount to replace hours from the hire period.

See Also

Consolidating Payroll Data

Click to jump to top of pageClick to jump to parent topicDuration Options User Code

These user code options are available for duration options:

Calculation Options Page

User Code Option

Description

Date Math Method

Uses the two date end points and returns a decimal date. If this option is used on the Duration Definition page, the duration utility converts this date to the six other formats.

Conversion Options Page

User Code Option

Definition

Decimal Conversion Method

Uses a raw duration and returns a decimal value.

See Also

Using Duration Aliases and Duration Options

Click to jump to top of pageClick to jump to parent topicDate Rounding Options User Code

These user code options are available for date rounding options:

Date Round Page

User Code Option

Description

Date Type

Uses the date to which the method is applied (raw or decimal) and returns a rounded value.

See Also

Using Date Aliases and Date Options

Click to jump to top of pageClick to jump to parent topicDate Conversion Options User Code

These user code options are available for date conversion options:

Date Conversion Page

User Code Option

Description

Extract

Returns a custom value based on a raw date.

Conversion Method

Uses the date to which the method is applied (raw or decimal) and returns a converted value.

See Also

Using Date Aliases and Date Options

Click to jump to top of pageClick to jump to parent topicActuarial Assumptions User Code

These user code options are available for actuarial assumptions:

Interest Basis Page

User Code Option

Description

Interest Basis

Returns an interest rate.

See Also

Using Actuarial Assumptions

Click to jump to top of pageClick to jump to parent topicInterest Methods User Code

These user code options are available for interest methods:

Interest Rate Method Page

User Code Option

Description

Interest Rate Method

Returns an interest rate.

Period Techniques Page

User Code Option

Description

Full Period Technique

Returns an interest credit for all full periods to which the rule is applied.

Partial Period Technique

Returns an interest credit for all partial periods to which the rule is applied.

See Also

Using Interest Methods

Click to jump to top of pageClick to jump to parent topic401(a)(17) Parameters User Code

These user code options are available for 401(a)(17) parameters:

401(a)(17) Parameters Page

User Code Option

Description

Earnings are Limited on and Carry Back Limits

Returns a limited earnings amount for each period to which the rule is applied.

See Also

Applying Section 401(a)(17) Earnings Limits