HRMS PTO Accrual Balance

Hello All,
1- Can anybody guide me how to set fiscal year to Jun –Jul in oracle HRMS so that Fiscal Year balances can work accordingly.
2- Also I have updated the Accrual Formula according Fiscal Year Jun - Jul .. on Employee Accrual form it shows correct Dates june-11 to jul-12 and Leave Balances.
While on Absence Form when I click on Accrual button then on Plan End Date tab it shows the old end plan date 31 Dec-12. and
Wrong Leaves balance due to 31 Dec.
Please guide from where this leaves form Plan end date and Balance leaves comes?
Thanks in advance,
AAK

You need to make changes in your Accrual Plan Formula

Similar Messages

  • Accrual Balance not getting carried over

    For one of my client's employees, the mid-year accrual balance is not getting carried over.
    08-JUL-2008 is the hire date of the employee. The client has end-dated the accrual plan element entry for this employee on 23-NOV-2009 and created a new one (for the same accrual plan) from 24-NOV-2009. The balance is getting carried over from 2008 to 23-NOV-2009, but NOT from 24-NOV-2009 to 31-DEC-2009.
    08-JUL-2008 TO 31-DEC-2008 - Accrual Balance is 19.828 days.
    01-JAN-2009 TO 23-NOV-2009 - Accrual Balance carried over from 2008 is 19.828 days.
    24-NOV-2009 TO 31-DEC-2009 - Zero Accrual Balance is getting carried over.
    Also, the client has run the PTO Carry Over process thru’ out for all the years. But no help there.
    I just noticed that the accrual plan 'Annual Leave Plan 41 Days' and the respective balances, elements, links etc., were created in the system on 19-DEC-2009. Could this be the reason why the net entitlement balance is not getting carried over to 2009?
    Would appreciate any pointers in this regard.
    Thanks
    Regards
    Trupti

    Hi,
    Are you running the carryover process for both the plans. Can you share the accrual carry over for the new plan. As you have said the elements and links are created as on 19-DEC-2009, the balance should be carried over for the days between 19-DEC-2009 to 31-DEC-2009 if you are doing the partial accrual.
    Thanks

  • Accrual Balance Dialy Rate

    Dears,
    I have a case related to Accrual Balance R12.1.3, as following:
    1- We have a rule that says:
    Years Of Service: 5 (+) Years
    Accrual Balance: 21
    Dialy Rate : 21/365
    Years Of Service: Lesss than 5 years
    Accrual Balance: 14
    Dialy Rate : 14/365
    2- suppose that Employee (X) hire date is : 05-MAR-2008,
    the Accrual Rate for 2013 should be:
    01-jan-2013 up to 04-mar-2013 = 14/365 --> Less than 5 years
    05-mar-2013 up to 31-dec-2013 = 21/365 --> 5(+) Years
    How to achieve this requirement.
    BR

    Thank you Sanjay,
    Actually, i did the followng Custom Formula, but when i check the Accrual balance on (31-Dec-2013) from the (Accrual) Screen for an employee that have 5 years
    experience active from 01-apr-2013 i got 21 Days!!!!!???
    DEFAULT FOR ACP_INELIGIBILITY_PERIOD_TYPE IS 'CM'
    DEFAULT FOR ACP_INELIGIBILITY_PERIOD_LENGTH IS 0
    DEFAULT FOR ACP_CONTINUOUS_SERVICE_DATE IS '4712/12/31 00:00:00' (date)
    DEFAULT FOR ACP_ENROLLMENT_END_DATE IS '4712/12/31 00:00:00' (date)
    DEFAULT FOR ACP_TERMINATION_DATE IS '4712/12/31 00:00:00' (date)
    DEFAULT FOR ACP_ENROLLMENT_START_DATE IS '4712/12/31 00:00:00' (date)
    DEFAULT FOR ACP_SERVICE_START_DATE IS '4712/12/31 00:00:00' (date)
    DEFAULT FOR EMP_HIRE_DATE IS '01-JAN-1900' (DATE)
    DEFAULT FOR EMP_TERM_DATE IS '01-JAN-3001' (DATE)
    DEFAULT FOR ASG_NUMBER IS ' '
    DEFAULT FOR ASG_GRADE IS ' '
    ALIAS ASG_NUMBER AS EMP_NUMBER
    INPUTS ARE
    Calculation_Date (date)
    Accruing_Frequency = 'D' /* Month */
    Accruing_Multiplier = 1
    V_ACCRUAL_RATE = 0
    E = SET_TEXT('ACCRUING_FREQUENCY', Accruing_Frequency)
    E = SET_NUMBER('ACCRUING_MULTIPLIER', Accruing_Multiplier)
    E = SET_NUMBER('ACCRUAL_RATE',0)
    E = SET_NUMBER('CEILING', 42)
    Beginning_Of_Calculation_Year = to_date('0101'||to_char(Calculation_Date,'YYYY'),'DDMMYYYY')
    end_year=last_day(add_months(Beginning_Of_Calculation_Year,11))
    Years_Service = Months_Between(CALCULATION_DATE,EMP_HIRE_DATE)/12
    IF ASG_GRADE = '7' OR
    ASG_GRADE = '8' OR
    ASG_GRADE = '9' THEN
    V_ACCRUAL_RATE = 21
    else
    if Years_Service >= 5 then
    V_ACCRUAL_RATE = 21
    ELSE
    V_ACCRUAL_RATE = 14
    V_ACCRUAL_RATE=V_ACCRUAL_RATE/(DAYS_BETWEEN(END_Year,Beginning_Of_Calculation_Year)+1)
    E = SET_NUMBER('ACCRUAL_RATE',V_ACCRUAL_RATE)
    E = SET_TEXT('ACCRUING_FREQUENCY', Accruing_Frequency)
    E = SET_NUMBER('ACCRUING_MULTIPLIER', Accruing_Multiplier)
    Beginning_Of_Calculation_Year = to_date('0101'||to_char(Calculation_Date,'YYYY'),'DDMMYYYY')
    IF Beginning_Of_Calculation_Year > Calculation_Date THEN
    Beginning_of_Calculation_Year = ADD_MONTHS(Beginning_Of_Calculation_Year, -12)
    E = SET_DATE('BEGINNING_OF_CALCULATION_YEAR', Beginning_Of_Calculation_Year)
    E = GET_PERIOD_DATES(Beginning_of_Calculation_Year,
    Accruing_Frequency,
    Beginning_Of_Calculation_Year,
    Accruing_Multiplier)
    First_Period_SD = get_date('PERIOD_START_DATE')
    First_Period_ED = get_date('PERIOD_END_DATE')
    Set the Calculation_Date to the Termination Date if not null
    IF NOT (ACP_TERMINATION_DATE WAS DEFAULTED) OR
    NOT (ACP_ENROLLMENT_END_DATE WAS DEFAULTED) THEN
    Early_End_Date = least(ACP_TERMINATION_DATE, ACP_ENROLLMENT_END_DATE)
    IF (Early_End_Date < First_Period_ED) THEN
    Total_Accrued_PTO = 0
    E = PUT_MESSAGE('HR_52794_PTO_FML_ASG_TER')
    IF (Early_End_Date < Calculation_Date) THEN
    Calculation_Date = Early_End_Date
    Get the last whole period prior to the Calculation Date and ensure that it is within the
    Year (if the Calculation Date is the End of a Period then use that period)
    E = GET_PERIOD_DATES(Calculation_Date,
    Accruing_Frequency,
    Beginning_of_Calculation_Year,
    Accruing_Multiplier)
    Calculation_Period_SD = get_date('PERIOD_START_DATE')
    Calculation_Period_ED = get_date('PERIOD_END_DATE')
    IF (Calculation_Date <> Calculation_Period_ED) THEN
    E = GET_PERIOD_DATES(ADD_DAYS(Calculation_Period_SD,-1),
    Accruing_Frequency,
    Beginning_of_Calculation_Year,
    Accruing_Multiplier)
    Calculation_Period_SD = get_date('PERIOD_START_DATE')
    Calculation_Period_ED = get_date('PERIOD_END_DATE')
    If (Calculation_Period_ED < First_Period_ED) THEN
    Total_Accrued_PTO = 0
    E = PUT_MESSAGE('HR_52795_PTO_FML_CALC_DATE')
    Set the Continuous Service Global Variable, whilst also
    ensuring that the continuous service date is before the Calculation Period
    IF (ACP_CONTINUOUS_SERVICE_DATE WAS DEFAULTED) THEN
    E = set_date('CONTINUOUS_SERVICE_DATE', ACP_SERVICE_START_DATE)
    ELSE IF(ACP_CONTINUOUS_SERVICE_DATE > Calculation_Period_SD) THEN
    Total_Accrued_PTO = 0
    E = PUT_MESSAGE('HR_52796_PTO_FML_CSD')
    E = set_date('CONTINUOUS_SERVICE_DATE', ACP_CONTINUOUS_SERVICE_DATE)
    ELSE
    E = set_date('CONTINUOUS_SERVICE_DATE', ACP_CONTINUOUS_SERVICE_DATE)
    Continuous_Service_Date = get_date('CONTINUOUS_SERVICE_DATE')
    First_Eligible_To_Accrue_Date = Continuous_Service_Date
    Determine the date on which accrued PTo may first be registered, i.e the date on which the
    Ineligibility Period expires
    Accrual_Ineligibility_Expired_Date = First_Eligible_To_Accrue_Date
    IF (ACP_INELIGIBILITY_PERIOD_LENGTH > 0) THEN
    IF ACP_INELIGIBILITY_PERIOD_TYPE = 'BM' THEN
    Accrual_Ineligibility_Expired_Date = add_months(Continuous_Service_Date,
    ACP_INELIGIBILITY_PERIOD_LENGTH*2)
    ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = 'F' THEN
    Accrual_Ineligibility_Expired_Date = add_days(Continuous_Service_Date,
    ACP_INELIGIBILITY_PERIOD_LENGTH*14)
    ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = 'CM' THEN
    Accrual_Ineligibility_Expired_Date = add_months(Continuous_Service_Date,
    ACP_INELIGIBILITY_PERIOD_LENGTH)
    ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = 'LM' THEN
    Accrual_Ineligibility_Expired_Date = add_days(Continuous_Service_Date,
    ACP_INELIGIBILITY_PERIOD_LENGTH*28)
    ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = 'Q' THEN
    Accrual_Ineligibility_Expired_Date = add_months(Continuous_Service_Date,
    ACP_INELIGIBILITY_PERIOD_LENGTH*3)
    ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = 'SM' THEN
    Accrual_Ineligibility_Expired_Date = add_months(Continuous_Service_Date,
    ACP_INELIGIBILITY_PERIOD_LENGTH/2)
    ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = 'SY' THEN
    Accrual_Ineligibility_Expired_Date = add_months(Continuous_Service_Date,
    ACP_INELIGIBILITY_PERIOD_LENGTH*6)
    ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = 'W' THEN
    Accrual_Ineligibility_Expired_Date = add_days(Continuous_Service_Date,
    ACP_INELIGIBILITY_PERIOD_LENGTH*7)
    ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = 'Y' THEN
    Accrual_Ineligibility_Expired_Date = add_months(Continuous_Service_Date,
    ACP_INELIGIBILITY_PERIOD_LENGTH*12)
    IF Accrual_Ineligibility_Expired_Date > First_Eligible_To_Accrue_Date
    AND Calculation_Date < Accrual_Ineligibility_Expired_Date THEN
    First_Eligible_To_Accrue_Date = Accrual_Ineligibility_Expired_Date
    Get the first full period following the First_Eligible_To_Accrue_Date
    (if it falls on the beginning of the period then use that period)
    IF First_Eligible_To_Accrue_Date > Beginning_Of_Calculation_Year THEN
    E = GET_PERIOD_DATES(First_Eligible_To_Accrue_Date, Accruing_Frequency,Beginning_Of_Calculation_Year,Accruing_Multiplier)
    First_Eligible_To_Accrue_Period_SD = get_date('PERIOD_START_DATE')
    First_Eligible_To_Accrue_Period_ED = get_date('PERIOD_END_DATE')
    IF First_Eligible_To_Accrue_Date <> First_Eligible_To_Accrue_Period_SD THEN
    E = GET_PERIOD_DATES(add_days(First_Eligible_To_Accrue_Period_ED,1),
    Accruing_Frequency,
    Beginning_Of_Calculation_Year,
    Accruing_Multiplier)
    First_Eligible_To_Accrue_Period_SD = get_date('PERIOD_START_DATE')
    First_Eligible_To_Accrue_Period_ED = get_date('PERIOD_END_DATE')
    IF (First_Eligible_To_Accrue_Period_SD > Calculation_Period_ED) THEN
    Total_Accrued_PTO = 0
    E = PUT_MESSAGE('HR_52793_PTO_FML_ASG_INELIG')
    ELSE
    First_Eligible_To_Accrue_Period_SD = First_Period_SD
    First_Eligible_To_Accrue_Period_ED = First_Period_ED
    Determine the date on which PTO actually starts accruing based on Hire Date,
    Continuous Service Date and plan Enrollment Start Date. Remember, we have already determined
    whether to user hire date or CSD earlier in the formula.
    If this date is after the 1st period and the fisrt eligible date then establish the first full period
    after this date (if the Actual Start Date falls on the beginning of a period then use this period)
    IF Continuous_Service_date = ACP_CONTINUOUS_SERVICE_DATE THEN
    Actual_Accrual_Start_Date = Continuous_service_Date
    ELSE
    Actual_Accrual_Start_Date = greatest(Continuous_Service_Date,
    ACP_ENROLLMENT_START_DATE,
    First_Period_SD)
    Determine the actual start of the accrual calculation
    IF (Actual_Accrual_Start_Date > First_Period_SD AND
    Actual_Accrual_Start_Date > First_Eligible_To_Accrue_Period_SD) THEN
    E = GET_PERIOD_DATES(Actual_Accrual_Start_Date,
    Accruing_Frequency,
    Beginning_Of_Calculation_Year,
    Accruing_Multiplier)
    Accrual_Start_Period_SD = get_date('PERIOD_START_DATE')
    Accrual_Start_Period_ED = get_date('PERIOD_END_DATE')
    IF Actual_Accrual_Start_Date > Accrual_Start_Period_SD THEN
    E = GET_PERIOD_DATES(add_days(Accrual_Start_Period_ED,1),
    Accruing_Frequency,
    Beginning_of_Calculation_Year,
    Accruing_Multiplier)
    Accrual_Start_Period_SD = get_date('PERIOD_START_DATE')
    Accrual_Start_Period_ED = get_date('PERIOD_END_DATE')
    If the Actual Acrual Period is after the Calculation Period then end the processing.
    IF (Accrual_Start_Period_SD > Calculation_Period_ED) THEN
    Total_Accrued_PTO = 0
    E = PUT_MESSAGE('HR_52797_PTO_FML_ACT_ACCRUAL')
    ELSE IF (First_Eligible_To_Accrue_Period_SD > First_Period_SD) THEN
    Accrual_Start_Period_SD = First_Eligible_To_Accrue_Period_SD
    Accrual_Start_Period_ED = First_Eligible_To_Accrue_Period_ED
    ELSE
    Accrual_Start_Period_SD = First_Period_SD
    Accrual_Start_Period_ED = First_Period_ED
    Now set up the information that will be used in when looping through the periods
    IF Calculation_Period_ED >= Accrual_Start_Period_ED THEN
    E = set_date('PERIOD_SD',Accrual_Start_Period_SD)
    E = set_date('PERIOD_ED',Accrual_Start_Period_ED)
    E = set_date('LAST_PERIOD_SD',Calculation_Period_SD)
    E = set_date('LAST_PERIOD_ED',Calculation_Period_ED)
    E = set_number('TOTAL_ACCRUED_PTO',0)
    E = LOOP_CONTROL('RGH_QIS_PTO_SIMPLE_PERIOD_ACCRUAL')
    Total_Accrued_PTO = get_number('TOTAL_ACCRUED_PTO')
    IF Accrual_Start_Period_SD <= Calculation_Period_SD THEN
    Accrual_end_date = Calculation_Period_ED
    Effective_Start_Date = Accrual_Start_Period_SD
    Effective_End_Date = Calculation_Date
    IF Effective_Start_Date >= Effective_End_Date THEN
    Effective_Start_Date = Effective_End_Date
    RETURN Total_Accrued_PTO, Effective_start_date, Effective_end_date, Accrual_end_date
    please advice

  • How to prevent new leave request from SSHR in case of negative PTO accrual

    Hi folks,
    I am stuck with a peculiar problem.
    There are employee in our system who have negative PTO accruals and when they try to create Leave from SSHR, the system allows them to create a leave with a warning.
    *"This absence will decrease the employee's PTO net entitlement to less than zero for one or more of their accrual plans."*
    I want to prevent the users to complete the Absence form from SSHR, if they have negative PTO accruals.
    How can I achieve this, I thought it would be pretty straight forward controlled by a profile !!!
    Any help would be appreciated.
    Regards
    Shah Alam

    Hi,
    I also have similar requirement, I have done the following to achieve this.
    1. Created a custom package with the following procedure.
    PROCEDURE NEG_ACR_BAL_CHK ( P_ABSENCE_ATTENDANCE_TYPE_ID NUMBER
    ,P_EXCEEDS_PTO_ENTIT_WARNING BOOLEAN)
    IS
    CURSOR CSR_GET_ABS_CAT IS
    SELECT ABSENCE_CATEGORY
    FROM PER_ABSENCE_ATTENDANCE_TYPES
    WHERE ABSENCE_ATTENDANCE_TYPE_ID = P_ABSENCE_ATTENDANCE_TYPE_ID;
    l_abs_category varchar2(20);
    BEGIN
    --Get Absence Category
    OPEN csr_get_abs_cat;
    FETCH csr_get_abs_cat INTO l_abs_category;
    CLOSE csr_get_abs_cat;
    IF (l_abs_category <> 'NWPL_AL') AND (P_EXCEEDS_PTO_ENTIT_WARNING = TRUE) THEN
    fnd_message.set_name('PER','HR_LOA_EMP_NOT_ENTITLED');
    fnd_message.raise_error;
    END IF;
    END NEG_ACR_BAL_CHK;
    2. Then hooked this custom procedure, to the hook package of absence, "HR_PERSON_ABSENCE_BK1.CREATE_PERSON_ABSENCE_A". As per the, note: "Understanding and Using API User Hooks".
    Hope this is of help to you.
    Regards,
    Sri.

  • How to get Leave Accrual Balance in Report

    We can see the accrual balance on SSHR page as well as on Fastpath-> Accruals -> Net Entitlement.
    But I want to display a report which will display all accruals as on a aprticular date.
    Can we get that? Is there any seeded funnction/procedure?

    Hi DR,
    To develop a report you will need help of a technical consultant in your team. You can use XML Publisher to develope your report, what Vigneshwar has provided you is the function which you/technical guy can use to easilt get the balance value as of any date.
    As a function person get the Report defination signed of from business users and share the requirments with the technical team. If you are interested to develop the report on you own then please refer the site which will give you the basics of developing an XML publisher report:
    http://www.apps2fusion.com/at/ps/51-prabhakar/262-xml-publisher-and-data-template-sql-query-to-develop-bi-publisher-reports
    http://imdjkoch.wordpress.com/2010/11/12/steps-to-create-a-xml-publisher-report/
    Hope it helps.
    Thanks,
    Sanjay

  • Accrual Balance is not getting for particular leave

    on 11.5.10.2
    we have defined four leave in leave management system but on of the leave is not working properly in regards of getting accrual balance while using this function "per_accrual_calc_functions.get_net_accrual", although all plan getting balance but except one is not do this, how can we diagnose the problem for particular leave.
    Could you please advice.

    What is the problem? Is the leave balance zero when you don't expect it to be? Is the leave balance non-zero but calculating the wrong value? Or are you receiving an error message?
    Please provide as much detail as possible.

  • Accrual Balance Issue

    Hi gurus,
    I need a urgent help creating the net entitlement balance report
    i have define a accrual balance formula. for 22 days plan per year. i have defined a element link with " Standard" check for grades from 1 to 9 so that accrual plan 22 days will be asigned automatically to the employees who has the grades 1 to 9. but now my clients wants this accraul plan will be assigned only to expatriates not for saudi nationals. for saudi nationals the accrual plan will 30 days. i have already ran 4 months payroll , system is allowing to assigned 30 days accraul plan element to the employees. so i changed the accrual plan 22 days formula.
    i have set a nationality check condition in the formula like this
    /*----------------------CHECK NATIONALITY----------------------------------*/
    iF Per_NATIONALITY='Saudi Arabian'
    THEN
    E = SET_NUMBER('CEILING', 0)
    E = SET_NUMBER('ACCRUAL_RATE', 0.082192)
    ELSE
    E = SET_NUMBER('CEILING', 0)
    E = SET_NUMBER('ACCRUAL_RATE', 0.060274)
    Accruing_Frequency = 'D' /* Day */
    Accruing_Multiplier = 1
    it's working fine in the oracle application. but when i'm writing the query to get the net entitlment balanece from standard function(apps.per_utility_functions.get_net_accrual). ii'm getting the error that Per_nationality is not defined and returns without value.
    so please can you give any alternate solution get the result or anybody please provide solution to fix this type of issue..
    i;m in urgenet need. please help me..
    thanks

    Hi.
    Thanks for the reply.
    Can u please provide me the sample formula . how to use it. because i created one function to get the nationality , in this function i'm passing database item PER_EMP_NUMBER AND i don't have the PERSON_ID database items. while i passing the PER_EMP_NUMBER i found this error
    as
    Error: ORA-20001: Data PER_EMP_NUMBER not found at line 46 of XX_PTO_HD_22_ACCRUAL_BALANCE
    Cause: A SQL SELECT statement, obtained from the application dictionary, returned no rows when executed.
    please provide a solution as soon as poosible.
    Edited by: NEWHCM on Jan 12, 2013 5:40 PM
    Edited by: NEWHCM on Jan 12, 2013 6:01 PM

  • PTO Accrual not showing in Statement of Earnings?

    I have defined two PTO Accruals. Privilege Leave(PL) and Sick Leave(SL). Both are almost similar accruals except no of days permitted. PL is working correctly and showing up in Statement of Earnings while SL is not even showing up in Statement of Earnings. Please Help with possible causes!!!

    Hi Naveen,
    The SOE inforamtion is not stored in any tables as such. It picks the data from various fields and populates. The data in SOE is configured through Work Structure --> Oraganization --> Description .
    query for business group in the addition organiaztional information there is a button Others. there you will find SOE inforamtion and Detailed SOE inforamtion. U need to configure the required data in these tabs.
    Regards,
    Prashanth

  • Accrual Balance in  OTL Timecard oaf page

    Hi Guy's
    Can any one help me find out from where or which table the accrual balance's of an employee are populating in OTL timecard .
    Thanks in advance

    Hi,
    The accrual balances for each employee or not stores anywhere unless you are using payroll balances in your plan to store the balances. In OTL the values are dynamically generated calling your arrual formula whenever you open the page.
    Thanks.

  • HRMS:PTO : Special Holiday Accruals

    Hell Gurus,
    We have a Accrual Special Holiday Setup which will give all the employees 32 hours at the anniversary date. If the Employee is a new hire it will be prorated.
    This is working as expected. The Users have the ability to add the Special Holidays by adding a adhoc Special Holiday Element at the element entries.
    This will enable the Employee to take the special holiday prior to actual accrual. This adhoc special holiday hours are added to the Accrual Plan.
    If the user enters more element entries by using the element entry form, the employee is getting more special holidays that he is entitled.
    I have added the Annual Rate,ceiling to the accrual Plan. In spite of that its allowing to accumulate more than what the employee is entitled.
    I want know if anybody has this problem and the steps to correct it.
    Thanks,
    A

    Hi,
    I think the better design for this requirment would have been to handle it as part of the accrual formula rather than giving the option to user to add an element entry.
    But in you case if the logis is already based on element entry then you can write a simple form personalization on element entry winow which checks if there is alreay an element entry existing in a particular calander year and throws an error. In this way you would be able to restrict the user from making multiple entries for that element.
    Hope it helps.
    Thanks,
    Sanjay

  • PTO Accruals - Ceiling value needs to be grade based

    Release 11i.10.2
    Details of the plan
    =============
    Accrual Formula = PTO_PAYROLL_BALANCE_CALCULATION
    Carry Over Formula = PTO_PAYROLL_CARRYOVER
    Payroll Balance Reset Date = 1st January
    Period of Ineligibility = 6 months
    Accrual Band
    Years of Service = 0-99
    Annual Rate = 30
    Maximum Carry Over = 15
    Requirement
    ========
    Ceiling is to be 60 for employees in Grade A1-A5 and for the rest there is not limit.
    Can someone please help me? The Standard form does not seem to fulfill the needs and when I open forumlas PTO_PAYROLL_BALANCE_CALCULATION, PTO_PAYROLL_CARRYOVER I am unable to understand exaclty which part of the code should be modified.
    Pls Help
    Regards
    Woqar

    To achieve your requirement, you need to change the accrual sub formula PTO_PAYROLL_PERIOD_ACCRUAL. Follow the below steps.
    A.Create a pl/sql function :
    1. Create a new Pl/Sql Function in similar lines with parameters as p_assignment_id, p_date_earned, p_plan_id and p_number_of_years;
    2. The new function should call the pl/sql function per_utility_functions.Get_Accrual_Band passing values of p_plan_id and p_number_of_years.
    3. After the above function call, invoke your custom procedure to get the accrual value based on grade (passing p_assignment_id and p_date_earned as parameters).
    4. call the procedure per_formula_functions.set_number to set the ceiling value.
    So overall your function should like this
    FUNCTION <function name>(p_assignment_id NUMBER,p_date_earned DATE,p_plan_id NUMBER, p_number_of_years NUMBER ) RETURN NUMBER IS
    < variables declaration>
    l_ceiling number;
    BEGIN
    l_return := per_utility_functions.Get_Accrual_Band(p_plan_id,p_number_of_years);
    IF l_return = 1 THEN
    return l_return;
    ELSE
    l_return := <your custom function>(p_assignment_id,p_date_earned,l_ceiling);
    l_error := per_formula_functions.set_number('CEILING' ,l_ceiling);
    END IF;
    END <function name>;
    l_error := per_formula_functions.set_number('CEILING' ,l_ceiling);
    B. Create a Formula Function with the above pl/sql function with p_assignment_id, p_date_earned, p_plan_id as context usages and p_number_of_years as parameter.
    C. Copy the Formula PTO_PAYROLL_PERIOD_ACCRUAL and replace the entry of Get_Accrual_Band with your custom formula function defined in step B.
    D. Copy the formula PTO_PAYROLL_BALANCE_CALCULATION and replace the entry of PTO_PAYROLL_PERIOD_ACCRUAL with your custom formula defined in step C.
    Hope this helps.
    Regards,
    Sharath

  • Accrual Balance incorrect on SS LOA page in R12

    Hi,
    I have created the below steps for accruals for APAC region.
    1)Create Annual leave element (Non-recurring, Final Termination , multiple entries allowed)
    2) Input vales: Days
    3)Element link
    4)Absence type: Annual leave , Category :Vacation, balance :Increasing
    5) Accrual plan: Annual leave plan
    Accrual Category: Vacation
    Accrual Start: Beginning of year
    Accrual formula: PTO_PAYROLL_BALANCE_CALCULATION
    Carryover forumal: PTO_PAYROLL_CARRYOVER
    Payroll balance reset date: 1st Jan
    Absence element
    accual bands:
    6) It creates 4 elements , and I amattaching the recurring plan element to the employee
    7) when i navigate SSHR, give the employee annual leave and click on balance tab its just calculating as per bands that is 20/12 per month and if i give any absence in between its not calculating in increasing order going to zero or negative.
    Can some one help me with this please.

    Hi Avneesh, I did not get exactly what your question is....
    If employee is inbtween accrual bands of 0-5 years he is eligible for 15 days of annual leave....
    and the balance reset is on 1st jan ....
    so If I see the absence balance window, every month its calculting 15/12=1.25 at the end of each month..and dec 31st its 15th days....its intended behavior.
    now when I take absence of 15 days withn a month....its not calculating anything still going with basic calulation, the balances are not getting negative neither zero.

  • Help Needed !!!!! in New Hire Proration and Carryover (PTO Accruals)

    Dear All,
    We are facing a problem in Accrual formula where
    Accrual Term is 1-July to 30 June
    Accruing Multiplier is 'M'
    Accruing Frequency is 3 Months
    Accrual Rate is 5 Days
    Employee gets Leave at the end of each quarter
    1st Quarter (July-Aug-Sep) - 5 Days
    2nd Quarter (Oct - Nov - Dec) - 5 Days
    3rd Quarter (Jan - Feb - Mar) - 5 Days
    4Th Quarter (Apr - May - Jun) - 6 Days
    Total 5+5+5+6 = 21 Days
    This accrual Plan is working fine for employees joining before the accrual start date of 1-Jul or employees joining on the first date of the first month of any quarter.
    But for any employee joining after 1-Jul we should get the prorated leave entitlement
    We have identified and developed the logic for the number of days a new joinee would accrue if he joins in the middle of a Accrual period. I am detailing out the following logic
    The SQL for this is as follows
    SELECT (ROUND((21/365*(fffunc.days_between(:Hire_date,:Current_accrual_Period_End_Date)+1))/5,1)*5)*-1 FROM DUAL
    My query to all Fastformula Gurus is that how can i incorporate this leave proration logic for employees joining in the middle of the accrual period into my Accrual Fastformula.
    Any help is appreciated guys.
    If anyone wants to look at the code for the Accrual fastformula, you guys can Message me on the forum
    Cheers
    Sachin

    To achieve your requirement, you need to change the accrual sub formula PTO_PAYROLL_PERIOD_ACCRUAL. Follow the below steps.
    A.Create a pl/sql function :
    1. Create a new Pl/Sql Function in similar lines with parameters as p_assignment_id, p_date_earned, p_plan_id and p_number_of_years;
    2. The new function should call the pl/sql function per_utility_functions.Get_Accrual_Band passing values of p_plan_id and p_number_of_years.
    3. After the above function call, invoke your custom procedure to get the accrual value based on grade (passing p_assignment_id and p_date_earned as parameters).
    4. call the procedure per_formula_functions.set_number to set the ceiling value.
    So overall your function should like this
    FUNCTION <function name>(p_assignment_id NUMBER,p_date_earned DATE,p_plan_id NUMBER, p_number_of_years NUMBER ) RETURN NUMBER IS
    < variables declaration>
    l_ceiling number;
    BEGIN
    l_return := per_utility_functions.Get_Accrual_Band(p_plan_id,p_number_of_years);
    IF l_return = 1 THEN
    return l_return;
    ELSE
    l_return := <your custom function>(p_assignment_id,p_date_earned,l_ceiling);
    l_error := per_formula_functions.set_number('CEILING' ,l_ceiling);
    END IF;
    END <function name>;
    l_error := per_formula_functions.set_number('CEILING' ,l_ceiling);
    B. Create a Formula Function with the above pl/sql function with p_assignment_id, p_date_earned, p_plan_id as context usages and p_number_of_years as parameter.
    C. Copy the Formula PTO_PAYROLL_PERIOD_ACCRUAL and replace the entry of Get_Accrual_Band with your custom formula function defined in step B.
    D. Copy the formula PTO_PAYROLL_BALANCE_CALCULATION and replace the entry of PTO_PAYROLL_PERIOD_ACCRUAL with your custom formula defined in step C.
    Hope this helps.
    Regards,
    Sharath

  • Vacation accrual balance question

    Hi,
    We have a requirement to show accruals in days but the absence hours can be multiples of 4. For that, I have defined absence element with input as hours and accrual plan with units as hours. This is working fine but the vacation net entitlement is shown in hours. Is there a way to enter absences in multiples of 4 but show final entitlement in days?
    Another question is, is there a way to default normal hours to all employees as 08:00 to 17:00? If I am entering absence from 28-Nov-2012 08:00 to 29-Nov-2012 12:00, the system is calculating it as 28 hours instead of 12 hours. If I enter normal hours in employees assignment as 08:00 to 17:00, then the formula is calculating it as 12 hours. so I want to default the normal hours to all the employees without having to update the formula.
    Please help..
    Thanks

    Hi Jay,
    #1. If you enter the Absences in Hours, the entitlement will also be shown in hours (Unless you create a custom form and use custom code to deduce the days).
    Another way is to define the absences in Days, and use 1/2 day (0.5 day) instead of 4 hours.
    #2. You can default the starting, ending times and hours worked at the Business Group level or HR-ORG level. This would default the hours on all person-assignments.
    Absences are calculated based on -
    -Work Schedules
    -Work Patterns
    -Standard working hours on Assignment form
    in the same order depending on profiles - HR: Schedule Based Absence Calculation etc..
    Cheers,
    Vignesh

  • Hours Type in OTL

    Hi,
    I am trying to fill in a self service time card for a employee. I see two fields on the time card as Hours Type and Cost Center. Problem is the list of values for both these are empty so i cant choose any value for them. If i submit without putting hours type then i get a error on submission. Please can someone help me as i am new to OTL
    Thanks

    Have you tried looking at the seeded formulas as a starting point?
    Oracle Time & Labor
    Implementation and User Guide
    Release 11i
    Part No. B15865-01
    January 2005
    Write Formulas for Time Entry and Approval Rules; Page 6-10
    Seeded Formula for Period Maximum: HXC_PERIOD_MAXIMUM
    Approval Assignment Status Test: HXC_APPROVAL_ASG_STATUS
    Approval Maximum Test: HXC_APPROVAL_MAXIMUM
    Assignment Standard Hours vs Time Category: HXC_ASSG_STD_HRS_Comparison
    PTO Accrual Balance vs Absence: HXC_PTO_ACCRUAL_Comparison
    Period Hours vs Time Category: HXC_TIME_CATEGORY_Comparison
    Override Approver WF Person Mechanism: HXC_OVERRIDE_APPROVER_WF_PERSON
    You can copy and configure all these formulas, or write your own formulas, according
    to the following rules.
    Formula Inputs and Outputs
    Formulas executed from time entry rules (for validation or approval) must be
    of the following form:
    INPUTS ARE resource_id (number)
    submission_date (text)
    <other inputs>
    /* Formula Processing */
    RETURN <formula result>, <message 1..5>
    Regards,
    Greg

Maybe you are looking for