Search This Blog

Thursday, March 28, 2013

How do you Stop Users from Entering More Than 24 Hours in a Day in OTL

Our users are able to enter more than 24 hours worked in a day. This happens both in Self Service and Timekeeper form. How can we stop this from happening?

Solution:

Create a Time Entry Rule (TER) to handle the validation following these steps:

1) Create a Time Category with all the elements to which you want this TER to be applicable

2) Create a Daily Rule (need to setup a new Recurring Period of 1 day)

     Nav: US OTL Application Developer > Recurring Periods

    Create a new Recurring Period called Daily with Duration in Days = 1 and Start Date of 01-Jan-
    2000

3) Create a Time Entry Rule which uses the seeded formula 'Seeded formula for Period Maximum'  
    with the following Formula Inputs:
    Period = Daily
    Time Category - Time Category you just set up
    Maximum Hours = 24
    Reference Period = 1

4) Create a Time Entry Rule Group with the TER you just created in it
5) Assign the Time Entry Rule Group to the employee(s) via the Time Entry Rule Group preference

Reference Metalink Note - 276678.1

Monday, March 25, 2013

Same approver for both applications’ data in Oracle Time and Labor(OTL)

 
If the same approver, e.g., the Project Manager, should approve both your Payroll and Projects data, setting up both approval components with the ‘Project Manager’ approval mechanism would cause the approver to receive two notifications with identical data.
 
If your approvers would not wish to receive two notifications, an alternative setup can make use of the fact that each notification would display all of the timecard’s data. In this case, set up the approval style component for one of the applications with Project Manager as the approval mechanism and a low sequence number, and set up the approval style component for the other application with Auto Approve as the mechanism and a higher sequence number. Then the project managers’ notifications will display all of the timecard’s data, which they need to be able to determine if they should approve or reject the timecard.
 
Once they have acted on the notification, the auto-approval for the other application prevents their receiving a second notification with the same data.
 
 
 
 
 
 
 

Wednesday, March 20, 2013

You Must Run The Generate Flexfield And Mapping Information For Element Oracle Time and Labor (OTL)

When attempting to submit a timecard, the following error occurs:

"You must run the Generate Flexfield and Mapping Information process for element XXXXX."


Cause

This is caused by the incorrect setup of the element input values.

Solution

Please make sure that all elements that are going to be used in OTL have an Input Value called "HOURS" that is marked as "User Enterable".

Tuesday, March 12, 2013

Need to create link from OAF Page in Oracle Applications

1. On Apps Server , Navigate to $OA_MEDIA
2. Put your files in this location
3. Test if the files are accessible, by logging in to application and then chaning the URL in address bar to
   /OA_MEDIA/<personId>.pdf
4. In the page where you want the link to show , Extend the Controller for that page
   write code

OAMessageAttachmentLinkBean lnk = new OAMessageAttachmentLinkBean(true);
lnk.setDestination('/OA_MEDIA/PDF_'+personId+'.pdf');

Find appropriate Parent Bean to add this link
parentBean.addIndexedChild(lnk);

 

Partial Month proration in Oracle Advanced Benefits(OAB)




 
If proration has to be done based on number of days then use, Proration on Day/Month basis checkbox


Monday, March 11, 2013

Balance Query in Oracle Payroll - Element Feeding the Balance

Query 1:

SELECT   petf.element_name bal_feed_element_name,
         pivf.NAME bal_feed_input_name,pbt.balance_name, pbt.reporting_name,
         hr_general.decode_organization (pbt.business_group_id)
                                                               business_group,
         pbt.base_balance_type_id base_balance_name
--,PBT.UN
         ,
         hr_general.decode_lookup ('UNITS', pbt.balance_uom) units,
         pbt.currency_code, pbt.assignment_remuneration_flag,
         (SELECT element_name
            FROM pay_element_types_f
           WHERE element_type_id =
                    (SELECT element_type_id
                       FROM pay_input_values_f
                      WHERE input_value_id =
                                      pbt.input_value_id))
                                                         primary_element_name,
         (SELECT element_type_id
            FROM pay_input_values_f
           WHERE input_value_id = pbt.input_value_id) primary_input_name,        
         DECODE (pbf.scale,
                 1, 'ADD',
                 -1, 'SUBTRACT',
                 NULL
                ) balance_add_subtract,
         pbf.effective_start_date, pbf.effective_end_date, pbd.dimension_name,
         pbd.description, pdb.grossup_allowed_flag, pdb.run_balance_status,
         NULL initial_feed_element_name, NULL initial_feed_input_value_name,
         NULL attribute_name, NULL attribute_dimension
    FROM pay_balance_types pbt,
         pay_balance_feeds_f pbf,
         pay_element_types_f petf,
         pay_input_values_f pivf,
         pay_defined_balances pdb,
         pay_balance_dimensions pbd
   WHERE pbt.balance_type_id = pbf.balance_type_id
     AND pdb.balance_type_id = pbt.balance_type_id
     AND pbd.balance_dimension_id = pdb.balance_dimension_id
     AND pbf.input_value_id = pivf.input_value_id
     AND pivf.element_type_id = petf.element_type_id
    -- AND pbt.created_by != 1
    -- AND petf.created_by != 1
ORDER BY 1;


Query 2:
SELECT   petf.element_name bal_feed_element_name,
         pivf.NAME bal_feed_input_name,pbt.balance_name
    FROM pay_balance_types pbt,
         pay_balance_feeds_f pbf,
         pay_element_types_f petf,
         pay_input_values_f pivf
   WHERE pbt.balance_type_id = pbf.balance_type_id
     AND pbf.input_value_id = pivf.input_value_id
     AND pivf.element_type_id = petf.element_type_id
     AND petf.business_group_id = 82 

Wednesday, February 27, 2013

How to Detect a Life Event for an Employee When A Dependent Ages Out in Oracle Advanced Benefits (OAB)

Goal:
When a dependent ages out, how can a life event be detected on the employee?
Scenario :
  • Children of employees are not eligible for benefits after reaching the age of 18.
  • A dependent eligibility profile was created and attached to the plan (example: Medical).
  • The Maintain Designee Eligibility process is run to recognize that a dependent is no longer eligible, but the preference is to have a life event triggered on the employee's record when the child becomes ineligible. This is so the employee can change their options if needed (example: from Employee+Child to Employee Only).
Solution:

To implement the solution, please execute the following steps:
1. Create a Life event:
Navigation: Total Compensation > General Definitions > Additional Setup > Life Event Reasons
Name: Dependent Ages Out
Type: Personal
Person Changes button | Define Person Changes button
Name: Dependent Ages Out
Table Name: BEN_ELIG_CVRD_DPNT_F
Column Name: CVG_THRU_DT
Old Value : No Value
New Value : Any Value

Then go back to the Person Changes form and add 'Dependent Ages Out' and save.
2. Add this life event to your program.
Navigation: Total Compensation > Programs and Plans > Program Enrollment Requirements > Timing > Life Event.
The above solution is for clients using Oracle Advanced Benefits (OAB).

3. Run the Maintain Designee Eligibility process.
Navigate to Processes and Reports > Submit Processes and Reports > Single Request > Maintain Designee Eligibility. This is run for the employee; not for the dependent.
This should detect that the dependent is no longer eligible, and create a detected life event for the employee.
 
If using Oracle Standard Benefits (OSB), then process an Unrestricted life event via the Non-Flex Enrollment form.
This should end coverage for the dependent, and allow the employee to make election changes.

Metalink Reference - Note ID -279262.1