Define Fast Formula
You need to define a fast formula to calculate the seniority based on absence.
- On the Home page, click My Client Groups > Show More > Fast Formulas.
- In the Search Results area, click the Create icon.
- In the Create Fast Formula dialog box, enter the following details.
Field Value Formula name Service Date Deduction for Long Vacation Type Employment Seniority Date Adjustment Description Reduce seniority based on long leave of absence Legislative Data Group GBI United States LDG Effective start date 1/1/20 - Click Continue.
- Enter the following fast formula logic in the Formula Text
box.
Employment Seniority Adjustment default for SENIORITY_ADJUST_COMMENT is 'no adjustment' default for SENIORITY_ADJUST_IN_DAYS is 0 default for SENIORITY_ADJUST_IN_HOURS is 0 default for CUMULATIVE_FLAG is 'N' default for SENIORITY_BASIS is 'ORA_PER_SNDT_DAYS' default for PREVIOUS_SENIORITY_EXIT_DATE is '1900/01/01 00:00:00' (DATE) default for BASE_SENIORITY_DATE is '1900/01/01 00:00:00' (DATE) default for PER_REL_ORIGINAL_DATE_OF_HIRE is '4712/12/31 00:00:00'(DATE) default for PER_SENDT_F_TOTAL_ADJUSTMENT_DAYS is 0 default for PER_PERSON_ENTERPRISE_HIRE_DATE is '2000/01/01 00:00:00' (DATE) INPUTS ARE EFFECTIVE_START_DATE (DATE), EFFECTIVE_END_DATE (DATE), SENIORITY_DATE_CODE (TEXT), SENIORITY_BASIS (TEXT), CUMULATIVE_FLAG (TEXT), BASE_SENIORITY_DATE (DATE), PREVIOUS_SENIORITY_EXIT_DATE (DATE), SENIORITY_TRIGGERING_FIELD_CODE (TEXT), ACTION_CODE (TEXT), CHANGED_VALUE_NEW (TEXT), CHANGED_VALUE_OLD (TEXT), TOTAL_SENIORITY_HOURS (NUMBER), PREVIOUS_TOTAL_SENIORITY_HOURS (NUMBER), SENIORITY_DATE (DATE), LEGAL_EMPLOYER_ID (NUMBER), LEGAL_EMPLOYER_NAME (TEXT), ENTERPRISE_ID (NUMBER), ENTERPRISE_NAME (TEXT), BARGAINING_UNIT_CODE (TEXT), BARGAINING_UNIT_NAME (TEXT), GRADE_ID (NUMBER), GRADE_NAME (TEXT), GRADE_STEP_ID (NUMBER), GRADE_STEP_NAME (TEXT), JOB_ID (NUMBER), JOB_NAME (TEXT), POSITION_ID (NUMBER), POSITION_NAME (TEXT), UNION_ID (NUMBER), UNION_NAME (TEXT), LOCATION_ID (NUMBER), LOCATION_NAME (TEXT), DEPARTMENT_ID (NUMBER), DEPARTMENT_NAME (TEXT), COLLECTIVE_AGREEMENT_ID (NUMBER), COLLECTIVE_AGREEMENT_NAME (TEXT) NEED_CONTEXT(PERSON_ID) v_Seniority_Reduction=0 v_Total_Long_Leaves=0 v_Leave_Details='-' v_Hire_Date=PER_PERSON_ENTERPRISE_HIRE_DATE v_Current_Start_date = EFFECTIVE_START_DATE IF v_Hire_Date != v_Current_Start_date THEN ( EFF_DATE=v_Hire_Date SENIORITY_ADJUST_COMMENT='-' SENIORITY_ADJUST_IN_DAYS=0 SENIORITY_ADJUST_IN_HOURS =0 return EFF_DATE, SENIORITY_ADJUST_COMMENT, SENIORITY_ADJUST_IN_DAYS, SENIORITY_ADJUST_IN_HOURS ) v_Seniority_Reduction=0 v_Comments='Nothing' v_Seniority_Reduction=0 v_Total_Long_Leaves=0 v_Leave_Details='-' SET_INPUT('IV_START_DATE', v_2000_JAN1 ) SET_INPUT('IV_END_DATE', v_2020_DEC31 ) execute('CALCULATE_ABSENCE_II') v_Seniority_Reduction = get_output('DURATION',0) v_Total_Long_Leaves = get_output('TOTAL_LONG_LEAVES',0) v_Leave_Details= get_output('LEAVE_DETAILS','?') v_Seniority_Reduction =0-v_Seniority_Reduction SENIORITY_ADJUST_IN_HOURS = 0 EFF_DATE = EFFECTIVE_START_DATE v_Comments= 'Reducing Seniority by '||to_char(v_Seniority_Reduction)||' Days as Total Long Leaves='||to_char(v_Total_Long_Leaves )||' -Details '||v_Leave_Details SENIORITY_ADJUST_IN_DAYS = v_Seniority_Reduction SENIORITY_ADJUST_COMMENT =v_Comments return EFF_DATE, SENIORITY_ADJUST_COMMENT, SENIORITY_ADJUST_IN_DAYS, SENIORITY_ADJUST_IN_HOURS
- Click Submit, and then click Compile to check whether the fast formula is valid.
- Click Refresh periodically until the Compile Status shows a tick mark
- Click Done.