Understanding Sections

This topic discusses:

  • Section types.

  • Standard sections.

  • Generate positive input sections.

  • Payee sections.

  • Subprocess sections.

  • Absence take sections.

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:

  • How the system processes section elements during payroll or absence runs.

  • What types of elements—such as earning elements, absence take elements, and supporting elements—you can add to the section.

  • Whether the section can be used for absence processing, payroll processing, or both.

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.

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.

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:

  • You can generate positive input only for earning and deduction elements that are defined with one of these calculation rules:

    Base × Percent

    Unit × Rate

    Unit × Rate × Percent

  • Before positive input can be generated, at least one auto-assign component—base, percent, rate, or unit—of the earning or deduction element needs resolving.

    When the Process List Manager reaches the generate positive input section during the batch process, it calls the Generate Positive Input program for the first element, to determine whether any of its components are populated. If one is populated, the system creates a row of positive input for the target calendar; if none is populated, the Process List Manager continues to the next element in the section.

  • Because positive input is generated in source calendar processing and resolved in target calendar processing, you must create the source and target calendars before running the payroll or absence process for the source calendar.

  • The system checks element eligibility while processing the target calendar, not while processing the source calendar that generates positive input.

    When checking element eligibility, the system ensures that:

    • The element has been assigned to the payee through the Eligibility Group

    • The element doesn't appear on the Elements to be Excluded grid on the Calendars - Excluded Elements page

    • There are no Do Not Process instructions for the element on the Positive Input page or the Positive Input - Calendar page.

  • Generation control and eligibility group changes can affect positive input resolution.

    Say the system generates positive input for a payee during June payroll. If the target calendar is July and the payee is no longer eligible in July, the positive input may or may not be resolved based on the Allow Eligibility Override Using PI check box setting on the paying entity setup.

  • When segmentation occurs, generate positive input sections are segmented based on the begin and end dates of the source calendar, not the target calendar.

    If the source calendar is segmented, the Process List Manager calls the Generate Positive Input program only once in a segment. The generated positive input is assigned to the target calendar, based on the target calendar's end date.

  • When element segmentation occurs, the system creates a separate instance of positive input for each slice.

    The rate as of date associated with each slice corresponds to the slice end date, not the segment end date.

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.

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.

Subprocess sections are especially useful for:

  • Calculating gross ups, gross amounts based on known net amounts.

    Say payees get a bonus payment of a specific amount. You can create a subprocess section that uses iterative calculations to compute taxes and subsequent gross pay to achieve the desired net amount.

  • Taking deductions based on their relative priority.

    You can create a subprocess section that's enabled for net pay validation by priority. When deductions exceed net pay or a defined minimum, the system uses an iterative process to adjust the amounts deducted, based on the relative priority of each deduction.

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:

  • All elements and supporting elements in a subprocess section are recalculated in subprocess execution.

    An exception to this rule applies to subsections that are enabled for net pay validation by priority order. For these sections, you can choose whether to recalculate an element. By default, the system does not recalculate.

  • Forwarded adjustments are considered during each subprocess iteration.

  • Regular element eligibility and generation control apply during a subprocess.

  • You can include standard sections and payee sections in a subprocess section.

  • Accumulators used during an iterative process are self-correcting—they don't require resetting.

    During each iteration, the system removes the old value and adds or subtracts the new value, as applicable. (When the Accumulate Timing option for an accumulator is set to After Calculation, the value isn't updated until the process ends.)

    For subprocess sections that are enabled for net pay validation by priority, this rule applies only to the elements that are calculated during the iteration. Accumulators are updated depending on the amount that could actually be taken for a deduction.

  • The element resolution chain audits subprocesses.

    Audit chain results are written out by iteration: each loop is documented with its iteration number.

    See Viewing an Element Resolution Chain.

  • When using the net pay validation by priority feature, the system performs the net pay validation processing when it discovers that net pay has dropped below zero (or a defined minimum).

Including Multiple Subprocess Sections in a Process List

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

  • Rather than creating multiple subprocess sections, you can gross up multiple elements in the same subprocess.

    The system calculates the gross up amount after entry of all net amounts and before deductions. Create an earning element to hold the grossed-up amount for each element or group of elements that you're grossing up. The net amount remains as is in the existing element, and if entered through positive input, the result tables' net amount still reconciles to the positive input entered. To report the entire amount, you can create an accumulator that includes the net amount and the grossed-up amount.

  • To reduce the number of elements to be grossed up, consider creating an accumulator that stores the grossed-up amount of like groups of elements, such as elements subject to the same tax treatment.

    You can add this grossed-up element to applicable accumulators.

  • If using net pay validation by priority, all deductions that are to be considered must be in the same subprocess loop.

    Net pay validation is done in processing sequence for all deductions that are placed outside of the subprocess loop for net pay validation.

Guidelines for Defining Net Pay Validation Logic for a Subprocess Section

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

  • When creating the section, select the Net Pay Validation by Priority check box on the Section-Definition page.

    Note: This check box appears only if the associated country contains a Net Pay Validation formula on the Country Setup page.

  • List deductions and other elements in the subprocess section in normal processing sequence.

    The system refers to the priority order assigned to the deduction on the Deduction - Arrears page during the net pay validation process.

  • Associate a loop formula with the element that is to begin the loop action. During the first loop, the formula should resolve to true (1), causing all elements in the subprocess to be calculated in processing sequence. Before performing a subsequent loop, the formula should check net pay. If it detects that net pay is greater than zero or a minimum amount that you define for the process list, the formula should return a value of false (zero), and end the looping process. If net is less than zero or the defined minimum, the formula should return a value of true (1) and initiate another pass. (The system automatically calls the net pay validation formula that you selected on the Country Setup page and adjusts the deduction with the lowest priority.)

    The following example shows how a conditional formula called FM ANOTHER PASS might be used to drive looping. It uses the system element, SUB PROCESS PASS, to determine the current loop number. This element is automatically incremented before each pass. GXVRNPVMIN represents the element entered on the Process List - Definition page that determines the minimum net pay.

    If ac/NET1 >=var/GXVRNPVMIN and sy/SUB PROCESS PASS > 1 
    then 0  >> fm/FM ANOTHER PASS?
    Else
       1  >> fm/FM ANOTHER PASS?
    Endif

    SUB PROCESS PASS > 1 ensures that the system processes the loop at least once and calculates all of the elements. Without this instruction, the elements in the subprocess section will not be processed in the event that net exceeds the minimum before taking deductions (the usual case).

  • To specify a minimum net pay other than zero, select the minimum net element on the Process List - Definition page.

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:

  • 0 = Calculate and perform net pay validation.

    Return this value if calculation and net pay validation need to occur during the same iteration. This is the default setting for gross-to-net subprocess sections and, in most cases, will not be used in this formula.

  • 1 = Calculate.

    This is the default value for the first iteration of the loop. The system resolves the formula beginning with the second iteration.

  • 2 = Perform net pay validation.

  • 3 = Skip.

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

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:

  • If the section type is standard, the system processes both SICK takes before it processes the IND ACC take.

    Consequently, it does not consider any days that were taken for the industrial accident when it determines the entitlement balance that is available for the second SICK take.

  • If the section type is absence take, the system processes the absences in the order of occurrence.

    As a result, it reduces the entitlement balance for the last SICK take by the number of days that were taken (paid) for the industrial accident and for prior sicknesses over the last year.

Rules for Absence Take Sections

Following are the rules for absence take sections:

  • Absence take sections can include take elements only.

  • Takes are processed based on absence begin date.

    The system looks at the Absence Event record (GP_ABS_EVENT) to find the absence event with the earliest begin date.

  • If more than one absence has the same date, the system refers to the processing sequence defined for the section to determine which take to process first.

    For example, assume that an absence take section includes Takes A and B in that order and that the following absence events are reported: June 2–3 (Take B) and June 3 (Take A). The system will process the absent days in this order:

    • June 2, Take B (the event with the earliest begin date).

    • June 3, Take A.

    • June 3, Take B.

  • If a take element (parent element) is mapped to another take element (child element):

    • The child element is processed immediately after the parent element for the day being processed.

      List the child element after the parent element on the process list. The system proceeds to the next day, only after processing all generated and manually entered take elements for that day.

    • Child elements that are not included in the section where the parent element is being processed are not processed until the system resolves the section that lists the child element.

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 Absence Takes - Day Formula Page.

See Absence Takes - Negative Balances Page.