Introducing the Core Application Architecture

This chapter provides overviews of the core application architecture, elements, the processing framework, the batch architecture process, and discusses how to define the installation settings.

Click to jump to parent topicUnderstanding the Core Application Architecture

Absence Management is built on a core application that organizations in all countries can use to create absence management systems. Understanding the core application architecture will enable you to better understand the complex details of Absence Management.

Click to jump to parent topicUnderstanding Elements

When you create your absence management system using Absence Management, you want to be sure that it meets all the requirements of your organization. One of the ways that PeopleSoft ensures this is by building the absence management system through the use of components called elements.

This section discusses:

Click to jump to top of pageClick to jump to parent topicWhat Is an Element?

An element is the smallest component of Absence Management. Elements are building blocks that relate to other building blocks to define your absence management system.

You define each element only once and use it repeatedly anywhere in the system.

This table lists the element categories:

Type of Element

Description

Data retrieval

Retrieves data. Some are predefined elements (called system elements) that are delivered by PeopleSoft. Others you define when creating your absence management system.

Calculation

Performs a calculation.

Organizational

Defines the structure and framework for the system.

This table lists alternative element categories:

Type of Element

Description

Primary

Represents primary rules for absence takes and entitlements.

Supporting

Usually not used alone, but used to create other, more complex elements.

Miscellaneous

Represents such things as eligibility criteria, accumulators, and certain types of rules.

You can combine these elements in an unlimited number of ways to produce the results that you need for your absence management processing.

See Also

Defining General Element Information

Click to jump to top of pageClick to jump to parent topicCombining Elements Into Rules

In Absence Management, you create and store rules by entering data through the online pages.

These rules drive the core application and define the absence management process. Think of a rule as what defines how an element is calculated. Rules define the absence management process itself.

Each country using Absence Management defines its own rules. Absence Management enables you to define rules that address your specific absence management processing needs.

This diagram shows how elements and rules define your absence management process:

Elements are manipulated by rules to create the absence management process

Important! There is usually no need to modify the Absence Management COBOL programs. Using the online pages, you can configure the system to meet your absence management processing needs. PeopleSoft strongly discourages the modification of the delivered COBOL programs—with the possible exception of modifying array size—because modifications can affect the integrity of the entire system.

See Also

Defining Array Elements

Click to jump to top of pageClick to jump to parent topicWhy the Core Application Uses Element Name Number (PIN) Processing

An element name number (PIN) is a numeric identifier for an element. Every element in Absence Management has a unique element name number, including the elements that you create and the elements the PeopleSoft system delivers. Absence Management programs access and process an element by referring to its element name number, rather than its name.

A PIN is referred to as an element in Absence Management. A PIN and an element are identical, and a PIN number is the same as an element number. We explain the term PIN here because it is referenced throughout the programs and table structure of the application. Think of PIN as the technical name that is used in the programming and table structure and element as the functional name that is used on all pages and discussions.

This is necessary because Absence Management is designed for use by any organization in any country. Each organization will likely give the elements that form the basis for its absence management system different names, depending on its requirements. And organizations in different countries are going to name their elements using different languages. Also, the system elements delivered by PeopleSoft are often translated into many languages. If the name were the only way to identify an element, there could be problems.

PIN numbers also improve performance within batch processes. It is more efficient for the system to use numeric values than to use character values. This performance improvement is a result of being able to easily read the numeric values into the processing arrays and create a pointer to the correct place in the array.

PINs are numbered sequentially.

Note. The system assigns a PIN number to each element that you create. The first number the system assigns is 100,001. PIN numbers prior to 100,001 are reserved for the elements that are delivered with Absence Management.

Elements are accessed by PIN number, rather than by element name, as shown in the following graphic:

Elements are accessed by pin number rather than element name

Click to jump to parent topicUnderstanding the Processing Framework

The Absence Management core application is a common foundation and structure that organizations use to build their own calculation rules. The core application determines the basic framework for your absence processing. This framework supplies the normal processing sequence, organizational structure, and processing structure for calculating absences.

This section discusses:

Click to jump to top of pageClick to jump to parent topicThe Processing Sequence

An absence process consists of several processing phases, some of which you can run together. The typical processing sequence (the order in which Absence Management executes phases of a batch process) for an absence run consists of these phases:

You can also run Cancel, Freeze, Unfreeze, and Suspend phases as needed and modify processing instructions by payee.

When you first launch the batch process, Absence Management determines which payees are to be selected and calculated for the absence run, based on the selection criteria that you have specified. This identification phase is executed only once for each calendar group ID.

During the calculation phase, absence calculations are performed. Each payee is processed sequentially. As the system encounters each payee, it processes each element that is identified in the process list. Various criteria such as eligibility and generation control are considered in selecting which elements to process.

The calculation process can be repeated any number of times; only the absences that are appropriate to calculate are processed. When a calculation is first executed, all absences are processed. During subsequent calculations, only the following absences are processed:

An iterative trigger can be produced when data changes for a payee. For example, a change to a payee’s job record might create an iterative trigger. Or the addition of a new hire to the calendar group ID can produce iterative triggers.

Finalizing an absence run closes and completes the process.

See Also

Processing Absences

Iterative Trigger Table

Understanding Process Lists

Click to jump to top of pageClick to jump to parent topicThe Organizational Structure

The Absence Management core application determines the organizational structure for absence processing. This diagram shows the hierarchy of components in the organizational structure:

Organizational structure of Absence Management

Pay Entity

Pay entity defines the organization managing absences for payees.

A pay entity can be linked to one or more pay groups. However, each pay group is linked with only one pay entity.

You associate a specific country with each pay entity. This country designation is important for many features in Absence Management such as the groups of calendars with a single calendar group ID, retroactive methods, and trigger definitions.

Pay group

Absence Management uses a logical grouping, called pay group, to qualify individuals for absence management. Typically, all individuals in a pay group have something in common that causes them to be processed at the same time in the absence management system.

Common examples of pay groups are salaried and hourly payees. You can assign a payee’s default absence elements based on pay group if you select this option at installation time. A pay group can be associated only with a single pay entity.

Each pay group has a default eligibility group associated with it. This includes the default absence elements for the pay group population. The default eligibility group that is associated with a pay group is used as the payee level default. You can override these defaults.

pay groups are ultimately associated with pay calendars to process absences. It is important to group payees whose absences are calculated with the same frequency—weekly, monthly, and so on.

Payee

Payees are the people in your organization for which you want to calculate absence results.

Payees who are included in a pay group definition can be members of different eligibility groups. The only link between pay groups and eligibility groups is from a default perspective. The eligibility group that is defined on the Pay Group page is used as an initial default for the payee. You can override the default.

Eligibility Group

An eligibility group is a grouping of element groups. Eligibility groups indicate the specific elements for which a certain payee population is eligible. The default eligibility group is defined at the pay group level. A payee is assigned to an eligibility group through the default that is defined at the pay group level. You can override the default value.

For example, let's say that you have a pay group for all payees whose absences are calculated monthly. Of those payees, 99 percent are regular, salaried payees. who are eligible for regular absence entitlements and takes. However, you also have 10 executives whom you want to include in that same pay group. These executives are eligible for slightly different absence rules. You can override their eligibility group and assign them to the EXEC ABSENCES eligibility group. You can have only one default eligibility group for each pay group.

Element Group

Element groups provide a method of assigning a large number of elements to many eligibility groups without repeating the elements in each and every eligibility group. Element groups provide a means for grouping these elements. You can assign any number of element groups to an eligibility group.

Elements

Elements are the basic building blocks of Absence Management. The organizational structure of the system begins with the definition of these basic absence management components.

See Also

Working with Payee Data

Defining the Organizational Structure

Click to jump to top of pageClick to jump to parent topicThe Processing Structure

This diagram shows the components of the processing structure:

Processing structure of Absence Management

Process List

A process list specifies the order in which absence elements are processed and resolved. You add these elements to the process list by using sections. If you add sections to your process list, the sections are processed in the order in which you insert them into the list. You can also execute sections conditionally.

The Process List - Definition page indicates that the type of calculation is absence.

Section

A section is a grouping of elements and controls the order that those elements are processed on the process list. You can use the following types of sections for absence processing:

Once you have defined a section, you can reuse it in multiple process lists.

Elements

Elements are the basic building blocks in Absence Management. Some stand alone while others use several simple elements (called supporting elements) that are combined to form more complex elements.

During an absence processing run, the system resolves each element in the process list for each payee. The elements that are resolved depend on a payee, so the resolved value of an element depends on which payee is under consideration.

See Also

Understanding Processing Elements

Defining General Element Information

Click to jump to top of pageClick to jump to parent topicCalendars

To run an absence process, the relevant components of the system are tied together through the use of calendars. A calendar controls whose absence results will be calculated, and the period of time for which the absences are processed.

Only one pay group can be associated with a calendar. Through the use of various selection criteria, you can define who is going to be paid:

This diagram shows how calendars ties together the components of an absence run:

Calendar ties the entire process together

See Also

Using Calendars

Click to jump to parent topicUnderstanding the Batch Architecture Process Flow

This section discusses:

Click to jump to top of pageClick to jump to parent topicAbsence Management Modes

Absence Management processes payees and elements by utilizing a very specific processing order. All the components of the system that you define, such as payees, elements, and rules, come together at the time an absence run is executed.

Think of Absence Management as having two primary modes:

Note. The discussion in this section about the batch architecture process flow is a very high-level overview of the process. Each phase of the process is discussed in greater detail later in this PeopleBook.

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

When you run an absence batch process, the first program that the system calls is the Service program. The Service program acts as the coordinator between the selection of payees to be processed and the calculation process. The Service program initiates the payee selection process. Once the payees are selected, the Service program passes control of the data that was created during the payee selection phase to the Calculation program.

This diagram shows how the Service program coordinates the payee selection and calculation phases:

The Service program is the batch processing starting point

Before you can process absences, you must identify the payees that are to be processed. In Absence Management, this is called payee selection or payee identification. Payee selection is required in absence processing.

The payee selection process is separate from the calculation process. No rules are defined for payee selection that is associated with an absence calculation. The payee selection phase of the process only identifies the payees and creates the data that is later passed on to the calculation phase.

The pay calendar acts as the controlling function that coordinates and defines the payee selection and calculation processes. The Payroll/Absence Run Control also controls payee selection.

On the calendar definition page, you indicate whether you want active payees or listed payees selected. If you select active payees, you are offered a number of other defining choices. If you select listed payees, you insert the employee ID numbers for the payees that you want to select.

The payee selection process also uses retroactive and period segmentation triggers. Retroactive triggers can cause other periods besides the current absence period to be processed for a particular payee. Period segmentation triggers can cause the absence period to be split into segments, thus producing multiple calculations.

The result of the payee selection process is the creation of Process Status (GP_PYE_PRC_STAT) and Segment Status (GP_PYE_SEG_STAT) records. A Process Stat record is created for each payee for each calendar (including retroactive processes). A Segment Stat record is created for each payee for each segment in each calendar. The Process Stat and Segment Stat records are the storage places for the payee data that is related to the calendar that is being run. Essentially, the Process Stat and Segment Stat records list the payees and all the absence periods that are to be processed, including the current absence period and possible retroactive periods.

See Also

Understanding Absence Processing

Using Calendars

Click to jump to top of pageClick to jump to parent topicCalculation (Technical)

Once payees have been selected, the Service program passes control to the calculation phase of the process. The calculation phase uses the data that is stored in the Process Stat and Segment Stat records as the beginning set of payee data.

The first step in calculating absences is to load process-level data into arrays, including data from sources such as pay entity, pay group, eligibility group, calendar, and the process list. This system data is more static than the payee-specific data.

The calculation programs process each payee, using the Payee Process Stat and Payee Segment Stat Records that were created during the payee selection phase. The program loads all the payee-level data into payee arrays, including data from table sources such as Job, Person, Compensation, and Overrides.

The process that loads the payee-level data into the arrays also refreshes its data or reset pointers to data between every absence run so that:

At this stage, all the process-level and payee-level data is loaded into arrays, ready for processing.

Next, the calculation phase checks element eligibility.

The calculation program calls the Process List Manager program, which looks to the process list to determine which elements will be processed and in what order.

When the Process List Manager encounters an element to be processed, it calls the PIN Manager (a program that manages individual elements) to process each element that passed the element eligibility check earlier in the process. The PIN Manager references the PINV array during this process. The PINV array stores the results of all element resolutions during absence batch processing. If the data stored in PINV indicates that an element has not already been resolved, the PIN Manager calls an PIN resolution program (a program that processes specific types of elements).

A separate array, called PINW, stores the accumulator data that is resolved during batch processing.

Each PIN resolution program resolves a specific type of element. For example, one PIN resolution program might resolve absence elements while another might resolve formula elements. The PIN resolution program loads the element definition into memory. Then the program overrides the definition that is stored in memory with any payee overrides or positive input that is designated for that payee. If any elements are referenced in the element and overrides definitions that are now in memory, the program calls the PIN Manager to resolve them. Remember, an element can comprise other elements. During processing, this means that to resolve a single element, the system might need to resolve any number of other elements from which the primary element is created. The results of this process are used to calculate the values of other elements, and pass the values back to the PIN Manager, which writes them to the main value array (PINV).

Each element is resolved in a cyclical (or recursive) manner; that is, each element is resolved, and the data is stored (in PINV or PINW). Then the Process List Manager again looks to the process list to see what element is to be processed next, and the process is repeated.

When all calculations are complete for the absence run, the program writes the results to the appropriate output tables. First, the program references the PINV and PINW arrays and writes the results to the database. Then it references all positive input and writes the data to the positive input history records. Finally, the program generates deltas for any future retroactive processing.

This diagram shows the calculation phase of the batch process:

The calculation process

See Also

Managing Element Eligibility and Resolution

Pages Used to Set Up Process Lists

Setting Up Overrides

Click to jump to top of pageClick to jump to parent topicArrays Used in Batch Processing (Technical)

In Absence Management batch processing, arrays are used to store data. Arrays are temporary tables that COBOL programs use to store data during processing. Once processing is complete, the programs write the data from the temporary arrays to the appropriate output tables.

Occasionally you might need to modify the COBOL programs to accommodate a larger maximum array size than is defined in the programs that are delivered by PeopleSoft. If an array is too small (the data overflows the array), you get an error message, and the batch process fails. The error message (MSGID-ARRAY-OFLOW) identifies the array and the COBOL file where the array is defined. This guides you to the location in the designated file that might need modification.

Increasing the Occurs Count in Arrays

The table access programs allocate a specified, limited amount of memory space to store in a table array all the details of the absence management process tables that are typical for an absence run.

You can increase the maximum size of an array by increasing the occurs count in the appropriate table access program.

Note. This is the only COBOL modification that we detail because COBOL modifications to the delivered Absence Management programs are strongly discouraged.

For example, let’s look at a piece of unmodified code in GPCDPDM.CBL.

Below is an array and its related COUNT control field that prevents the program from aborting. When you make a modification, both highlighted numbers must be changed and kept in sync.

05 L-PMT-COUNT PIC 9999 VALUE 0 COMP. 88 L-PMT-COUNT-MAX VALUE ​20. 05 L-PMT-DATA OCCURS ​20 INDEXED BY PMT-IDX.

The assumption here is that there will never be more than 20 absences processed for a payee during any calendar run. If more than 20 absences were processed, the program would issue an error message (MSGID-ARRAY-OFLOW), and the absence management process would terminate.

While the system loads and refreshes this array once for each payee, the system refreshes other arrays for each absence, and loads and increments others throughout the entire process.

This type of modification is not difficult to deal with when you upgrade to a new Absence Management release, when PeopleSoft delivers a whole new set of source code. Simply move your array size modifications to the new code line. Whenever you change the size of an array, be sure to recompile the entire Global Payroll COBOL code line (GPP*).

See Also

Using the Utilities

Click to jump to top of pageClick to jump to parent topicBatch Processing Output Tables

The goal of an absence batch processing run is to produce a set of output tables, where your important batch processing data results reside. Once you know the type of information that resides in the output tables that are generated by Absence Management, you can use those tables to produce reports and other data manipulations that are relevant to your organization's needs. This diagram shows the relationships between the batch processing output tables:

Relationships between batch processing output tables

Tables Generated by Payee Selection Process

The payee selection process generates the following tables:

Tables Containing Element Results

The following tables contain element results:

Table Containing Accumulator Results

The Accumulators table (GP_RSLT_ACUM) contains the results of accumulators after batch processing.

Table Containing Deltas

The Deltas table (GP_RSLT_DELTA) contains deltas, which are the differences between two element results. This data is often important for processing retroactivity. This table is a child table to the Segment Stat (segment status) table (GP_PYE_SEG_STAT), which is a child of the Process Stat table (GP_PYE_PRC_STAT).

Tables Containing Absence Daily Data Results

The following table contains the absence daily data results.

Absence Daily Data (GP_RSLT_ABS)

Click to jump to parent topicDefining Installation Settings

To define installation settings, use the Installation Table (INSTALLATION_TBL), Installation Settings (GP_INSTALLATION), and Countries (GP_COUNTRY) components.

When you install Absence Management, you select various settings and default values that are specific to your implementation.

This section discusses how to:

Click to jump to top of pageClick to jump to parent topicPages Used to Define Installation Settings

Page Name

Definition Name

Navigation

Usage

Products

INSTALLATION_TBL1

Set Up HRMS, Install, Installation Table, Products

Define the PeopleSoft applications installed.

Country Specific

INSTALLATION_TBL3

Set Up HRMS, Install, Installation Table, Country Specific

Define country-specific information.

Installation Settings

GP_INSTALLATION

Set Up HRMS, Product Related, Global Payroll & Absence Mgmt, System Settings, Installation Settings, Installation Settings

Define installation settings that are unique to Absence Management.

Schedule Settings

TL_INSTL_PUNCH

Set Up HRMS, Product Related, Global Payroll & Absence Mgmt, System Settings, Installation Settings, Schedule Settings

Define default settings for work schedules.

Dates Table Load

TL_DATE_LOAD

Click the Load Dates link on the Schedule Settings page.

Load dates for use in resolving schedules.

Countries

GP_COUNTRY

Set Up HRMS, Product Related, Global Payroll & Absence Mgmt, System Settings, Countries, Countries

Define country-level setup parameters.

Click to jump to top of pageClick to jump to parent topicIndicating an Absence Management Installation

Access the Products page (Set Up HRMS, Install, Installation Table, Products) and select the Absence Management check box.

If your organization also uses PeopleSoft Payroll for North America or PeopleSoft Payroll Interface, select the appropriate check box as well.

Note. To use the Absence Management application, the Global Payroll Core check box might be cleared.

See Also

Setting Up and Installing PeopleSoft HCM

Click to jump to top of pageClick to jump to parent topicDefining the Default Country

Access the Country Specific page (Set Up HRMS, Install, Installation Table, Country Specific).

Use the Country field to define the primary country in which your organization does business. This should be the country with the majority of your payees.

See Also

Setting Up and Installing PeopleSoft HCM

Click to jump to top of pageClick to jump to parent topicDefining Absence Management Installation Settings

Access the Installation Settings page (Set Up HRMS, Product Related, Global Payroll & Absence Mgmt, System Settings, Installation Settings, Installation Settings).

Checkpoint Intervals

Checkpoint intervals control how many employees are processed between database commits. You can select a different interval for the identify and calculate processing phases. Employees that are committed do not need to be recalculated if the run has to be restarted because of a technical error.

Progress Interval

Controls how often the process writes a line to the process log stating how many employees have been processed.

Absence Processing

Months of Absence History

Controls how many months of absence daily history to load into the batch process for use with the absence take element processing and duration element. The absence daily history is loaded from the result table, GP_RSLT_ABS.

Bundle PI on Output (bundle positive input on output)

Selecting this check box causes the system to consolidate positive input during the absence process, when possible, so that you can send a single row of positive input to payroll. Positive input entries for the same absence event that share the same percent and rate are combined; the unit, amount, and base values are summed

In other words, the bundled generated positive input rows will be output from the absence process instead of daily rows. This is a consideration when considering the size of data storage for the generated positive input result table. Keep in mind, the daily earning/deduction element details will not be stored. This does not effect the actual earning/deduction calculation during the pay calculation if you are using PeopleSoft Global Payroll. If this check box is off, daily rows would be inserted into the generated positive input result table from the absence process, and the daily rows would be bundled as part of the input process for the pay calculation.

See Entering Absences.

Packager Processing Defaults

Script Location

Enter the location where DMS scripts are created. The default will be blank. An example displays below the field to let you know how to enter the script location.

Note. The value will default for the rule and non-rule packages. This script location should match the location setup for the PSNT process scheduler in which you are using. This is set up in the psconfig.cfg file.

Compare Report Print Options

This group box controls the sections of the Compare Report that will be printed. Select the sections of the report to print . The options on the Packager Processing page will default the values selected each time you run a Compare Report. The check boxes can be overridden on the processing pages.

Values for the report sections include:

  • Errors/Warnings – Select to print the warning or errors that have occurred during the compare.

  • Modified – Select to print the elements that are different from the ones in the target database.

The above two options reflect the delivered defaults.

  • New – Select to print the new elements.

  • Deleted – Select to print the elements that will be deleted.

  • Unchanged – Select to print the elements that have not changed.

Continue Upgrade Processing

This group box controls the ability to upgrade when there are errors or warnings. The default for each value is cleared.

Valid values include:

  • With Errors – Select to upgrade the package even if there are errors after the compare.

  • With Warnings – Select to upgrade the package even if there are warnings after the compare.

Click to jump to top of pageClick to jump to parent topicDefining Schedule Settings and Loading Dates

Access the Schedule Settings page (Set Up HRMS, Product Related, Global Payroll & Absence Mgmt, System Settings, Installation Settings, Schedule Settings).

Load Dates

Click to access the Dates Table Load page where you can load the range of dates to be used in schedules. Dates from 1994 to 2014 are preloaded. You need only use this feature to load dates before or after this date range.

Schedule Total Options

This field applies only if People Soft Time and Labor is installed. Specify whether to include or exclude meal times, breaks, or both in the scheduled hours totals on schedule definitions, shift definitions, and the Manage Schedules page. Options are Exclude Meals and Breaks, Include Meals and Breaks, Include Meals, and Include Breaks. The default is Include Breaks.

Schedule Resolution Options

Specify how to resolve schedule changes.

Select Take Last Schedule Update to have the system use the last update to resolve an employee's schedule, whether the update comes from a third-party, workforce scheduling system or an online override.

Select Take Online Override to have the system look for an online schedule override to resolve the schedule for the day. The system does not look for changes from a third-party workforce scheduling system.

Default Punch Pattern

Specify the default sequence for displaying punch types on the scheduling pages. You can also use the Grid Column Heading fields to modify the punch type labels that are to appear as column headings on the schedule pages.

See Also

Using Schedules

Click to jump to top of pageClick to jump to parent topicDefining Country-Level Setup

Access the Countries page (Set Up HRMS, Product Related, Global Payroll & Absence Mgmt, System Settings, Countries, Countries).

Note. Although the fields on the Countries page are not directly applicable to Absence Management, you must use the Countries component to define a country record for each country that uses the Absence Management application. Creating country records is a prerequisite to defining self-service absence entry rules and for using some other features.

Net Pay Validation Formula

This field is not applicable to Absence Management.

Default Retroactive Method

Values are Corrective and Forwarding. The only valid value for Absence Management is Corrective.

On Conflict Retroactive Method

Select which retroactive method, Corrective or Forwarding. The only valid value for Absence Management is Corrective.

Process Payee Assignments

The Process Assignments Option field determines when to process payee assignments. The options are:

  • Active as of the Segment End Date – Select to have an element entered on the payee assignment page processed if the assignment is active as of the segment end date.

  • Active Anytime within Segment – This option is not used with Absence Management.

Prorate Assignments Start Date

This field is used when the Process Assignment Option is Active Anytime within Segment. It is not used with Absence Management.

Store Non-Zero Delta Component

Select this check box in order for the system to store any delta amount or delta component that has a nonzero value, regardless of the setting on the Element Name (GP_PIN) page, Results group box for the element. Clear this check box in order for deltas to inherit the element's store option.

The following table provides an overview of how the system interprets the check box settings at different levels:

Element Store Option

Country Delta Option

Element is Stored

Country is Stored

ON

ON

YES

YES

ON

OFF

YES

YES

OFF

ON

NO

YES

OFF

OFF

NO

NO

Note. Additional information regarding retroactivity is discussed in detail in another chapter in this PeopleBook.

See Defining Retroactive Processing.

Use Current Results + Adjustment

The check boxes in this group box are not applicable to Absence Management.