Define Fast Formula

You need to define a fast formula to calculate the seniority based on absence.

  1. On the Home page, click My Client Groups > Show More > Fast Formulas.
  2. In the Search Results area, click the Create icon.
  3. 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
  4. Click Continue.
  5. 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
    
  6. Click Submit, and then click Compile to check whether the fast formula is valid.
  7. Click Refresh periodically until the Compile Status shows a tick mark
  8. Click Done.