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.

If the start date for plan term in a roll backward period needs to be 365 days prior to the absence end date, required logic can be composed into this formula and the reference date returned.

Configuration Point in HCM Cloud

If you have created this formula, you can attach this formula to the absence plan definition.

Navigation

  1. In the Absence Administration work area, click Absence Plans to open the Absence Plans page.
  2. On the Search Results section toolbar, click Create to open the Create Absence Plan dialog box.
  3. In the Plan Type field, select Qualification.
  4. Click Continue.
  5. On the Edit Absence Plan page Plan Attributes tab, Plan Term section, choose Rolling backward in the Type field.
  6. Select Formula in the Start Rule field.
  7. Choose the defined formula in the Start Formula field.

Contexts

The following contexts are available in this formula type:

Context Name Data Type
ABSENCE_CATEGORY_ID Number
ABSENCE_ENTRY_ID Number
ABSENCE_MATERNITY_ID Number
ABSENCE_REASON_ID Number
ABSENCE_TYPE_ID Number
ACCRUAL_PLAN_ID Number
DATE_EARNED Date
EFFECTIVE_DATE Date
END_DATE Date
ENTERPRISE_ID Number
HR_ASSIGNMENT_ID Number
HR_RELATIONSHIP_ID Number
HR_TERM_ID Number
JOB_ID Number
LEGAL_EMPLOYER_ID Number
LEGISLATIVE_DATA_GROUP_ID Number
ORGANIZATION_ID Number
PAYROLL_ASSIGNMENT_ID Number
PAYROLL_ID Number
PAYROLL_RELATIONSHIP_ID Number
PAYROLL_TERM_ID Number
PERSON_ID Number
START_DATE Date

Input Values

Variable Name Data Type Description
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
IV_ATTRIBUTE_CATEGORY Text Context of the DFF row for Absence Recordings DFF
IV_ATTRIBUTE_1* Text First text segment of the Absence Recordings DFF
IV_ATTRIBUTE_NUMBER1* Number First number segment of the Absence Recordings DFF
IV_ATTRIBUTE_DATE1* Date First date segment of the Absence Recordings DFF
IV_ATTRIBUTE_ARR Text_Number Array of text segments of the Absence Recordings DFF. The index indicates the segment number. Eg: IV_ATTRIBUTE_ARR[1] holds the value of segment ATTRIBUTE1 in ANC_PER_ABS_ENTRIES table. The index begins at 1 and ends at 30. If a particular index is used and data does not exist, the application would throw an error. Hence it is a good practice to first check if data exists before using the input value. This can be done using the “exists” command. Eg: if(IV_ATTRIBUTE_ARR.exists(1))
IV_ATTRIBUTE_NUMBER_ARR Number_Number Array of number segments of the Absence Recordings DFF. The index indicates the segment number. Eg: IV_ATTRIBUTE_NUMBER_ARR[1] holds the value of segment ATTRIBUTE_NUMBER1 in ANC_PER_ABS_ENTRIES table. The index begins at 1 and ends at 30. If a particular index is used and data does not exist, the application would throw an error. Hence it is a good practice to first check if data exists before using the input value. This can be done using the “exists” command. Eg: if(IV_ATTRIBUTE_NUMBER_ARR.exists(1))
IV_ATTRIBUTE_DATE_ARR Date_Number Array of date segments of the Absence Recordings DFF. The index indicates the segment number. Eg: IV_ATTRIBUTE_DATE_ARR[1] holds the value of segment ATTRIBUTE_DATE1 in ANC_PER_ABS_ENTRIES table. The index begins at 1 and ends at 30. If a particular index is used and data does not exist, the application would throw an error. Hence it is a good practice to first check if data exists before using the input value. This can be done using the “exists” command. Eg: if(IV_ATTRIBUTE_DATE_ARR.exists(1))
IV_INFORMATION_CATEGORY Text Context of the DDF row for ANC_PER_ABS_ENTRIES DDF
IV_INFORMATION_1* Text First text segment of the ANC_PER_ABS_ENTRIES DDF
IV_INFORMATION_NUMBER1* Number First number segment of the ANC_PER_ABS_ENTRIES DDF
IV_INFORMATION_DATE1* Date First date segment of the ANC_PER_ABS_ENTRIES DDF
IV_INFORMATION_ARR Text_Number Array of text segments of the ANC_PER_ABS_ENTRIES DDF. The index indicates the segment number. Eg: IV_INFORMATION_ARR[1] holds the value of segment INFORMATION1 in ANC_PER_ABS_ENTRIES table. The index begins at 1 and ends at 30. If a particular index is used and data does not exist, the application would throw an error. Hence it is a good practice to first check if data exists before using the input value. This can be done using the “exists” command. Eg: if(IV_INFORMATION_ARR.exists(1))
IV_INFORMATION_NUMBER_ARR Number_Number Array of number segments of the ANC_PER_ABS_ENTRIES DDF. The index indicates the segment number. Eg: IV_INFORMATION_NUMBER_ARR[1] holds the value of segment INFORMATION_NUMBER1 in ANC_PER_ABS_ENTRIES table. The index begins at 1 and ends at 30. If a particular index is used and data does not exist, the application would throw an error. Hence it is a good practice to first check if data exists before using the input value. This can be done using the “exists” command. Eg: if(IV_INFORMATION_NUMBER_ARR.exists(1))
IV_INFORMATION_DATE_ARR Date_Number Array of date segments of the ANC_PER_ABS_ENTRIES DDF. The index indicates the segment number. Eg: IV_INFORMATION_DATE_ARR[1] holds the value of segment INFORMATION_DATE1 in ANC_PER_ABS_ENTRIES table. The index begins at 1 and ends at 30. If a particular index is used and data does not exist, the application would throw an error. Hence it is a good practice to first check if data exists before using the input value. This can be done using the “exists” command. Eg: if(IV_INFORMATION_DATE_ARR.exists(1))
IV_PAYMENT_DTL_BAND Number Identifier of the payment band chosen for the absence linked to an agreement
IV_NOTIFICATION_DATE Date Date of Illness/Injury notification
IV_MATCHING_DATE Date Date on which child is matched with the worker for adoption

*The sequence for this input value can be extended up to 5

Return Variables

Variable Name Data Type Description
REFERENCEDATE Date Start date for the Rolling Backward plan term.
DEBUG_MESSAGE Text Text passed into this output variable would get logged if application logging is enabled. Useful for debugging.

Sample Formula

Requirement: The organization has a qualification plan with a rolling backward plan term which starts 365 days prior to the absence end date of the absence entry.

Solution: A Global Absence Plan Roll Backward End formula such as the one below can be used.

FORMULA NAME: ANC_PLN_ROLL_BKWRD_END

FORMULA TYPE: Global Absence Plan Roll Backward End

DESCRIPTION: This formula returns the end date for a Rolling Backward qualification plan term

INPUTS ARE IV_START_DATE (date), IV_END_DATE (date)

REFERENCE_DATE = ADD_DAYS(IV_END_DATE, - 365)

RETURN REFERENCEDATE