Friday, June 24, 2016

Fast Formula – Absence

Fast Formula – Absence
In our previous sections, we went over the basics of Fast Formula and how Compensation uses the Formula in their products.
In this session, we will cover the Fast Formula usages in Absences.
Since we covered the Types, Input Values, Context and how to write a Fast Formula in detail in our previous sections, we will not get into that again in these sections.
If you have any questions or doubts, please post us a message.

Absence Formula Types:
Formula Type Name
Description
Usage
Global Absence Accrual
This formula type can be used to define the bands that identify how much paid time eligible workers accrue over the course of an accrual period. The criteria may be years of service, grades, hours worked etc. However, use this formula only if using the accrual matrix option and its corresponding formulas does not meet the requirement.
Manage Absence Plans -> In the Plan Type field, select Accrual -> Accruals tab Accrual Attributes section, select Formula
Global Absence Accrual Event
The Global Absence Accrual Event fast formula can be used to capture information about events that occur during a calendar year which would cause a change in the accrual band that the worker belongs to. This formula can capture such dates and return to the accrual matrix formula which would automatically fetch the respective band values as of each of the dates fed into the accrual matrix formula
You cannot attach this formula to the plan definition at any point. When you create the formula, the formula name needs to be the same as the absence plan name. This automatically links the formula to the plan.
Global Absence Accrual Matrix
The Global Absence Accrual Matrix fast formula can be used in conjunction with the accrual matrix to implement requirements such as band change pro-ration, FTE pro-ration etc.
Manage Absence Plans -> Plan Type field, select Accrual -> Accrual Matrix section ->  the defined formula in the Accrual Formula column
Global Absence Band Entitlement
The Global Absence Band Entitlement fast formula can be used to define the bands of entitlement duration and percentage of payment that is applicable against a qualification plan entitlement.
Manage Absence Plans -> Plan Type field, select Qualification ->, Qualification Band Matrix table -> Qualification Details  ->  Entitlement Formula
Global Absence Carryover
The Global Absence Carryover fast formula can be used in cases where a single carryover rule does not apply to the entire population that belongs to the accrual plan.
Manage Absence Plans -> Plan Type field, select Accural -> in Accural Tab, Plan Limits  -> Carryover Rule
Global Absence Carryover Proration
The Global Absence Carryover Proration fast formula can be used in cases where a pro-ration factor (or a multiplication factor) needs to be applied onto the maximum carryover limit.
Manage Absence Plans -> Plan Type field, select Accural -> in Accural Tab, Plan Limits  -> Carryover Proration Formula
Global Absence Ceiling
The Global Absence Ceiling fast formula can be used in cases where a single ceilingr rule does not apply to the entire population that belongs to the accrual plan.
Manage Absence Plans -> Plan Type field, select Accural -> in Accural Tab, Plan Limits  -> Ceiling Formula
Global Absence Ceiling Proration
The Global Absence Ceiling Proration fast formula can be used in cases where a pro-ration factor (or a multiplication factor) needs to be applied onto the maximum ceiling limit.
Manage Absence Plans -> Plan Type field, select Accural -> in Accural Tab, Plan Limits  -> Ceiling Proration Formula
Global Absence Entry Validation
The Global Absence Entry Validation fast formula can be used in cases where a custom data validation or business rule validation needs to be performed when an absence entry is being made
Manage Absence type -> Absence Type page Type Attributes tab, General Attributes section -> the Validation Formula
Global Absence Partial Period Accrual Rate
The Global Absence Partial Period Accrual Rate fast formula is where any logic required for pro-ration of accrual balance during enrollment year and un-enrollment year needs to be entered.
Manage Absence Plans -> Plan Type field, select Accural -> in Accural Tab, Plan Limits  -> Partial Accrual Period Formula
Global Absence Plan Duration
The Global Absence Plan Duration fast formula can be used to over-ride the default duration calculation logic for daily accrual duration entries against accrual plans. For example, if the accrual deduction to be considered for an absence entry in an accrual plan in an organization depends on the location of the worker, then this formula can be leveraged to specify this dynamic calculation logic. This formula will be invoked once for each day of absence.
Manage Absence Plans -> Plan Type field, select Accural -> in Accural Tab, Plan Limits  -> Conversion Formula
Global Absence Plan Enrollment End
The Global Absence Plan Enrollment End fast formula can be used to over-ride the default enrollment end date rule for the absence plan when workers are being terminated from the organization or when the Update Accrual Plan Enrollments batch job is being run.
Manage Absence Plans -> Plan Type field, select Accural -> in Accural Tab, Plan Limits  -> End Date Formula
Global Absence Plan Enrollment Start
The Global Absence Plan Enrollment Start fast formula can be used to over-ride the default enrollment start date rule for the absence plan when workers are being hired into the organization or when the Update Accrual Plan Enrollments batch job is being run.
Manage Absence Plans -> Plan Type field, select Accural -> in Accural Tab, Plan Limits  -> Start Date Formula
Global Absence Plan Entitlement
The Global Absence Plan Entitlement fast formula can be used to define the entire entitlement structure for a qualification plan for cases where matrix architecture does not fit the bill.
Manage Absence Plans -> Plan page Entitlements tab , Entitlement Attributes section -> Entitlement Formula
Global Absence Plan Period Anniversary Event Date
The Global Absence Plan Period Anniversary Event Date fast formula can be used to specify the date to be used as the calendar leave year start date for accrual plans whose term is of type Anniversary year.
Manage Absence Plans -> Plan Type field, select Accural -> in Accural Tab, Plan Limits  -> Anniversary Event Formula
Global Absence Plan Roll Backward End
The Global Absence Plan Roll Backward End fast formula is to be used to determine the start date of a plan term that uses the Roll Backward term rule.
Manage Absence Plans -> Plan Type field, Qualification -> Plan page Plan Attributes tab, Plan Term section  -> Start Formula
Global Absence Plan Use Rate
The Global Absence Plan Use Rate fast formula can be used to dynamically specify the rate definition associated with the qualification plan depending on custom conditions.
Manage Absence Plans -> Plan Type field, Qualification  -> Plan page Entries and Balances tab -> Formula
Global Absence Proration
The Global Absence Proration fast formula can be used to apply a pro-ration factor (or a multiplication factor), onto the final accrual calculated and returned by the accrual calculation rules in an accrual based absence plan.
Manage Absence Plans -> Plan Type field, select Accural ->Plan page Accruals tab, Accrual Attributes section -> Accrual Proration Formula
Global Absence Type Duration
The Global Absence Type Duration fast formula can be used to over-ride the default calculation logic that the application uses to determine the absence entry duration and accrual plan usage against absence entries.
Manage Absence Type -> Type Attributes tab, General Attributes section ->  Conversion Formula
Global Absence Vesting Period
The Global Absence Vesting Period fast formula can be used to enforce a custom vesting period (a period during which the Worker is enrolled into the plan and accruing balance but cannot use them) logic while defining an absence plan.
Manage Absence Plans -> Plan Type field, select Accural ->Plan page Accruals tab, Accrual Attributes section -> Vesting Period Formula

Absence Formula Type’s Contexts:
Formula Type Name
Context  Name
Global Absence Accrual
ABSENCE_ENTRY_ID
ABSENCE_TYPE_ID
ACCRUAL_PLAN_ID
DATE_EARNED
EFFECTIVE_DATE
END_DATE
ENTERPRISE_ID
HR_ASSIGNMENT_ID
HR_RELATIONSHIP_ID
HR_TERM_ID
JOB_ID
LEGAL_EMPLOYER_ID
LEGISLATIVE_DATA_GROUP_ID
ORGANIZATION_ID
PAYROLL_ASSIGNMENT_ID
PAYROLL_ID
PAYROLL_RELATIONSHIP_ID
PAYROLL_TERM_ID
PERSON_ID
START_DATE


Global Absence Accrual Event
ABSENCE_ENTRY_ID
ABSENCE_TYPE_ID
ACCRUAL_PLAN_ID
DATE_EARNED
EFFECTIVE_DATE
END_DATE
ENTERPRISE_ID
HR_ASSIGNMENT_ID
HR_RELATIONSHIP_ID
HR_TERM_ID
JOB_ID
LEGAL_EMPLOYER_ID
LEGISLATIVE_DATA_GROUP_ID
ORGANIZATION_ID
PAYROLL_ASSIGNMENT_ID
PAYROLL_ID
PAYROLL_RELATIONSHIP_ID
PAYROLL_TERM_ID
PERSON_ID
START_DATE


Global Absence Accrual Matrix
ABSENCE_ENTRY_ID
ABSENCE_TYPE_ID
ACCRUAL_PLAN_ID
DATE_EARNED
EFFECTIVE_DATE
END_DATE
ENTERPRISE_ID
HR_ASSIGNMENT_ID
HR_RELATIONSHIP_ID
HR_TERM_ID
JOB_ID
LEGAL_EMPLOYER_ID
LEGISLATIVE_DATA_GROUP_ID
ORGANIZATION_ID
PAYROLL_ASSIGNMENT_ID
PAYROLL_ID
PAYROLL_RELATIONSHIP_ID
PAYROLL_TERM_ID
PERSON_ID
START_DATE


Global Absence Band Entitlement
ABSENCE_CATEGORY_ID
ABSENCE_ENTRY_ID
ABSENCE_MATERNITY_ID
ABSENCE_REASON_ID
ABSENCE_TYPE_ID
ACCRUAL_PLAN_ID
DATE_EARNED
EFFECTIVE_DATE
END_DATE
ENTERPRISE_ID
HR_ASSIGNMENT_ID
HR_RELATIONSHIP_ID
HR_TERM_ID
JOB_ID
LEGAL_EMPLOYER_ID
LEGISLATIVE_DATA_GROUP_ID
ORGANIZATION_ID
PAYROLL_ASSIGNMENT_ID
PAYROLL_ID
PAYROLL_RELATIONSHIP_ID
PAYROLL_TERM_ID
PERSON_ID
START_DATE


Global Absence Carryover
ABSENCE_ENTRY_ID
ABSENCE_TYPE_ID
ACCRUAL_PLAN_ID
DATE_EARNED
EFFECTIVE_DATE
END_DATE
ENTERPRISE_ID
HR_ASSIGNMENT_ID
HR_RELATIONSHIP_ID
HR_TERM_ID
JOB_ID
LEGAL_EMPLOYER_ID
LEGISLATIVE_DATA_GROUP_ID
ORGANIZATION_ID
PAYROLL_ASSIGNMENT_ID
PAYROLL_ID
PAYROLL_RELATIONSHIP_ID
PAYROLL_TERM_ID
PERSON_ID
START_DATE


Global Absence Carryover Proration
ABSENCE_ENTRY_ID
ABSENCE_TYPE_ID
ACCRUAL_PLAN_ID
DATE_EARNED
EFFECTIVE_DATE
END_DATE
ENTERPRISE_ID
HR_ASSIGNMENT_ID
HR_RELATIONSHIP_ID
HR_TERM_ID
JOB_ID
LEGAL_EMPLOYER_ID
LEGISLATIVE_DATA_GROUP_ID
ORGANIZATION_ID
PAYROLL_ASSIGNMENT_ID
PAYROLL_ID
PAYROLL_RELATIONSHIP_ID
PAYROLL_TERM_ID
PERSON_ID
START_DATE


Global Absence Ceiling
ABSENCE_ENTRY_ID
ABSENCE_TYPE_ID
ACCRUAL_PLAN_ID
DATE_EARNED
EFFECTIVE_DATE
END_DATE
ENTERPRISE_ID
HR_ASSIGNMENT_ID
HR_RELATIONSHIP_ID
HR_TERM_ID
JOB_ID
LEGAL_EMPLOYER_ID
LEGISLATIVE_DATA_GROUP_ID
ORGANIZATION_ID
PAYROLL_ASSIGNMENT_ID
PAYROLL_ID
PAYROLL_RELATIONSHIP_ID
PAYROLL_TERM_ID
PERSON_ID
START_DATE


Global Absence Ceiling Proration
ABSENCE_ENTRY_ID
ABSENCE_TYPE_ID
ACCRUAL_PLAN_ID
DATE_EARNED
EFFECTIVE_DATE
END_DATE
ENTERPRISE_ID
HR_ASSIGNMENT_ID
HR_RELATIONSHIP_ID
HR_TERM_ID
JOB_ID
LEGAL_EMPLOYER_ID
LEGISLATIVE_DATA_GROUP_ID
ORGANIZATION_ID
PAYROLL_ASSIGNMENT_ID
PAYROLL_ID
PAYROLL_RELATIONSHIP_ID
PAYROLL_TERM_ID
PERSON_ID
START_DATE


Global Absence Entitlement End Date
ABSENCE_CATEGORY_ID
ABSENCE_ENTRY_ID
ABSENCE_MATERNITY_ID
ABSENCE_REASON_ID
ABSENCE_TYPE_ID
ACCRUAL_PLAN_ID
DATE_EARNED
EFFECTIVE_DATE
END_DATE
ENTERPRISE_ID
HR_ASSIGNMENT_ID
HR_RELATIONSHIP_ID
HR_TERM_ID
JOB_ID
LEGAL_EMPLOYER_ID
LEGISLATIVE_DATA_GROUP_ID
ORGANIZATION_ID
PAYROLL_ASSIGNMENT_ID
PAYROLL_ID
PAYROLL_RELATIONSHIP_ID
PAYROLL_TERM_ID
PERSON_ID
START_DATE


Global Absence Entry Validation
ABSENCE_ENTRY_ID
ABSENCE_REASON_ID
ABSENCE_TYPE_ID
DATE_EARNED
EFFECTIVE_DATE
END_DATE
ENTERPRISE_ID
HR_ASSIGNMENT_ID
HR_RELATIONSHIP_ID
HR_TERM_ID
JOB_ID
LEGAL_EMPLOYER_ID
LEGISLATIVE_DATA_GROUP_ID
ORGANIZATION_ID
PAYROLL_ASSIGNMENT_ID
PAYROLL_ID
PAYROLL_RELATIONSHIP_ID
PAYROLL_TERM_ID
PERSON_ID
START_DATE


Global Absence Linkage Exclusion
ABSENCE_ENTRY_ID
ABSENCE_REASON_ID
ABSENCE_TYPE_ID
DATE_EARNED
EFFECTIVE_DATE
END_DATE
ENTERPRISE_ID
HR_ASSIGNMENT_ID
HR_RELATIONSHIP_ID
HR_TERM_ID
JOB_ID
LEGAL_EMPLOYER_ID
LEGISLATIVE_DATA_GROUP_ID
ORGANIZATION_ID
PAYROLL_ASSIGNMENT_ID
PAYROLL_ID
PAYROLL_RELATIONSHIP_ID
PAYROLL_TERM_ID
PERSON_ID
START_DATE


Global Absence Partial Period Accrual Rate
ABSENCE_ENTRY_ID
ABSENCE_TYPE_ID
ACCRUAL_PLAN_ID
DATE_EARNED
EFFECTIVE_DATE
END_DATE
ENTERPRISE_ID
HR_ASSIGNMENT_ID
HR_RELATIONSHIP_ID
HR_TERM_ID
JOB_ID
LEGAL_EMPLOYER_ID
LEGISLATIVE_DATA_GROUP_ID
ORGANIZATION_ID
PAYROLL_ASSIGNMENT_ID
PAYROLL_ID
PAYROLL_RELATIONSHIP_ID
PAYROLL_TERM_ID
PERSON_ID
START_DATE


Global Absence Plan Duration
ABSENCE_ENTRY_ID
ABSENCE_TYPE_ID
ACCRUAL_PLAN_ID
DATE_EARNED
EFFECTIVE_DATE
END_DATE
ENTERPRISE_ID
HR_ASSIGNMENT_ID
HR_RELATIONSHIP_ID
HR_TERM_ID
JOB_ID
LEGAL_EMPLOYER_ID
LEGISLATIVE_DATA_GROUP_ID
ORGANIZATION_ID
PAYROLL_ASSIGNMENT_ID
PAYROLL_ID
PAYROLL_RELATIONSHIP_ID
PAYROLL_TERM_ID
PERSON_ID
START_DATE


Global Absence Plan Enrollment End
ABSENCE_ENTRY_ID
ABSENCE_TYPE_ID
ACCRUAL_PLAN_ID
DATE_EARNED
EFFECTIVE_DATE
END_DATE
ENTERPRISE_ID
HR_ASSIGNMENT_ID
HR_RELATIONSHIP_ID
HR_TERM_ID
JOB_ID
LEGAL_EMPLOYER_ID
LEGISLATIVE_DATA_GROUP_ID
ORGANIZATION_ID
PAYROLL_ASSIGNMENT_ID
PAYROLL_ID
PAYROLL_RELATIONSHIP_ID
PAYROLL_TERM_ID
PERSON_ID
START_DATE


Global Absence Plan Enrollment Start
ABSENCE_ENTRY_ID
ABSENCE_TYPE_ID
ACCRUAL_PLAN_ID
DATE_EARNED
EFFECTIVE_DATE
END_DATE
ENTERPRISE_ID
HR_ASSIGNMENT_ID
HR_RELATIONSHIP_ID
HR_TERM_ID
JOB_ID
LEGAL_EMPLOYER_ID
LEGISLATIVE_DATA_GROUP_ID
ORGANIZATION_ID
PAYROLL_ASSIGNMENT_ID
PAYROLL_ID
PAYROLL_RELATIONSHIP_ID
PAYROLL_TERM_ID
PERSON_ID
START_DATE


Global Absence Plan Entitlement
ABSENCE_CATEGORY_ID
ABSENCE_ENTRY_ID
ABSENCE_MATERNITY_ID
ABSENCE_REASON_ID
ABSENCE_TYPE_ID
ACCRUAL_PLAN_ID
DATE_EARNED
EFFECTIVE_DATE
END_DATE
ENTERPRISE_ID
HR_ASSIGNMENT_ID
HR_RELATIONSHIP_ID
HR_TERM_ID
JOB_ID
LEGAL_EMPLOYER_ID
LEGISLATIVE_DATA_GROUP_ID
ORGANIZATION_ID
PAYROLL_ASSIGNMENT_ID
PAYROLL_ID
PAYROLL_RELATIONSHIP_ID
PAYROLL_TERM_ID
PERSON_ID
START_DATE


Global Absence Plan Period Anniversary Event Date
ABSENCE_ENTRY_ID
ABSENCE_TYPE_ID
ACCRUAL_PLAN_ID
DATE_EARNED
EFFECTIVE_DATE
END_DATE
ENTERPRISE_ID
HR_ASSIGNMENT_ID
HR_RELATIONSHIP_ID
HR_TERM_ID
JOB_ID
LEGAL_EMPLOYER_ID
LEGISLATIVE_DATA_GROUP_ID
ORGANIZATION_ID
PAYROLL_ASSIGNMENT_ID
PAYROLL_ID
PAYROLL_RELATIONSHIP_ID
PAYROLL_TERM_ID
PERSON_ID
START_DATE


Global Absence Plan Roll Backward End
ABSENCE_CATEGORY_ID
ABSENCE_ENTRY_ID
ABSENCE_MATERNITY_ID
ABSENCE_REASON_ID
ABSENCE_TYPE_ID
ACCRUAL_PLAN_ID
DATE_EARNED
EFFECTIVE_DATE
END_DATE
ENTERPRISE_ID
HR_ASSIGNMENT_ID
HR_RELATIONSHIP_ID
HR_TERM_ID
JOB_ID
LEGAL_EMPLOYER_ID
LEGISLATIVE_DATA_GROUP_ID
ORGANIZATION_ID
PAYROLL_ASSIGNMENT_ID
PAYROLL_ID
PAYROLL_RELATIONSHIP_ID
PAYROLL_TERM_ID
PERSON_ID
START_DATE


Global Absence Plan Roll Forward Start
ABSENCE_CATEGORY_ID
ABSENCE_ENTRY_ID
ABSENCE_MATERNITY_ID
ABSENCE_REASON_ID
ABSENCE_TYPE_ID
ACCRUAL_PLAN_ID
DATE_EARNED
EFFECTIVE_DATE
END_DATE
ENTERPRISE_ID
HR_ASSIGNMENT_ID
HR_RELATIONSHIP_ID
HR_TERM_ID
JOB_ID
LEGAL_EMPLOYER_ID
LEGISLATIVE_DATA_GROUP_ID
ORGANIZATION_ID
PAYROLL_ASSIGNMENT_ID
PAYROLL_ID
PAYROLL_RELATIONSHIP_ID
PAYROLL_TERM_ID
PERSON_ID
START_DATE


Global Absence Plan Use Rate
ABSENCE_CATEGORY_ID
ABSENCE_ENTRY_ID
ABSENCE_MATERNITY_ID
ABSENCE_REASON_ID
ABSENCE_TYPE_ID
ACCRUAL_PLAN_ID
DATE_EARNED
EFFECTIVE_DATE
END_DATE
ENTERPRISE_ID
HR_ASSIGNMENT_ID
HR_RELATIONSHIP_ID
HR_TERM_ID
JOB_ID
LEGAL_EMPLOYER_ID
LEGISLATIVE_DATA_GROUP_ID
ORGANIZATION_ID
PAYROLL_ASSIGNMENT_ID
PAYROLL_ID
PAYROLL_RELATIONSHIP_ID
PAYROLL_TERM_ID
PERSON_ID
START_DATE


Global Absence Proration
ABSENCE_ENTRY_ID
ABSENCE_TYPE_ID
ACCRUAL_PLAN_ID
DATE_EARNED
EFFECTIVE_DATE
END_DATE
ENTERPRISE_ID
HR_ASSIGNMENT_ID
HR_RELATIONSHIP_ID
HR_TERM_ID
JOB_ID
LEGAL_EMPLOYER_ID
LEGISLATIVE_DATA_GROUP_ID
ORGANIZATION_ID
PAYROLL_ASSIGNMENT_ID
PAYROLL_ID
PAYROLL_RELATIONSHIP_ID
PAYROLL_TERM_ID
PERSON_ID
START_DATE


Global Absence Type Duration
ABSENCE_ENTRY_ID
ABSENCE_TYPE_ID
DATE_EARNED
EFFECTIVE_DATE
END_DATE
ENTERPRISE_ID
HR_ASSIGNMENT_ID
HR_RELATIONSHIP_ID
HR_TERM_ID
JOB_ID
LEGAL_EMPLOYER_ID
LEGISLATIVE_DATA_GROUP_ID
ORGANIZATION_ID
PAYROLL_ASSIGNMENT_ID
PAYROLL_ID
PAYROLL_RELATIONSHIP_ID
PAYROLL_TERM_ID
PERSON_ID
START_DATE


Global Absence Vesting Period
ABSENCE_ENTRY_ID
ABSENCE_TYPE_ID
ACCRUAL_PLAN_ID
DATE_EARNED
EFFECTIVE_DATE
END_DATE
ENTERPRISE_ID
HR_ASSIGNMENT_ID
HR_RELATIONSHIP_ID
HR_TERM_ID
JOB_ID
LEGAL_EMPLOYER_ID
LEGISLATIVE_DATA_GROUP_ID
ORGANIZATION_ID
PAYROLL_ASSIGNMENT_ID
PAYROLL_ID
PAYROLL_RELATIONSHIP_ID
PAYROLL_TERM_ID
PERSON_ID
START_DATE

Absence Formula Type Input values:
Formula Type Name
Input variables
Type
Description
Global Absence Accrual
IV_ACCRUALPERIODSTARTDATE
Date
Start date of accrual period
IV_ACCRUALPERIODENDDATE
Date
End date of accrual period
IV_CALEDARSTARTDATE
Date
Start date of accrual calendar year
IV_CALEDARENDDATE
Date
End date of accrual calendar year
IV_PLANENROLLMENTSTARTDATE
Date
Start date of enrollment
IV_PLANENROLLMENTENDDATE
Date
End date of enrollment




Global Absence Accrual Event
IV_CARRYOVER
Date
Carryover limit received from accrual matrix
IV_CEILING
Date
Ceiling limit received from the accrual matrix
IV_ACCRUALPERIODSTARTDATE
Date
Start date of accrual period
IV_ACCRUALPERIODENDDATE
Date
End date of accrual period
IV_CALEDARSTARTDATE
Date
Start date of accrual calendar year
IV_CALEDARENDDATE
Date
End date of accrual calendar year
IV_PLANENROLLMENTSTARTDATE
Date
Start date of enrollment
IV_PLANENROLLMENTENDDATE
Date
End date of enrollment
IV_BAND_CHG_DT1 .. 5
Date
If the accrual matrix band definition consists of grades or derived factors length of service or age, then this input value fetches the date on which worker has had a change in any of these factors within the period.
IV_BAND_CHG_BEFVAL1 .. 5
Number
Accrual value as per the matrix before IV_BAND_CHG_DT1
IV_BAND_CHG_AFTVAL1 .. 5
Number
Accrual value as per the matrix after IV_BAND_CHG_DT1




Global Absence Accrual Matrix
IV_ACCRUAL
Number
Accrual value received from the accrual matrix
IV_CARRYOVER
Number
Carryover limit received from accrual matrix
IV_CEILING
Number
Ceiling limit received from the accrual matrix
IV_ACCRUALPERIODSTARTDATE
Date
Start date of accrual period
IV_ACCRUALPERIODENDDATE
Date
End date of accrual period
IV_CALEDARSTARTDATE
Date
Start date of accrual calendar year
IV_CALEDARENDDATE
Date
End date of accrual calendar year
IV_PLANENROLLMENTSTARTDATE
Date
Start date of enrollment
IV_PLANENROLLMENTENDDATE
Date
End date of enrollment
IV_BAND_CHG_DT1 .. 5
Date
If the accrual matrix band definition consists of grades or derived factors length of service or age, then this input value fetches the date on which worker has had a change in any of these factors within the period.
IV_BAND_CHG_BEFVAL1 .. 5
Number
Accrual value as per the matrix before IV_BAND_CHG_DT1
IV_BAND_CHG_AFTVAL1 .. 5
Number
Accrual value as per the matrix after IV_BAND_CHG_DT1
IV_EVENT_DATES
Date_Number
Array of dates returned by the Accrual Event formula.
IV_ACCRUAL_VALUES
Number_Number
Array of accrual values fetched from the accrual matrix as of the dates contained in the accrual event dates array.








Global Absence Band Entitlement
IV_START_DATE
Date
Start date of absence entry
IV_END_DATE
Date
End date of absence entry
IV_TOTALDURATION
Number
Duration of absence entry
IV_START_DURATION
Number
Start date duration of the absence entry. Applicable when absence entry is being recorded against an Elapsed based work schedule
IV_END_DURATION
Number
End date duration of the absence entry. Applicable when absence entry is being recorded against an Elapsed based work schedule
IV_START_TIME
Text
Start time on the start date of the absence entry. Applicable when absence entry is being recorded against a Time based work schedule. For elapsed work schedules it will be 00:00.
IV_END_TIME
Text
End time on the end date for the absence being entered. Applicable when absence entry is being recorded against a Time based work schedule. For elapsed work schedules it will be 23:59.
IV_ACTUALCHILDBIRTHDATE
Date
Actual date of childbirth entered for the absence. Applicable for Childbirth/placement absence pattern
IV_ACTUALSTARTDATE
Date
Actual start date of absence. Applicable for Childbirth/placement absence pattern
IV_ACTUALENDDATE
Date
Actual end date of absence. Applicable for Childbirth/placement absence pattern
IV_EXPECTEDCHILDBIRTHDATE
Date
Expected date of childbirth entered for the absence. Applicable for Childbirth/placement absence pattern
IV_PLANNEDSTARTDATE
Date
Expected start date of absence. Applicable for Childbirth/placement absence pattern
IV_PLANNEDENDDATE
Date
Expected end date of absence. Applicable for Childbirth/placement absence pattern
IV_ABSENCE_REASON
Text
Absence reason in the language of the current session








Global Absence Carryover
IV_ACCRUAL
Number
Accrual value received from the accrual matrix
IV_CARRYOVER
Number
Carryover limit received from accrual matrix
IV_CEILING
Number
Ceiling limit received from the accrual matrix
IV_ACCRUALPERIODSTARTDATE
Date
Start date of accrual period
IV_ACCRUALPERIODENDDATE
Date
End date of accrual period
IV_CALEDARSTARTDATE
Date
Start date of accrual calendar year
IV_CALEDARENDDATE
Date
End date of accrual calendar year
IV_PLANENROLLMENTSTARTDATE
Date
Start date of enrollment
IV_PLANENROLLMENTENDDATE
Date
End date of enrollment




Global Absence Carryover Proration
IV_ACCRUAL
Number
Accrual value received from the accrual matrix
IV_CARRYOVER
Number
Carryover limit received from accrual matrix
IV_CEILING
Number
Ceiling limit received from the accrual matrix
IV_ACCRUALPERIODSTARTDATE
Date
Start date of accrual period
IV_ACCRUALPERIODENDDATE
Date
End date of accrual period
IV_CALEDARSTARTDATE
Date
Start date of accrual calendar year
IV_CALEDARENDDATE
Date
End date of accrual calendar year
IV_PLANENROLLMENTSTARTDATE
Date
Start date of enrollment
IV_PLANENROLLMENTENDDATE
Date
End date of enrollment




Global Absence Ceiling
IV_ACCRUAL
Number
Accrual value received from the accrual matrix
IV_CARRYOVER
Number
Carryover limit received from accrual matrix
IV_CEILING
Number
Ceiling limit received from the accrual matrix
IV_ACCRUALPERIODSTARTDATE
Date
Start date of accrual period
IV_ACCRUALPERIODENDDATE
Date
End date of accrual period
IV_CALEDARSTARTDATE
Date
Start date of accrual calendar year
IV_CALEDARENDDATE
Date
End date of accrual calendar year
IV_PLANENROLLMENTSTARTDATE
Date
Start date of enrollment
IV_PLANENROLLMENTENDDATE
Date
End date of enrollment




Global Absence Ceiling Proration
IV_ACCRUAL
Number
Accrual value received from the accrual matrix
IV_CARRYOVER
Number
Carryover limit received from accrual matrix
IV_CEILING
Number
Ceiling limit received from the accrual matrix
IV_ACCRUALPERIODSTARTDATE
Date
Start date of accrual period
IV_ACCRUALPERIODENDDATE
Date
End date of accrual period
IV_CALEDARSTARTDATE
Date
Start date of accrual calendar year
IV_CALEDARENDDATE
Date
End date of accrual calendar year
IV_PLANENROLLMENTSTARTDATE
Date
Start date of enrollment
IV_PLANENROLLMENTENDDATE
Date
End date of enrollment




Global Absence Entitlement End Date







Global Absence Entry Validation
IV_START_DATE
Date
Start date of absence entry

IV_END_DATE
Date
End date of absence entry

IV_TOTALDURATION
Number
Duration of absence entry

IV_START_DURATION
Number
Start date duration of the absence entry. Applicable when absence entry is being recorded against an Elapsed based work schedule

IV_END_DURATION
Number
End date duration of the absence entry. Applicable when absence entry is being recorded against an Elapsed based work schedule

IV_START_TIME
Text
Start time on the start date of the absence entry. Applicable when absence entry is being recorded against a Time based work schedule. For elapsed work schedules it will be 00:00.

IV_END_TIME
Text
End time on the end date for the absence being entered. Applicable when absence entry is being recorded against a Time based work schedule. For elapsed work schedules it will be 23:59.

IV_ACTUALCHILDBIRTHDATE
Date
Actual date of childbirth entered for the absence. Applicable for Childbirth/placement absence pattern

IV_ACTUALSTARTDATE
Date
Actual start date of absence. Applicable for Childbirth/placement absence pattern

IV_ACTUALENDDATE
Date
Actual end date of absence. Applicable for Childbirth/placement absence pattern

IV_EXPECTEDCHILDBIRTHDATE
Date
Expected date of childbirth entered for the absence. Applicable for Childbirth/placement absence pattern

IV_PLANNEDSTARTDATE
Date
Expected start date of absence. Applicable for Childbirth/placement absence pattern

IV_PLANNEDENDDATE
Date
Expected end date of absence. Applicable for Childbirth/placement absence pattern

IV_ABSENCE_REASON
Text
Absence reason in the language of the current session




Global Absence Linkage Exclusion



Global Absence Partial Period Accrual Rate
IV_ACCRUAL
Number
Accrual value received from the accrual matrix

IV_CARRYOVER
Number
Carryover limit received from accrual matrix

IV_CEILING
Number
Ceiling limit received from the accrual matrix

IV_ACCRUALPERIODSTARTDATE
Date
Start date of accrual period

IV_ACCRUALPERIODENDDATE
Date
End date of accrual period

IV_CALEDARSTARTDATE
Date
Start date of accrual calendar year

IV_CALEDARENDDATE
Date
End date of accrual calendar year

IV_PLANENROLLMENTSTARTDATE
Date
Start date of enrollment

IV_PLANENROLLMENTENDDATE
Date
End date of enrollment

IV_BAND_CHG_DT1 .. 5
Date
If the accrual matrix band definition consists of grades or derived factors length of service or age, then this input value fetches the date on which worker has had a change in any of these factors within the period.

IV_BAND_CHG_BEFVAL1 .. 5
Number
Accrual value as per the matrix before IV_BAND_CHG_DT1

IV_BAND_CHG_AFTVAL1 .. 5
Number
Accrual value as per the matrix after IV_BAND_CHG_DT1




Global Absence Plan Duration
IV_START_DATE
Date
This is the start date of the absence being entered

IV_END_DATE
Date
This is the end date of the absence being entered

IV_START_DURATION
Number
This is the start date duration for the absence being entered. This is applicable when absence entry is being recorded against an Elapsed based work schedule

IV_END_DURATION
Number
This is the end date duration for the absence being entered. This is applicable when absence entry is being recorded against an Elapsed based work schedule

IV_START_TIME
Text
This is the start time on the start date for the absence being entered. This is applicable when absence entry is being recorded against a Time based work schedule. For elapsed work schedules it will be 00:00.

IV_END_TIME
Text
This is the end time on the end date for the absence being entered. This is applicable when absence entry is being recorded against a Time based work schedule. For elapsed work schedules it will be 23:59.

IV_UOM
Text
Unit of measure of the current absence entry




Global Absence Plan Enrollment End







Global Absence Plan Enrollment Start







Global Absence Plan Entitlement







Global Absence Plan Period Anniversary Event Date



Global Absence Plan Roll Backward End
IV_START_DATE
Date
Start date of absence entry
IV_END_DATE
Date
End date of absence entry
IV_TOTALDURATION
Number
Duration of absence entry
IV_START_DURATION
Number
Start date duration of the absence entry. Applicable when absence entry is being recorded against an Elapsed based work schedule
IV_END_DURATION
Number
End date duration of the absence entry. Applicable when absence entry is being recorded against an Elapsed based work schedule
IV_START_TIME
Text
Start time on the start date of the absence entry. Applicable when absence entry is being recorded against a Time based work schedule. For elapsed work schedules it will be 00:00.
IV_END_TIME
Text
End time on the end date for the absence being entered. Applicable when absence entry is being recorded against a Time based work schedule. For elapsed work schedules it will be 23:59.
IV_ACTUALCHILDBIRTHDATE
Date
Actual date of childbirth entered for the absence. Applicable for Childbirth/placement absence pattern
IV_ACTUALSTARTDATE
Date
Actual start date of absence. Applicable for Childbirth/placement absence pattern
IV_ACTUALENDDATE
Date
Actual end date of absence. Applicable for Childbirth/placement absence pattern
IV_EXPECTEDCHILDBIRTHDATE
Date
Expected date of childbirth entered for the absence. Applicable for Childbirth/placement absence pattern
IV_PLANNEDSTARTDATE
Date
Expected start date of absence. Applicable for Childbirth/placement absence pattern
IV_PLANNEDENDDATE
Date
Expected end date of absence. Applicable for Childbirth/placement absence pattern
IV_ABSENCE_REASON
Text
Absence reason in the language of the current session




Global Absence Plan Roll Forward Start







Global Absence Plan Use Rate







Global Absence Proration
IV_ACCRUAL
Number
Accrual value received from the accrual matrix
IV_CARRYOVER
Number
Carryover limit received from accrual matrix
IV_CEILING
Number
Ceiling limit received from the accrual matrix
IV_ACCRUALPERIODSTARTDATE
Date
Start date of accrual period
IV_ACCRUALPERIODENDDATE
Date
End date of accrual period
IV_CALEDARSTARTDATE
Date
Start date of accrual calendar year
IV_CALEDARENDDATE
Date
End date of accrual calendar year
IV_PLANENROLLMENTSTARTDATE
Date
Start date of enrollment
IV_PLANENROLLMENTENDDATE
Date
End date of enrollment








Global Absence Type Duration
IV_START_DATE
Date
Start date of absence entry
IV_END_DATE
Date
End date of absence entry
IV_START_DURATION
Number
Start date duration of the absence entry. Applicable when absence entry is being recorded against an Elapsed based work schedule
IV_END_DURATION
Number
End date duration of the absence entry. Applicable when absence entry is being recorded against an Elapsed based work schedule
IV_START_TIME
Text
Start time on the start date of the absence entry. Applicable when absence entry is being recorded against a Time based work schedule. For elapsed work schedules it will be 00:00.
IV_END_TIME
Text
End time on the end date for the absence being entered. Applicable when absence entry is being recorded against a Time based work schedule. For elapsed work schedules it will be 23:59.
IV_UOM
Text
Unit of Measure








Global Absence Vesting Period
IV_ACCRUAL
Number
Accrual value received from the accrual matrix
IV_CARRYOVER
Number
Carryover limit received from accrual matrix
IV_CEILING
Number
Ceiling limit received from the accrual matrix
IV_ACCRUALPERIODSTARTDATE
Date
Start date of accrual period
IV_ACCRUALPERIODENDDATE
Date
End date of accrual period
IV_CALEDARSTARTDATE
Date
Start date of accrual calendar year
IV_CALEDARENDDATE
Date
End date of accrual calendar year
IV_PLANENROLLMENTSTARTDATE
Date
Start date of enrollment
IV_PLANENROLLMENTENDDATE
Date
End date of enrollment



Absence Formula Type’s Return values and variables:
Formula Type Name
Return Variable Name
 Return Type
 Description
Global Absence Accrual
accrual
Number
Amount of accrual that the worker accrues in the specific period.
ceiling
Number
Maximum time that a worker can accrue
carryover
Number
Maximum unused time that a worker can transfer to the next accrual term
prorationFactor
Number
Multiplying factor that the accrual is multiplied.
vestingUnits
Number
Period for which time-off is accrued, but cannot be used by worker.
vestingUOM
Text
Unit of measure for the vesting period duration. UoM can be Calendar Days (‘C’), Weeks (‘W’), Months (‘M’) or Years (‘Y)
carryOverProration
Number
Multiplication factor for carryover
ceilingProration
Number
Multiplication factor for ceiling
adjustmentvalues
Number_Number
Array of balance adjustments that when returned by the formula is applied against the accrual plan enrollment.
adjustmentdates
Date_Number
Array of dates associated with the array of balance adjustment values to specify the dates on which each of the balance adjustments need to be applied
adjustmenttypes
Text_Number
Array of adjustment reasons used for the balance adjustments
absvalues
Number_Number
Array of absence accrual usages that can be applied against an accrual plan enrollment. Useful for cases where the absence entry itself is not captured in Global Absence Management, but rather via other modules (such as payroll element entries) or even third party systems and the absence deduction against the accrual plan needs to happen in Fusion. When using this, it should be noted that absence entries should not be made for the same dates.
absdates
Date_Number
Array of dates associated with the absence accrual usages on which the deduction is applied.




Global Absence Accrual Event
IV_EVENT_DATES
Date_Number
Array of dates that feeds into the accrual matrix which can be used for band change pro-ration. Corresponding accrual values derived from the matrix also feeds into the matrix formula




Global Absence Accrual Matrix
accrual
Number
Amount of accrual that the worker accrues in the specific period.
ceiling
Number
Maximum time that a worker can accrue
carryover
Number
Maximum unused time that a worker can transfer to the next accrual term
adjustmentvalues
Number_Number
Array of balance adjustments that when returned by the formula is applied against the accrual plan enrollment.
adjustmentdates
Date_Number
Array of dates associated with the array of balance adjustment values to specify the dates on which each of the balance adjustments need to be applied
adjustmenttypes
Text_Number
Array of adjustment reasons used for the balance adjustments
absvalues
Number_Number
Array of absence accrual usages that can be applied against an accrual plan enrollment. Useful for cases where the absence entry itself is not captured in Global Absence Management, but rather via other modules (such as payroll element entries) or even third party systems and the absence deduction against the accrual plan needs to happen in Fusion. When using this, it should be noted that absence entries should not be made for the same dates.
absdates
Date_Number
Array of dates associated with the absence accrual usages on which the deduction is applied.




Global Absence Band Entitlement
BANDPAYFACTOR
Number
Pay factor for entitlement band value
BANDENTITLEMENT
Number
Entitlement duration that worker is eligible for




Global Absence Carryover
carryover
Number
Maximum unused time that a worker can transfer to the next accrual term




Global Absence Carryover Proration
prorationFactor
Number
Multiplication factor for carryover




Global Absence Ceiling
ceiling
Number
Maximum time that a worker can accrue




Global Absence Ceiling Proration
prorationFactor
Number
Multiplication factor for ceiling








Global Absence Entry Validation
VALID
Text
Determines validity of absence entry. ‘N’ throws an error message and stops the transaction from being submitted

ERROR_MESSAGE
Text
Custom error message for invalid absence entry. Error message can either be written into the formula or defined via Manage Messages and invoked here.








Global Absence Partial Period Accrual Rate
accrual
Number
Partial period pro-rated accrual value returned for the particular partial repeating period. Value is returned gets added as an accrual line. For processing termination of enrollment for front loaded plans, the variable should return a negative value, to deduct pro-rated amount from the existing annual accrual value.




Global Absence Plan Duration
DURATION
Number
Duration of plan entries




Global Absence Plan Enrollment End
enrollmentEndDate
Date
End date of enrollment




Global Absence Plan Enrollment Start
enrollmentStartDate
Date
Start date of enrollment




Global Absence Plan Entitlement
BAND1PAYFACTOR
Number
Pay factor for the entitlement BAND1ENTITLEMENT

BAND1ENTITLEMENT
Number
Entitlement duration that the worker is eligible for

BAND2PAYFACTOR
Number
Pay factor for the entitlement BAND2ENTITLEMENT

BAND2ENTITLEMENT
Number
Entitlement duration that the worker is eligible for

BAND3PAYFACTOR
Number
Pay factor for the entitlement BAND3ENTITLEMENT

BAND3ENTITLEMENT
Number
Entitlement duration that the worker is eligible for

BAND4PAYFACTOR
Number
Pay factor for the entitlement BAND4ENTITLEMENT

BAND4ENTITLEMENT
Number
Entitlement duration that the worker is eligible for

BAND5PAYFACTOR
Number
Pay factor for the entitlement BAND5ENTITLEMENT

BAND5ENTITLEMENT
Number
Entitlement duration that the worker is eligible for








Global Absence Plan Period Anniversary Event Date
anniversaryDate
Date
Date used to determine the leave year start date for anniversary based accrual plan term




Global Absence Plan Roll Backward End
REFERENCEDATE
Date
Start date for the Rolling Backward plan term.








Global Absence Plan Use Rate
RATECODE
Text
Rate code for rate associated with qualification plan




Global Absence Proration
prorationFactor
Number
Multiplication factor used to pro-rate final accrual amount




Global Absence Type Duration
DURATION
Number
Duration of absence entry




Global Absence Vesting Period
vestingUOM
Text
Unit of measure for the vesting period duration. UoM can be Calendar Days (‘C’), Weeks (‘W’), Months (‘M’) or Years (‘Y)

vestingUnits
Number
Period for which time-off is accrued, but cannot be used by worker.

The above information is collected as of the latest release from Absence, this may not be true to your release, please contact Absence Support /Development or us for any questions or doubts.







32 comments:

  1. Hi,
    Can you please start a new tutorial for Fusion Benefits?
    Thanks

    ReplyDelete
  2. yes, that is in the pipeline. If you have any specific question on Benefit FF. I can try to find the answers.

    ReplyDelete
  3. This comment has been removed by the author.

    ReplyDelete
  4. Hi,
    I am attaching a fast formula that will be used in the Post Election Edit Rule.
    Please let me know if this is correctly written
    default for l_enrld_hsaEE is 'N'
    default for l_enrld_hsaEEC is 'N'
    default for l_enrld_hsaEES is 'N'
    default for l_enrld_hsaEEF is 'N'
    default for l_enrld_hsaDC is 'N'
    default for l_enrld_Cigna2_HSA_EE is 'N'
    default for l_enrld_Cigna2_HSA_EEC is 'N'
    default for l_enrld_Cigna2_HSA_EES is 'N'
    default for l_enrld_Cigna2_HSA_EESS is 'N'
    default for l_enrld_Cigna2_HSA_EEF is 'N'
    default for l_enrld_Cigna2_HSA_EEFS is 'N'
    default for l_enrld_Cigna2_HSA_ESPOUSE is 'N'
    default for l_enrld_Cigna2_HSA_EFAMILY is 'N'

    SUCCESSFUL = 'Y'
    ERROR_MESSAGE=' '

    l_date_to_use = GET_CONTEXT(EFFECTIVE_DATE, to_date('1951/01/01 00:00:00'))
    l_enrld_hsaEE = ben_fn_get_char_value('BEN_PRTT_ENRT_RSLT','ENROLLED','Health Savings Account','HSA-Employee Only')
    l_enrld_hsaEEC = ben_fn_get_char_value('BEN_PRTT_ENRT_RSLT','ENROLLED','Health Savings Account','HSA-Employee and Children')
    l_enrld_hsaEEF = ben_fn_get_char_value('BEN_PRTT_ENRT_RSLT','ENROLLED','Health Savings Account','HSA-Employee and Family')
    l_enrld_hsaEES = ben_fn_get_char_value('BEN_PRTT_ENRT_RSLT','ENROLLED','Health Savings Account','HSA-Employee and Spouse')
    l_enrld_hsaDC = ben_fn_get_char_value('BEN_PRTT_ENRT_RSLT','ENROLLED','Health Savings Account','Decline Coverage')
    l_enrld_Cigna2_HSA_EE = ben_fn_get_char_value('BEN_PRTT_ENRT_RSLT','ENROLLED','Cigna2-OAP-HSA','Employee Only')
    l_enrld_Cigna2_HSA_EEC = ben_fn_get_char_value('BEN_PRTT_ENRT_RSLT','ENROLLED','Cigna2-OAP-HSA','Employee and Children')
    l_enrld_Cigna2_HSA_EES = ben_fn_get_char_value('BEN_PRTT_ENRT_RSLT','ENROLLED','Cigna2-OAP-HSA','Employee and Spouse')
    l_enrld_Cigna2_HSA_EESS = ben_fn_get_char_value('BEN_PRTT_ENRT_RSLT','ENROLLED','Cigna2-OAP-HSA','Employee and Spouse Surcharge')
    l_enrld_Cigna2_HSA_EEF = ben_fn_get_char_value('BEN_PRTT_ENRT_RSLT','ENROLLED','Cigna2-OAP-HSA','Employee and Family')
    l_enrld_Cigna2_HSA_EEFS = ben_fn_get_char_value('BEN_PRTT_ENRT_RSLT','ENROLLED','Cigna2-OAP-HSA','Employee and Family Spouse Surcharge')
    l_enrld_Cigna2_HSA_ESPOUSE = 'N'
    l_enrld_Cigna2_HSA_EFAMILY = 'N'

    If (
    (l_enrld_Cigna2_HSA_EES ='Y' OR l_enrld_Cigna2_HSA_EESS = 'Y')
    )
    then
    (l_enrld_Cigna2_HSA_ESPOUSE = 'Y')

    If (
    (l_enrld_Cigna2_HSA_EEF ='Y' OR l_enrld_Cigna2_HSA_EEFS = 'Y')
    )
    then
    (l_enrld_Cigna2_HSA_EFAMILY = 'Y')

    If (
    ( l_enrld_Cigna2_HSA_EE <> l_enrld_hsaEE)OR( l_enrld_Cigna2_HSA_EEC <> l_enrld_hsaEEC)OR( l_enrld_Cigna2_HSA_ESPOUSE <> l_enrld_hsaEES)OR( l_enrld_Cigna2_HSA_EFAMILY <> l_enrld_hsaEEF)

    )
    then
    (SUCCESSFUL='N'
    ERROR_MESSAGE = 'You Cannot elect HSA Savings plan unless you are enrolled in the Cigna2-OAP-HSA Medical Plan'
    )

    return SUCCESSFUL,ERROR_MESSAGE

    ReplyDelete
    Replies
    1. Hi,
      Thanks for asking. There is nothing called correctly written. As long as it serves the purpose and does not affect performance, it is correct formula.
      I do not like involve with functional requirements. It is getting compiled so it is OK.

      Though, I have only one suggestion. Look like you are interested whether the person is enrolled in a specific plan therefore you can avoid the option parameter that may save you lot of coding.
      Try pass ‘NA’ to the option parameter and test the same.
      Please let me know the result.

      Delete
  5. Hi,
    I have a rule for accrual in the first year. Do you have a sample formula for this kind?
    Thanks

    Accrual Term and Frequency

    CP has a Rule in the first year and after that it is based on Calendar year
    If date of hire is from 1-14, then accrue entire month
    if date of hire is from 15-31, then start accruing the following month

    ReplyDelete
    Replies
    1. Hi,
      Sorry, I do not have any sample formula. As far I know Absence has already seeded lot of formula in the accrual area. Why can’t you take a formula as a sample on work on it.
      Hire dates is available as DBI so you can determine the starting month.
      please let me if you have any specific issue in writing formula.

      Delete
  6. Hi Tilak/Lakshmi , i am trying to get the accrual balance for a accrual plan in T&L fast formula . Tried to use GET_PLAN_BALANCE('Vacation') , but I get the message "function does not exist / parameter are worong" . I tried setting the context

    CHANGE_CONTEXTS(HR_ASSIGNMENT_ID = AssignmentID,PERSON_ID = PersonID,EFFECTIVE_DATE =CalcEndDate,LEGISLATIVE_DATA_GROUP_ID=l_ldg_ID)
    (
    l_vac_bal = GET_PLAN_BALANCE('Vacation')
    )

    Then , I get a error message that HR_ASSIGNMENT_ID is a local variable or DB item.

    Any feedback is really appreciated. :)

    ReplyDelete
    Replies
    1. pls let me know the formula type you are using to create the formula.
      I do not see any issue with function. I need to find the context support for the type.

      Delete
  7. Hi,
    How many types of inputs, and where it will get.
    please help me.

    ReplyDelete
    Replies
    1. If the above given information is not sufficient, please refer to Oracle documentation or reach out to Product Support.

      Delete
  8. Hi,
    It's a very good article for Absence. If possible can you please share sample absence Carryover formula ? I have tried in many sites but I did't find.

    ReplyDelete
    Replies
    1. Nagendra, the blog provides the context, input value and the output name and type. The remaining is your business logic.
      I do not have any sample, if I find any, i will post it here.
      The simple sample is :

      carryOver = 0
      if (condition) then
      (
      carryOver= 12
      )
      else(
      carryOver= 22
      )
      return carryOver

      Delete
  9. Hi Tilak/Lakshmi,

    We are using below absence entry validation formula to restrict absence to certain days in a year. It is working fine except one case where we are trying to update the same absence and reducing the duration

    For Ex.
    If I applied leave for 4 days then my L_Total_Duration = 4
    Now when I am trying to update the same leave and reducing the duration from 4 to 3 it is calculating L_Total_Duration = 4(Earlier duration)+3 = 7 which is greater than 5 and as per the condition in code it is giving me the error.

    CHANGE_CONTEXTS(START_DATE=l_start_date, END_DATE=l_end_date)

    (

    WHILE ANC_PER_ABS_ENTRS_ABSENCE_ENTRY_ID_ARR.exists(i) LOOP

    (

    CHANGE_CONTEXTS(ABSENCE_ENTRY_ID=ANC_PER_ABS_ENTRS_ABSENCE_ENTRY_ID_ARR[i])

    (

    if(l_absence_type_id = ANC_ABS_ENTRS_ABSENCE_TYPE_ID AND ANC_ABS_ENTRS_ABSENCE_STATUS_CD <> 'ORA_WITHDRAWN') then

    (

    L_Prev_Duration = L_Prev_Duration + ANC_ABS_ENTRS_DURATION

    )

    )

    i=i+1

    )

    )

    L_Total_Duration = L_Prev_Duration + L_Duration

    l_log = ESS_LOG_WRITE(TO_CHAR(L_Total_Duration))

    l_log = ESS_LOG_WRITE(TO_CHAR(L_Prev_Duration))



    IF(L_Total_Duration > 5) THEN

    (

    VALID = 'N'

    ERROR_MESSAGE = 'You cannot apply for this leave because your balance will exceed the Max Eligible duration limit for this type of absence'

    )

    /*================ FORMULA SECTION END =======================*/

    return VALID,ERROR_MESSAGE

    Can you please suggest how we can control this? ANy suggestion would be helpful.

    Thanks

    ReplyDelete
    Replies
    1. I am bit confused. there is lot missing in the question Why don't you try with oracle support forum.

      Delete
  10. Hi All,

    Actually i have a query about IV_EVENT_DATES Array DBI. How can we know the values(dates) is fetching from which table? I just want to know the route query for that

    ReplyDelete
    Replies
    1. if the names says IV, it is input value. It is not dbi. Only the developer knows where it comes from. Please look at the document or ask Oracle forum.

      Delete
  11. This comment has been removed by a blog administrator.

    ReplyDelete
  12. Hi, could you add an complete compiled example for the function GET_PLAN_BALANCE for an specific plan? I can get´a complete one! Thans.

    ReplyDelete
    Replies
    1. I am not sure what kind of formula type you are using. Your information is incomplete. All i can say, the function uses the following context so that you make sure, your formula type supports the following context

      PERSON_ID
      HR_ASSIGNMENT_ID
      EFECTIVE_DATE
      LEGISLATIVE_DATA_GROUP_ID

      And the formula function expects the plan name as the parameter so you call the function with the plan name.

      Hope this helps



      Delete
  13. I am using a Global Absence Entry Validation type. I need to know the balance of a plan for an specific person to validate if he/she can take the same absence and how many days it could take in it.

    My fast formula is this:
    /************* Retrieve the accrual balance in the formula *********************/

    INPUTS ARE PERSON_ID (number), HR_ASSIGNMENT_ID (number), EFECTIVE_DATE (date)
    LEGISLATIVE_DATA_GROUP_ID

    DEFAULT FOR IV_PERSON_ID IS 0
    DEFAULT FOR IV_TERM_ID IS 0
    DEFAULT FOR IV_EFF_DT IS '2014/01/01' (DATE)
    DEFAULT FOR ACCRUAL_PLAN_ID is 0
    DEFAULT FOR HR_ASSIGNMENT_ID is 0
    DEFAULT FOR PERSON_ID is 0
    DEFAULT FOR EFFECTIVE_DATE (date)
    q
    L_Leave_Balance = 0
    L_Accrual_Plan_ID = 300000053618019


    /* Accrual Plan ID */
    L_Term_Id = IV_TERM_ID
    L_Person_Id = IV_PERSON_ID
    L_Eff_Dt = IV_EFF_DT

    CHANGE_CONTEXTS(ACCRUAL_PLAN_ID = L_Accrual_Plan_ID,
    HR_ASSIGNMENT_ID = L_Term_Id,
    PERSON_ID = L_Person_Id,
    EFFECTIVE_DATE =L_Eff_Dt )

    (
    L_Leave_Balance = GET_ACCRUAL_BALANCE()
    )

    If to_number(L_Leave_Balance) > 0 then
    ( VALID = 'N'
    ERROR_MESSAGE = 'TO_CHAR(L_Leave_Balance)'
    )
    else
    (
    ( VALID = 'Y')
    return VALID, ERROR_MESSAGE

    Please let me know if any mistake or missing code. Thanks a lot again, Matias.

    ReplyDelete
    Replies
    1. you are not passing plan name to the function. Pass the plan name, it should work. let me know the outcome after passing the plan name.


      you do not need to define the context as input values
      INPUTS ARE PERSON_ID (number), HR_ASSIGNMENT_ID (number), EFECTIVE_DATE (date)
      LEGISLATIVE_DATA_GROUP_ID

      look like input values are not defined as input values.

      please find a way to debug every step of your formula.
      please go through documentation on absence formula.
      hope this helps

      Delete
  14. So, it would be like this:

    DEFAULT FOR IV_PERSON_ID IS 0
    DEFAULT FOR IV_TERM_ID IS 0
    DEFAULT FOR IV_EFF_DT IS '2014/01/01' (DATE)
    DEFAULT FOR ACCRUAL_PLAN_ID is 0
    DEFAULT FOR HR_ASSIGNMENT_ID is 0
    DEFAULT FOR PERSON_ID is 0
    DEFAULT FOR EFFECTIVE_DATE (date)
    q
    L_Leave_Balance = 0
    L_Accrual_Plan_ID = 300000053618019


    /* Accrual Plan ID */
    L_Term_Id = IV_TERM_ID
    L_Person_Id = IV_PERSON_ID
    L_Eff_Dt = IV_EFF_DT

    CHANGE_CONTEXTS(ACCRUAL_PLAN_ID = L_Accrual_Plan_ID,
    HR_ASSIGNMENT_ID = L_Term_Id,
    PERSON_ID = L_Person_Id,
    EFFECTIVE_DATE =L_Eff_Dt )

    (
    L_Leave_Balance = GET_ACCRUAL_BALANCE(Abs_Plan_name)
    )

    If to_number(L_Leave_Balance) > 0 then
    ( VALID = 'N'
    ERROR_MESSAGE = 'TO_CHAR(L_Leave_Balance)'
    )
    else
    (
    ( VALID = 'Y')
    return VALID, ERROR_MESSAGE

    Is this right And complete? Thankssss a lot.

    ReplyDelete
    Replies
    1. hi, look like you are looking for easy solution, the use of context and input values are already explained in the blogs. please read them all. there is no free and easy solution in IT. Let me see what I can do on Monday.

      please reply my message, do not create new message for the same issue.

      Delete
    2. Oky, thanks a lot for your time. I will be Watling your answer.

      Delete
    3. sorry I made a mistake of reading the function get_plan_balance instead , GET_ACCRUAL_BALANCE.
      It needs a context ACCRUAL_PLAN_ID and the context is not supported by the formula type. Use the right formula type.

      Delete
  15. Ok. But I am looking for the actual balance of a plan....so which would be the right formula?

    Thanks.

    ReplyDelete
    Replies
    1. from absence:

      Global Absence Accrual
      Global Absence Accrual Event
      Global Absence Accrual Matrix
      Global Absence Band Entitlement
      Global Absence Carryover
      Global Absence Carryover Proration
      Global Absence Ceiling
      Global Absence Ceiling Proration
      Global Absence Discretionary Disbursement Rule
      Global Absence Discretionary Donation Rule
      Global Absence Entitlement End Date
      Global Absence Partial Period Accrual Rate
      Global Absence Plan Duration
      Global Absence Plan Enrollment End
      Global Absence Plan Enrollment Start
      Global Absence Plan Entitlement
      Global Absence Plan Period Anniversary Event Date
      Global Absence Plan Roll Backward End
      Global Absence Plan Roll Forward Start
      Global Absence Plan Use Rate
      Global Absence Proration
      Global Absence Rollover
      Global Absence Rollover Proration
      Global Absence Target Plan
      Global Absence Transfer
      Global Absence Transfer Proration
      Global Absence Vesting Period
      Global Absences Annual Accrual Limit
      Global Absences Annual Accrual Limit Proration

      this is the list about the support of context, ACCRUAL_PLAN_ID.

      Delete
  16. Hi Tilak & Lakshmi,

    Here you provided absence FF related doc. It's very informative. In the same way, please provide payroll FF formula types, contexts, Input values & Return Values and variables.

    Thank you.

    ReplyDelete
  17. Hey, I want to accrue leave balance from hire date to calculation date of an employee. Seeded fast formula(PTO_PAYROLL_BALANCE_CALCULATION) does not calculate the accrual of the hiring month if we hire an employee in mid month and same goes for termination. Please help me out.

    Thank you

    ReplyDelete
  18. Hi Tilak & Lakshmi,
    I want to display the Donor name in the Receiver donation Plan Page. Can you guide me how to do that?

    ReplyDelete
  19. Hi Tilak,

    Thanks for your blog. I had learnt fast formula because of your blog only.

    I want to know the behaviour of the fast formula. Global Absence Partial Period Accrual Rate.

    Scenario:-
    for front loaded plan vacation for interns we give values as per the accrual Matrix defined. No formula is there for accrual matrix only Global Absence Partial Period Accrual Rate ff is attached.

    if we hire intern as of 1st Feb(without terminating )and run the accruals which will give positive prorated value and then terminate the intern as of July(same year) then the prorated values are comming positive and prorated which is correct.

    But Hire intern let say as of 1st Feb 2022 and on the same day on 1st Feb 2022 before running the accruals enter a future termination to interns then the plan gets de-enrolled as of termination date but then the ff gets triggered and returns a negative prorated value.

    Is this a bug in the ff code or its a valid scenario? If it's a bug how to get it fixed?

    ReplyDelete