Defining Processing Elements

This chapter provides overviews of processing elements, sections, and process lists, and discusses how to:

Click to jump to parent topicUnderstanding Processing Elements

Global Payroll enables you to define payroll, absence take, and absence entitlement processes. To set up processing:

  1. Create sections, which are logical groups of elements that are resolved during a payroll or absence run.

  2. Add the sections to a process list that identifies the sequence and conditions under which each section of elements is resolved.

    You can create any number of process lists, but separate lists are required for payroll and absences processes.

  3. Attach each process list to a calendar, by associating the process list with a run type.

  4. Schedule the calendars for processing.

To run a payroll or absence process, run the process that you defined. The Process List Manager program starts at the top of the process list and, for each payee, works with the PIN Manager to resolve elements sequentially in each process list section. The system creates a set of files and tables to hold the processing results.

Click to jump to top of pageClick to jump to parent topicCommon Elements Used in This Chapter

Recalculate

Select this check box to instruct the PIN Manager to recalculate the element if it encounters it more than once in the process list. Clear the check box to have the PIN Manager adhere to the Always Recalculate check box setting on the Element Name page for the element.

For subprocess sections (with the exception of those set up for net pay validation by priority order), the system selects Recalculate. This setting is unchangeable.

Avoid recalculating elements, which can slow down processing.

Seq Nbr (sequence number)

Enter a sequence number for the element in the section to specify processing order. The processing sequence is extremely important; it can directly affect payroll or absence calculations.

Numbers can be up to 5 digits, and each number in the section must be unique. Assign numbers in increments of 10 or some other factor to avoid having to renumber to insert an element.

Click to jump to parent topicUnderstanding Sections

This section discusses:

Click to jump to top of pageClick to jump to parent topicSection Types

Sections control the processing order of individual elements, breaking down large process lists into manageable pieces. Each section can have one or more individual elements. You can’t add element groups to a section and generally can’t include sections in sections.

Using sections enables reuse of work. For example, if several processes use the same set of earnings, you can create one earning section and attach it to multiple process lists.

Sections are effective-dated—when running a payroll, the system retrieves sections attached to the process list, based on your calendar period end date.

You can define four section types, which determine:

This table lists the section types, the type of processing that each section is used in and what each section is used for:

Section Type

Type of Processing

Use

Standard

Absence, payroll, or both

For regular processing or when defining absence entitlement or absence take processes.

Generate Positive Input

Absence or payroll

For creating positive input (earnings or deductions) for another calendar. Example: meal allowances.

Payee

Absence, payroll, or both

For specifying, at the payee level, elements for processing and their sequence. Example: court orders.

Subprocess

Payroll

For doing net-to-gross calculations, net pay validation based on the priority of deductions, or other iterative processes. Can include loops and conditional formulas that determine whether a particular element is resolved. Examples: moving expenses and bonus payments.

Absence Take

Absence

For resolving absence takes in chronological order based on the absence begin date.

Click to jump to top of pageClick to jump to parent topicStandard Sections

Most sections in your process list are probably standard sections. When the Process List Manager encounters a standard section during payroll or absence runs, it reads and resolves each element in the section in the specified order.

Click to jump to top of pageClick to jump to parent topicGenerate Positive Input Sections

Generate positive input sections trigger creation of positive input—earning or deduction data, such as meal or travel allowances, that applies to one pay period and is payee-specific. Positive input is generated in one pay run and resolved in another. When the Process List Manager encounters a generate positive input section during source calendar processing, it creates rows of positive input that can be resolved and paid when you process the target calendar. The source and target calendars can be associated with the same or different pay periods or calendar group IDs.

Say your organization gives payees a meal allowance when they work four or more hours a day. Rather than using the Positive Input page to enter expenses manually, you can have the system generate positive input based on a formula that you define.

Note. Positive input can also be entered manually or received from other applications.

Rules for Generate Positive Input Sections

These are the rules for generate positive input sections:

Generate Positive Input Section Example

Your organization’s policy is to pay a daily meal allowance to payees who work four or more hours in a day, and you’ve created an earning element called Meal_Allow_Earn, with a calculation rule of Unit × Rate.

This example shows how your process list might be defined (the generate positive input section is the last in the process list):

Process list with generate positive input section

The system resolves the formula element in section 1, initializing the units component of Meal_Allow_Earn with the number of days in the period when the payee is scheduled to work four or more hours. The system moves to section 2, where it resolves the absence take elements, thereby decreasing the meal allowance units by the number of days that the payee was absent on days the payee was scheduled to work four or more hours. Assume that the units component resolves to 1 (day)—the payee was scheduled to work five hours and did so. Finally the system reaches section 3, the generate positive input section, containing the meal allowance earning element. Because the units component of the earning element was populated in sections 1 and 2, the system generates a row of positive input as listed in the following table:

Element

Rate Component (Meal_Allow_Earn_Rate)

Units Component (Meal_Allow_Earn_Unit)

Meal_Allow_Earn

10

1

Nothing happens to the data row until you run the payroll process for the target calendar. The system then checks for eligibility, and assuming that the payee still qualifies for a meal allowance, resolves the positive input by calculating 10 × 1.

See Also

Working with Positive Input

Using Calendars

Defining Element Groups

Defining Eligibility Groups

Segmentation Considerations

Click to jump to top of pageClick to jump to parent topicPayee Sections

Payee sections enable you to control which elements are processed for a specific payee and their processing order, in cases such as court orders; capital accumulation, such as payee contribution to a retirement plan; and other instances of special instructions at the payee level.

Having created a payee section, use the Section Overrides page to define the elements to be resolved for a particular payee. When encountering a payee section in a process list, the system retrieves the appropriate payee section and processes the elements in the section one by one.

Process lists can have multiple payee sections. You can include payee sections in subprocess sections.

Click to jump to top of pageClick to jump to parent topicSubprocess Sections

Subprocess sections are especially useful for:

A subprocess can include conditional formulas that determine whether a particular element is resolved and whether to perform a looping action.

See Understanding Net Pay Validation and Arrears Processing.

Rules for Using Subprocess Sections

These are the rules for using subprocess sections:

Including Multiple Subprocess Sections in a Process List

Following are guidelines for including multiple subprocess sections in the same process list:

Guidelines for Defining Net Pay Validation Logic for a Subprocess Section

Use the following guidelines to perform net pay validation by priority order:

Guidelines for Creating the Net Pay Validation Formula

Use the Country Setup page to assign a net pay validation formula to each country that intends to use the net pay validation by priority feature. The Always Recalculate option should be activated for the formula. The Process List Manager program resolves the formula once for each deduction in the subprocess section beginning with the second loop.

The formula should return one of these four values:

If the formula returns any other value, the system generates an error message and puts the segment in error. It also skips the deduction and continues processing with the next element in the section. If no formula exists, the system generates an error message and puts the segment in error. Calculation of the segment continues with a default setting of zero (calculate and perform net pay validation).

Here's a sample formula:

/* This formula controls the processing per deduction during a Net Pay Validation sub-process */ /*set to calculate*/ 1 >> fm/FM CONTR NPV FLOW /*if Net is greater than the defined minimum and deduction is not NPV completed we need to calculate*/ IF ac/NET >= var/MINIMUM NET and sy/NPV COMPLETED = 0 Exit End-If /*if element is NPV modified already don’t use it again; set to skip*/ If sy/NPV COMPLETED = 1 2 >> fm/FM CONTROL NPV FLOW exit end-if /*if the element isn’t of lowest priority, calculate*/ if sy/CURR PRIORITY NBR <> sy/LOW PRIORITY NBR then Exit End-If /*set formula to NPV processing*/ 3 >> fm/FM CONTROL NPV FLOW

Using System Elements in Subprocess Formulas

You may find the following system elements useful when creating formulas for net pay validation by priority processing.

System Element

Description

NET AVAILABLE

Holds the current value of the net accumulator minus the minimum net without the deduction that is currently being processed. It is set by the earning and deduction resolution module during net pay validation of an element. The net pay validation partial formula that calculates a partial deduction can reference this element.

CURR PRIORITY NBR

Holds the priority number of the deduction that is currently being processed. Set in the deduction program before resolving the net pay validation formula.

LOW PRIORITY NBR

Holds the lowest relative priority number of deductions that are processed within the subprocess section. The low priority nbr system element represents the priority number that Net Pay Validation is processing in the current subprocess iteration. When the deduction is reduced to zero by the net pay validation process at the end of each subprocess loop, the system sets this element to the next lowest priority (the highest priority number). When there are no deductions with a higher priority, the system sets the element to zero.

SUB PROCESS PASS

Holds the number of the current loop iteration. The number is set at the beginning of the subprocess loop.

NPV COMPLETED

(Binary: 1/0, decimal value of 1 or 0.) Set to true (nonzero) if the deduction has already been modified and set to zero in a previous pass of the net pay validation process. All instances of a deduction must be resolved to zero before this element is set to true.

PRIOR DED VAL

Holds the previously calculated deduction amount. The amount is only available within a net pay validation subprocess while net pay validation processing is being processed for a deduction. The system element can be used in a net pay validation partial formula (within a net pay validation subprocess section only).

See Also

Defining Country-Level Setup

Click to jump to top of pageClick to jump to parent topicAbsence Take Sections

Absence take sections enable you to process take elements based on the order in which absences occurred, rather than the processing sequence defined in a section. These sections are useful when there are dependencies between take elements, and processing in chronological order is necessary to determine correctly which absences to pay.

Absence Take Section Example

Assume that there's a requirement to reduce sickness entitlement by the number of days a payee was absent for sickness or an industrial accident over the past year. In February, a payee is absent 7 days for sickness, 6 days for an industrial accident, and 8 days for sickness, in that order.

You create a section that includes take elements in this processing sequence: SICK, IND ACC. As the following paragraphs illustrate, section type affects the amount of entitlement that's available to cover the takes:

Rules for Absence Take Sections

Following are the rules for absence take sections:

Note. Mapping refers to linking one take to another by completing the Mapped to Element field on the Absence Take - Day Formula page or the Take with Other Absence field on the Absence Take - Negative Balances page.

See Selecting the Day Formula, Linked Earnings and Deductions, and Other Take Elements.

See Defining Take Rules for Negative Balances.

Click to jump to parent topicUnderstanding Process Lists

This section discusses:

Click to jump to top of pageClick to jump to parent topicFunctions of Process Lists

Process lists control payroll processing at the highest level. They perform three basic functions:

Click to jump to top of pageClick to jump to parent topicBatch Processing and the Process List Manager

The Process List Manager, a program that calls the PIN Manager during the payroll process to resolve elements on the process list, begins at the top of the process list and reads one section at a time, according to the specified sequence. Whenever the Process List Manager encounters a conditional formula, it calls the PIN Manager for resolution. If the formula resolves to zero, the section is not processed; if the formula resolves to a nonzero number, the section is processed.

This diagram illustrates how the Process List Manager and PIN Manager work together to resolve each section of the process list during a payroll or absence run:

The Process List Manager

See Also

Understanding the Batch Architecture Process Flow

Defining Segmentation

Working with Positive Input

Click to jump to top of pageClick to jump to parent topicOrdering Elements and Sections in a Process List

Here are some guidelines for verifying that elements in sections and sections in process lists are ordered logically in the correct sequence for the payroll run:

Click to jump to top of pageClick to jump to parent topicRetroactive Processing Considerations for Process Lists

This section discusses:

How Changes to a Process List Can Affect Retroactive Processing

Pay attention to effective dates. If you modify an effective-dated set of data that applies to previously processed payroll periods, when retroactive processing is run, the results will vary. If you want to change the section for future payroll periods only, add a new effective-dated row to the section, then modify the list of elements.

Recalculating Subprocess Sections During Retroactive Processing

When a subprocess section is executed during retroactive processing, the Retro Recalc (retroactive recalculation) option, which you select for the earning and deduction elements on the Earnings - Calculation page, applies. For example, if you select Do Not Recalc (do not recalculate), the element isn’t recalculated when it’s encountered in the subprocess section.

See Also

Defining Retroactive Processing

Click to jump to parent topicSetting Up Sections

To set up sections, use the Sections component (GP_SECTION).

This section provides an overview of section setup and discusses how to:

Click to jump to top of pageClick to jump to parent topicUnderstanding Section Setup

Sections are the building blocks for creating process lists. You create a section by giving it an element name and indicating its use: for payroll processing, absence processing, or both. Finally, you select the section type and enter elements in processing order. Eligible elements depend on the section use and type. This diagram shows the element types that you can include in each section type:

Section use and type determine which elements can be added to a section

Warning! Adding or deleting an element from a section and then trying to process a retroactive pay run may yield incorrect results. Before changing any element in a section, assess the impact on retroactive processing.

See Also

Setting Up Sections

Ordering Elements and Sections in a Process List

Click to jump to top of pageClick to jump to parent topicPages Used to Set Up Sections

Page Name

Object Name

Navigation

Usage

Section Name

GP_PIN

Set Up HRMS, Product Related, Global Payroll & Absence Mgmt, Framework, Processing, Sections, Section Name

Name a section and define its basic parameters.

This page is also used to set up process lists.

See Pages Used to Set Up Process Lists.

Definition

GP_SECTION

Set Up HRMS, Product Related, Global Payroll & Absence Mgmt, Framework, Processing, Sections, Definition

Select elements that constitute a section.

Section Overrides

GP_PYE_SECTION

Global Payroll & Absence Mgmt, Payee Data, Create Overrides, Payee Sections, Section Overrides

Create a payee section for a process list.

Click to jump to top of pageClick to jump to parent topicNaming a Section

You must enter the basic parameters of each section on the Section Name page. All elements within Global Payroll share the same name page (GP_PIN).

Note. On the Section Name page, Calendar Period End Date is the only value for the Definition as of Date field. When you run the payroll process, the system reads the calendar period end date to determine which effective-dated sections and process list to use.

See Also

Defining Element Names

Click to jump to top of pageClick to jump to parent topicSelecting Elements That Constitute a Section

Access the Definition page.

Section Use

Select the section use that specifies whether you can use the section for payroll processing, absence processing, or both. Determines what type of section you can create and the elements that can be added to those sections. Values are: Absence Process Only, Payroll Process Only, and Payroll and Absence Process.

Section Type

Select the section type. This specifies how the Process List Manager processes the elements in this section during a payroll or absence run. Values depend on your Section Use selection:

Absence Process Only: Select Absence Take, Generate Positive Input, Payee Section, or Standard.

Payroll Process Only: Select Sub-Process, Generate Positive Input, Payee Section, or Standard.

Payroll and/or Absence Process: Select Payee Section or Standard.

Depending on your selection, certain fields in the Section Element List group box become hidden or available. If you select Payee Section, all fields become unavailable for entry. After saving this page, you can access the Section Overrides page and select the elements to be resolved for a particular payee.

Net Pay Validation by Priority

Appears only if you select Sub-Process as the section type, and the associate country contains a Net Pay Validation formula on the country setup component. Select to make this section eligible for net pay validation by priority. This prevents the system from applying net pay validation logic on its first loop through the section. Instead, it calculates elements according to their processing sequence during the first loop.

The control formula that's next to the loop action of begin controls the number of subsequent loops. This formula should compare the net amount to zero (or to the defined minimum) to determine whether to perform another loop. The net pay validation formula (specified on the Country Setup page) controls what happens to each deduction in a subsequent loop. Depending on the value returned by this formula, the system will calculate the deduction and perform net pay validation, calculate only, perform net pay validation only, or skip the deduction.

Maximum Iteration

This field works with the Loop Action field and appears only if you select Sub-Process as the section type. To have the system perform a loop, enter the maximum number of loop repetitions. Values are 1 through 999. Decimals are not allowed.

Note. For processing efficiency, keep the iterations to a minimum and include a condition in your loop that, if met, ends the looping process before the maximum number of iterations.

Formula Name

Appears only if you select Sub-Process as the section type. This field works with the Loop Action field. It enables you to select a numeric formula that's executed to determine whether an element, or the elements within a loop, are resolved:

  • A control formula that is placed next to an element that has a loop action of begin, controls the resolution of all elements between the begin and end tags. If the formula resolves to zero (false), the system does not resolve these elements and ends the loop. If the formula resolves to a nonzero value (for example, -2, -1, 1, or 2), the condition is considered true and the system tries to resolve the elements in the loop.

  • A formula that is associated with a single element, with a loop action of none, applies only to that element. If the formula resolves to zero the element isn’t resolved. If the formula resolves to a nonzero value the system tries resolving the element.

Loop Action

Appears only if you select Sub-Process as the section type. Select the loop action that identifies the beginning or end of a loop. Values are None, Begin, and End. Only one Begin and one End are allowed in a subprocess. An End must follow a Begin. (This field works with the Maximum Iteration field.)

Element Type

Select the type of element that you’re adding to the section. Values depend on your Section Type and, sometimes, Section Use selections:

Standard sections: Select Accumulator, Array, Bracket, Count, Date, Duration, Formula, Rate Code, Retrieve Historical Rule, System Element, Variable or Writable Array.

Standard sections in a payroll process: Select from all of the above, plus Deduction, Fictitious Calc (fictitious calculation), and Earnings.

Standard sections in an absence process: Select from all of the above (for standard sections), plus Absence Entitlement and Absence Take. (Absence Entitlement refers to frequency-based entitlement elements only.)

Subprocess sections: Select Accumulator, Array, Bracket, Count, Date, Deduction, Duration, Earnings, Fictitious Calc, Formula, Rate Code, Retrieve Historical Rule, Section-Standard, Section-Payee, System Element, or Variable.

Generate positive input sections: Select Deduction or Earnings.

Absence take section: Select Absence Take.

Element Name

Enter the name of the element to include in the section. Selectable names depend on the element type.

Driver Accumulator

Select the Driver Accumulator tab.

This tab displays the driver accumulator, if any, that is defined for an earning or deduction on the Element Name page (GP_PIN). This page is informational only. To associate a driver with an earning or deduction, access the earning or deduction setup component.

See Also

Defining Formula Elements

Click to jump to top of pageClick to jump to parent topicCreating a Payee Section for a Process List

Access the Section Overrides page.

Before using this page, create a payee section using the Sections - Section Name and Sections - Definition pages.

Element Name

Enter the name of the payee section, as defined on the Sections - Section Name page.

Section Use

Displays a value to indicate in which type of process list the section can be used: Payroll, Absence, or Either. (Specify section use on the Sections - Definition page.)

Payee Section Elements

Element Entry Type

Select the type of element that you’re adding to the section. Values depend on the section use:

Payroll: Select Accumulator, Array, Bracket, Count, Date, Deduction, Duration, Earnings, Fict Calc (fictitious calculation), Formula, Hist Rule (historical rule), Rate Code, System Element, Variable, or WritArray (writable array).

Absence: Select Absence Entitlement (frequency-based entitlement elements), Absence Take, Accumulator, Array, Bracket, Count, Date, Duration, Formula, Hist Rule, Rate Code, System Element, Variable, or WritArray.

Either: Select Accumulator, Array, Bracket, Count, Date, Duration, Formula, Rate Code, System Element, Variable, or WritArray.

Element Name

Select the name of the element that you’re adding to the section.

Click to jump to parent topicSetting Up Process Lists

To set up a process list, use the Process Lists component (GP_PROCESS).

This section provides an overview of process list setup and discusses how to:

Click to jump to top of pageClick to jump to parent topicUnderstanding Process List

Before creating a process list, you define the sections to include in the process, grouping sets of elements into sections for addition to your process list. In your process list, you can use conditional logic to specify when each section is executed.

This diagram illustrates the relationship between elements, sections, and process lists:

Relationship between process list, sections, and elements

You can create multiple process lists for your payroll. For example, you can create a separate process list for each type of pay—regular earnings, bonus pay, overtime, and so on—or create one process list that handles all pay types, depending on how you run your processes. Create different process lists for absences, because absences must be processed separately from payroll.

Having created a process list, you attach it to one or more calendars (through a run type). A calendar determines:

When running the payroll, the system reads the pay period end date for the calendar; finds the appropriate effective-dated process list; and processes the selected payees, one by one.

See Also

Using Calendars

Batch Absence Processes

Click to jump to top of pageClick to jump to parent topicPages Used to Set Up Process Lists

Page Name

Object Name

Navigation

Usage

Process List Name

GP_PIN

Set Up HRMS, Product Related, Global Payroll & Absence Mgmt, Framework, Processing, Process Lists, Process List Name

Name a process list and define its basic parameters.

Definition

GP_PROCESS

Set Up HRMS, Product Related, Global Payroll & Absence Mgmt, Framework, Processing, Process Lists, Definition

Identify sections comprising the process list and the order of execution.

Click to jump to top of pageClick to jump to parent topicNaming a Process List

You must enter the basic parameters of the process list on the Process List Name page. All elements within Global Payroll share the same name page (GP_PIN).

Note. On the Process List Name page, Calendar Period End Date is the only value for the Definition as of Date field. When you run the payroll process, the system reads the calendar period end date to determine which effective-dated process list and sections to use.

See Also

Defining Element Names

Click to jump to top of pageClick to jump to parent topicIdentifying Sections Comprising the Process List

Access the Definition page.

Calculation Type

Select the calculation type that identifies whether the process list can be used for absence or payroll processing. This field also determines which section types you can add to the process list. Values are: Absence Calculationand Payroll Calculation .

Gross Pay Element

Enter the accumulator element for gross pay. The system stores the gross amount in the payee’s segment status record. This field is not available for absence process lists.

Net Pay Element

Select the net pay accumulator element the banking process uses when determining the payee’s net pay. The system stores the net amount in the payee’s segment status record. The information is also used during net pay validation for arrears processing. This field is not available for absence process lists.

Minimum Net Entry Type

This field is applicable when you use the net pay validation feature. Net pay validation occurs when a payee's deductions exceed net pay or a minimum net pay amount that you define. To prevent net pay from dropping below a minimum amount, select the type of element that defines the minimum amount. This works with net pay validation processing regardless of whether the processing occurs in processing order (not in a net pay validation subsection) or priority order (in a net pay validation section).

Values are Bracket - Numeric, Formula - Monetary & Decimal, and Variable - Numeric.

Minimum Net Element

Select the element that defines minimum net pay. Your selection in the Entry Type field determines the elements from which you can select.

Deduction net pay validation processing uses the minimum defined here. If you do not enter a minimum value, zero is used as the minimum during net pay validation

When you define this element, consider whether you want the system to recalculate it. Most likely, you will want one minimum net value for the entire pay run. If this is the case, you will want to clear the Always Recalculate option.

Process List Members

Section Element Name

Select the name of the section that you’re adding. The calculation type that you selected determines sections that can be added. You can use a section only once in a process list, but you can add the same section to more than one process list.

Condition Type

Select Formula or Variable to specify a condition for resolving the section that you’re adding to the process list.

Condition Element Name

Required if you selected a condition type. Select the name of the element that defines the condition. If the element resolves to zero, the condition is considered false and the section isn’t resolved. If the element resolves to a nonzero value (for example, -2, -1, 1, or 2), the condition is considered true and the system tries resolving the section.

See Also

Ordering Elements and Sections in a Process List

Understanding Net Pay Validation and Arrears Processing