RameshKumar Shanmugam
Oracle R12.1.2 HCM New Functionality Part 1
OTL timecard is integrated with the SSHR Absence Management, with this new functionality Absence entered in the Oracle Core HR/ ESS or MSS will be populated in OTL Timecard.Similarly Absence time entered in OTL can be viewed in Core HR and SSHR. This new functionality helps to maintain the data integrity and this new functionality also eliminates much of the custom work that need to be done by the consultants to validate the time entered in OTL against the Absence Management
To understand how to setup Absence Management refer the blog http://ramesh-oraclehrms.blogspot.com/2007/07/leave-management.html
Archiving OTL Timecard
Following are the process that need to be performed for the archiving the OTL timecard
1) Setup following profile option
- OTL: Archive Restore Chunk Size
- OTL: Minimum Age of Data Set for Archiving
- OTL: Max Errors in Validate Data Set
Note: Make sure not to select too much data at once, the process may fail.
If the process fails the data can be restored using the 'Undo Data Set process'
3) Next step in the archiving process is run 'Validate Data Set Process' - This process checks for error on the timecards in the data set.This process returns a validation warning message if the process finds the timecard with the status: working, rejected, submitted, approved, or error.
Note:The validation process may encounter some errors during processing. To restrict the number of errors reported at one time, you can set the OTL: Max Errors in Validate Data Set profile option to a maximum number of errors. The process stops running when it reaches the number of errors you define.
4) Final Step in the Timecard archiving is to run the 'Archive Data Set Process' - The archive process moves the defined data set of the validated timecard data from active tables in the OTL application to archive table.
In my next blog I'll write the details of restoring the archived data back to OTL application
Try this out!
Employee Directory
In this blog I am trying to explain how we can use Employee directory function in Oracle which will allow employees to view the company's Organization structure and browse the employee details. Small company's who are not having any Org charting tool can use this functionality in Oracle which will enable the employee to view the Organization structure,their subordinates and the reporting relation within the organization
Setup:
Attach the function "Proxy Page" to the Self Service Global Menu with a prompt
The data can be refreshed using the concurrent request "Refresh Employee directory" with following parameter
Try it Out!
R12 Maintain Employee Data using a Single Responsibility in Multi Business Group
To leverage this functionality following are the pre-requistes/ Setups
- HR module should be in Multi Buisness Group Environment
- HR Organization hierarchy should be using Global hierarchy
- HR Security Profile should be defind using the Global Security Profile form
- Attach the global security profile to the HR: Security Profile at the Responsibility level
Once the above setup steps are completed, follow the below navigation
Global HRMS Manager > Maintaining Using Template > Maintain Employees
(M) View > find
Using the Find screen, In the Business Group Name field you will be able to select the Business group that you want to access the employee data and click find to retrieve the employee information.
Important Note: Using this method you will only be able to maintain the existing employee data. If you create any new employees using this responsibility, the employee data will be created in the default BG to which the responsibility is attached
Adding Cost Center value to the OTL Timecard
Following code can be used to create the view
CREATE OR REPLACE FORCE VIEW HXC_CUI_CUSTOM9_V ( display_value ,value ) AS select fv.flex_value'-'fv.DESCRIPTION display_value, to_char(flex_value_id) value from fnd_flex_values_vl fv, fnd_flex_value_sets fvs where fv.flex_value_set_id = fvs.flex_value_set_id and fvs.flex_value_set_name = 'GL_COA_COST_CENTER'
Following are the three layout needed to be modified
Payroll layout - hxczzhxclayt0000.ldt
Payroll Review page - hxczzhxclayt0005.ldt
Payroll Confirmation page - hxczzhxclayt0001.ldt
Replace the cost center segment with the below code
Modify the Payroll layout - hxczzhxclayt0000.ldt
BEGIN HXC_LAYOUT_COMPONENTS "Payroll Timecard Layout - Cost Center"OWNER = "CUSTOM"COMPONENT_VALUE = "COSTCENTER"REGION_CODE = "HXC_CUI_TIMECARD"REGION_CODE_APP_SHORT_NAME = "HXC"ATTRIBUTE_CODE = "HXC_TIMECARD_COST_CENTER"ATTRIBUTE_CODE_APP_SHORT_NAME = "HXC"SEQUENCE = "190"COMPONENT_DEFINITION = "CHOICE_LIST"RENDER_TYPE = "WEB"PARENT_COMPONENT ="NEC Payroll Timecard Layout - Day Scope Building blocks for worker timecard matrix"LAST_UPDATE_DATE = "2004/05/24"
BEGIN HXC_LAYOUT_COMP_QUALIFIERS "NEC Payroll Timecard Layout - Cost Center"OWNER = "CUSTOM"QUALIFIER_ATTRIBUTE_CATEGORY = "CHOICE_LIST"QUALIFIER_ATTRIBUTE1 = "Custom9VO" ########Changed to Custm9VO ##############QUALIFIER_ATTRIBUTE4 = "N"QUALIFIER_ATTRIBUTE8 = "DisplayValue"QUALIFIER_ATTRIBUTE9 = "Value#NUMBER"
QUALIFIER_ATTRIBUTE10 ="oracle.apps.hxc.selfservice.timecard.server.Custom9VO" ########Changed to Custm9VO ##############
QUALIFIER_ATTRIBUTE11 = "TIMECARD_BIND_END_DATETIMECARD_BIND_END_DATE"QUALIFIER_ATTRIBUTE17 = "OraTableCellText"QUALIFIER_ATTRIBUTE20 = "N"QUALIFIER_ATTRIBUTE21 = "Y"QUALIFIER_ATTRIBUTE22 = "L"QUALIFIER_ATTRIBUTE25 = "FLEX"QUALIFIER_ATTRIBUTE26 = "Dummy Cost Context"QUALIFIER_ATTRIBUTE27 = "Attribute2"LAST_UPDATE_DATE = "2004/05/24"END HXC_LAYOUT_COMP_QUALIFIERS
END HXC_LAYOUT_COMPONENTS
Modify the Payroll Review page - hxczzhxclayt0005.ldt
BEGIN HXC_LAYOUT_COMPONENTS "Payroll Review Layout - Cost Center" OWNER = "CUSTOM" COMPONENT_VALUE = "COSTCENTER" REGION_CODE = "HXC_CUI_TIMECARD" REGION_CODE_APP_SHORT_NAME = "HXC" ATTRIBUTE_CODE = "HXC_TIMECARD_COST_CENTER" ATTRIBUTE_CODE_APP_SHORT_NAME = "HXC" SEQUENCE = "160" COMPONENT_DEFINITION = "CHOICE_LIST" RENDER_TYPE = "WEB" PARENT_COMPONENT = "NEC Payroll Review Layout - Day building blocks - matrix layout" LAST_UPDATE_DATE = "2004/05/24" BEGIN HXC_LAYOUT_COMP_QUALIFIERS "NEC NEC Payroll Review Layout - Cost Center" OWNER = "CUSTOM" QUALIFIER_ATTRIBUTE_CATEGORY = "CHOICE_LIST" QUALIFIER_ATTRIBUTE1 = "Custom9VO" #QUALIFIER_ATTRIBUTE8 = "DisplayValue" #QUALIFIER_ATTRIBUTE9 = "Value#NUMBER" QUALIFIER_ATTRIBUTE10 = "oracle.apps.hxc.selfservice.timecard.server.Custom9VO" #QUALIFIER_ATTRIBUTE11 = "TIMECARD_BIND_END_DATETIMECARD_BIND_END_DATE" #QUALIFIER_ATTRIBUTE17 = "OraTableCellText" QUALIFIER_ATTRIBUTE20 = "N" QUALIFIER_ATTRIBUTE21 = "Y" QUALIFIER_ATTRIBUTE22 = "L" QUALIFIER_ATTRIBUTE25 = "FLEX" QUALIFIER_ATTRIBUTE26 = "Dummy Cost Context" QUALIFIER_ATTRIBUTE27 = "Attribute2" QUALIFIER_ATTRIBUTE30 = "Y" LAST_UPDATE_DATE = "2004/05/24" END HXC_LAYOUT_COMP_QUALIFIERS END HXC_LAYOUT_COMPONENTS
Modify Payroll Confirmation page - hxczzhxclayt0001.ldt
BEGIN HXC_LAYOUT_COMPONENTS "Payroll Confirmation Layout - Cost Center" OWNER = "CUSTOM" COMPONENT_VALUE = "COSTCENTER" REGION_CODE = "HXC_CUI_TIMECARD" REGION_CODE_APP_SHORT_NAME = "HXC" ATTRIBUTE_CODE = "HXC_TIMECARD_COST_CENTER" ATTRIBUTE_CODE_APP_SHORT_NAME = "HXC" SEQUENCE = "210" COMPONENT_DEFINITION = "CHOICE_LIST" RENDER_TYPE = "WEB" PARENT_COMPONENT = "NEC Payroll Confirmation Layout - Day Scope Building blocks for worker timecard matrix" LAST_UPDATE_DATE = "2004/05/24" BEGIN HXC_LAYOUT_COMP_QUALIFIERS "NEC NEC Payroll Confirmation Layout - Cost Center" OWNER = "CUSTOM" QUALIFIER_ATTRIBUTE_CATEGORY = "CHOICE_LIST" QUALIFIER_ATTRIBUTE1 = "Custom9VO" #QUALIFIER_ATTRIBUTE8 = "DisplayValue" #QUALIFIER_ATTRIBUTE9 = "Value#NUMBER" QUALIFIER_ATTRIBUTE10 = "oracle.apps.hxc.selfservice.timecard.server.Custom9VO" #QUALIFIER_ATTRIBUTE11 = "TIMECARD_BIND_END_DATETIMECARD_BIND_END_DATE" #QUALIFIER_ATTRIBUTE17 = "OraTableCellText" QUALIFIER_ATTRIBUTE20 = "N" QUALIFIER_ATTRIBUTE21 = "Y" QUALIFIER_ATTRIBUTE22 = "L" QUALIFIER_ATTRIBUTE25 = "FLEX" QUALIFIER_ATTRIBUTE26 = "Dummy Cost Context" QUALIFIER_ATTRIBUTE27 = "Attribute2" QUALIFIER_ATTRIBUTE30 = "Y" LAST_UPDATE_DATE = "2004/05/24" END HXC_LAYOUT_COMP_QUALIFIERS END HXC_LAYOUT_COMPONENTS
Line Manager Time Entry funtionality
Oracle Time & Labor Line Manager functionality is available with the product out of Box, The User Function name is Timecard Mgr (Function -HXC_TIMECARDS_MGR).
This function is included in the Seeded Manager Self Service menu HR_LINE_MANAGER_ACCESS_V4.0
IMPORTANT CATCH
By default this function will allow the manager to enter his own time, which most of the customer wont prefer the Manager to put in his time in the same place where the Manager can enter time for his direct reports.
there is an very simple way to restrict Manager for entering his time using the Timecard Mgr function
we will be able to limit by setting an additional parameter on the Timecard Mgr function (Function - HXC_TIMECARDS_MGR). To limit the manager from entering their own data, the parameter - pManagerEnabled should be entered at the end of other parameters (connector is &) with an N being 'Not Enabled', and a Y equaling 'Enabled'.
Example - to disable Line Manager entry of their own time using the Line Manager functionality, the parameter is added as: &pManagerEnabled=N
Try this out
Identifying Descriptive Flexfield in the Form
Or we can also define the descriptive flexfield as the configurable fields which we can used to capture the additional information
Descriptive flexfield appears on a form as a field enclosed within Brackets
Many time I get the question from my functional users how they will be able to identify the descriptive flexfield name in the form.
There is an easy way to find this
Navigate the the Form where you want to find the Descriotive flexfield
The select the following Menu
Help > Examine
In the Block Select ‘$DESCRIPTIVE_FLEXFIELD$
In the field select the Form in which you are looking for example “ PERSON.DF’. The Value field will display the Descriptive flexfield that you are looking for.
OTL - Authorized Delegate
Authorized Delegate: This functionality is similar to the timekeeper functionality but has few difference
- Timekeeper uses the PUI where as Authorized Delegate uses Self Service
- Timekeeper can access the people who are assigned to the Timekeeper group where authorized Delegate is controlled by the HR:Security Profile
- Timekeeper has seeded responsibility where the authorized delegate the user must build the custom responsibility using the Seeded Menu 'Authorized Delegate Timecard Entry’
This functionality is good to use when a single person need to enter time for fewer number of employees, if there are more number of employees it is always advisable to use timekeeper
Try it out
OTL Time Keeper
- Self Service time - employee entering his own time
- Line Manager time Entry - Manager Entering time for his direct reports
- Timestore Deposit API - Time import using the interface from the third party system
- Timekeeper - one person entering time for the group of employees based on the group assigned to them
- Authorized Delegate - One person entering time for the group of employees based on the security profile attached in the user/responsibility
Before starting the Timekeeper configuration , if you directly go the Responsibility OTL Super timekeeper and click the function timekeeper Entry you will get the following error msg,
The above error message will clearly tell you what are the setup steps you need to do to enable the Timekeeper
The first two steps are to be done in the OTL Application developer Responsibility
1. Timekeeper Misc Setup Items
2. Timekeeper Layout attribute
The third step should be done in the OTL super Timekeeper Responsibility
3. Timekeeper Group is created
The Forth step should be done in the System administrator, this step should be done at the user level and it is only for the super timekeeper
4 Profile OTL: Allow Change Group Timekeeper
I'll be explaining each of the above steps in detail in my next post
Accrual Balance Display in Self Service HR
As an employee it is always good to know how much vacation balance an employee is left with
Here is a simple setup that can enable your employee to view the available balance through the Self Service absence Management
Step 1: Define the Absence element
Step 2: Link the Element based on the Eligibilty Criteria
Step 3: Define the Absence Type
Step 4: Define the Accrual Plan
Step 5: Attach the Accrual Plan to the Employee
Step 6: Complete the setup for the Self Service HR
Step 7: Make sure employee is able access the absence Management Functionality
Setup steps to enable the Entitlement Balance in the Absence Management
Step 1: Create an Element set with the type as ‘Run Set’
Step 2: Attach the element set to the Profile option HR: Accrual Plan Element Set Displayed to User at the Responsibility level (Employee Self Service)
Step 3: Bounce the Appache
Now Navigate to the Employee Self Service > Absence Management > (T) Entitlement Balance
Try this out
Job Vs Position
The second main important thing we need to decide is whether the customer is going to use Job or position.
When we put this question to the customer the first expected question for the Customer side would be what is the difference between Job and Position
The content in this blog is more of my own view and the simplistic approach I always like. review the documentation before you can decide on the approach you want to take
To explain it in a very high level
Jobs are Generic Title or Role within a Business Group, independent of any single organization. Required. Usually more specific if positions are not used.
Position are Specific occurrence of one job, fixed within an organization. Not required
If you are in US legislation your job will drive you FLSA and EEO reporting. Personally I feel maintaining the Position is hard in an unstructured organization. Position Hierarchy will suite for the University/college/School and Government Organization
The Maintenance is more in the Position hierarchy than in the Job. If your customer feel they need less maintenance activity then you should recommend Job not the Position
R12 Suitability Matching functionality
To explain this is in a very common language - this function helps the employee to find the opportunity in the organization that suites his role and competency.The employee can compare the various competency that is desired and essential for a particular role
For the manager Self service this function helps them to find the employee / applicant based on the competency and the role
List of Options available in the Manager Self Service
In the manager Self Service lets take an example of searching the employee/contingent worker/an applicant based on the competency profile and View it in a Graph for analysing the competency for the Job
Start with the option 'Find Suitable People by Competency'
Add the list of competency that you want to search for
Once you select the continue button, you will be able to list of people that match your competency requirement
Click the button Graph people by Competency button that will help you out in the viewing the graph based on the Min , max and the personal proficiency level
Try this out!!!
R12 Global Deployment functionality
Though this functionality was available in 11i for the HR professionals to do it manually if the cross business group is enabled they can update organization and location in the assignment form, or another method of doing this is to terminate and hire the employee in the new business group.
Now in R12 this functionality has been made as a standard functionality in the Manager Self Service Responsibility Under the function 'Transfer'
Manager Self Service > Transfer
HRMS PFK RUP2 Global name Search
In the Family Pack K Rup 2, System Uses Global Name format to Search for the Duplicates Across Business Group.
The Global name format is independent of the Legislation which helps us to avoid the duplication.
To Enable this Functionality we need to enable the profile HR:Cross BG duplication Person Check.
Still the HRMS uses the same existing functionality to search the employee in single business group
Try this out!!!
Regards
Ramesh Kumar S
Payroll Reversal Pack K Rollup 2
Due to current project schedule i didn't had much time to test the new functionality.
This week i had the chance to install the PF K RUP 2 to my test instance, the lot of functionality which i was expecting is here now...
The first thing which i would like to highlight is Payroll Reversal functionality.
If you want to reverse assignments that have been processed as part of a payroll run or QuickPay run, you can now reverse them as a group by assignment set instead of reversing by individual assignment only. Any assignment sets that you use for reversals can also use the normal assignment set features such as:
- Include or exclude specific assignments
- Make formula-based amendments
The original reversal by single assignment is still available, and you can continue to access it from the Assignment window.
Payroll Reversal Details http://ramesh-oraclehrms.blogspot.com/2007/09/payroll-reversal.html
Defining Assignment Set http://ramesh-oraclehrms.blogspot.com/2007/08/assignment-set.html
Try it out!!!
Changing Salary Basis
They wanted to change the salary basis from Monthly to Period (Biweekly). It is a common scenario that many company may change their Salary basis from monthly to biweekly or Bimonthly, but the interesting thing in this project is they wanted to modify the history salary information for all the employees from Monthly to Biweekly.
The first thing that came in my mind was the Auditing issue that we might run since we are touching the most sensitive information of the employee data (SALARY), But the HR Users clearly informed us they can provide us with the exact data that need to be loaded.
Another advantage was the customer is not using Oracle Payroll,Oracle HRMS system is not a transactional system
We followed the following approach
- Remove the salary proposal for the employee for whom we need to modify.
- Update the Assignment with the new Salary Basis in Correction mode
- Reload the salary with the same Change date as we unloaded
We used WebADI for unloading Salary information, updating assignment with the new salary basis and loading the salary proposal for the new salary basis.
We used WebADI custom Integrator with the following API
- HR_MAINTAIN_PROPOSAL_API.DELETE_SALARY_PROPOSAL
- HR_ASSIGNMENT_API.UPDATE_EMP_ASG_CRITERIA
- HR_MAINTAIN_PROPOSAL_API.UPDATE_SALARY_PROPOSAL
Try this out!!!
Balance Adjustment
There are two methods of doing it.
By defining an Balance Adjustment Element or if we know the exact amount to be corrected then we can able to adjust using the Adjust Balance Form. The latter one is very simple and it is an easy option to adjust the balance
Follow the below steps to adjust the balance using the Adjust Balance form, if we know the exact amount to be adjusted
Fast Path > Adjust Balance > Select the Assignment for which we need to adjust the balance
Set the Effective date
- Select the element who's pay or the Input Value need to be adjusted
- Select the Consolidation set to control the further Post-run Processing
- Check the costing Check box if you need the balance adjustment to be costed
- Save the work
Try this out!!!
Payroll Reversal
In these cases we can use Payroll Reversal. In short Payroll Reversal helps to correct the run result for an single assignment
To Reverse the Payroll run for an assignemnt
(R) US HRMS Manager
(N) Fast Path > Reverse Payroll Run
Select the Assignment that you need to reverse from the LOV, Tick the Reverse Check Box for the Payroll that we need to reverse and save the work. Consolidation set for the run will be automatically displayed for the Reversal
Now the Run Result is been reversed to the Value before the payroll Run. Now you can modify the Entry and start processing your payroll again.
Try this out!!!
Payroll Rollback
- Retry
- Reverse
- Rollback
In this blog i am trying to explain how to rollback a Payroll process.
What Rollback does?
In simple word to explain Rollback process reset the Run Result and the Latest balance back to the value before running the Payroll Process.
Rollback process has to be run in the same reverse sequence of the Payroll Run. for eg. for processing the payroll, we run the following process in sequence Payroll run, Prepayment, costing, Transfer to GL. Similarly for the Rollback we need to run in the reverse sequence Rollback Transfer to GL, Rollback Costing, Rollback Prepayment, Rollback Payroll Run.
Note: if the costing details are imported into GL then we cannot rollback the process.So it is always advisable to run the Transfer to GL process after all validation and checking are done and run this process when we feel no more modification are needed
List of Process type that can be rolled back in PF K RUP1
- Advance Pay Element
- Balance Adjustment
- Bank or Post office Payment
- Batch element entry
- cheque writer
- Costing
- Costing of Payment
- Estimate costing
- ext/Manual Payment
- Magnetic report
- Magnetic Transfer
- Pre-Payments
- Purge
- QuickPay Pre-Payment
- Quick Pay run
- Report Generator
- Retro Costing
- Retro Pay
- Retro Pay by Action
- Retro Pay by element
- Reversal
- Run
- Transfer to GL
- Void Payment
Quick Pay Process
- For processing the payroll for a single employee we can use Quick pay
- For employee who is leaving and for whom we need to pay by check or cash
- When an employee is joined after the payroll run has been completed for the period we can use Quick pay to process only for this particular employee instead of completely rollback the Payroll Process and starting it again.
Follow the process to run the Quick Pay(N) Assignment > (B) Others > Quick Pay
- Set the effective Date for the Quick pay
- Date Paid and Date Earned will be defaulted to the effective date
- Select the consolidation set
- Select the Run Types (it varies from Legislation to Legislation)
- Save the Quick Pay Definition
- Submit the quick pay by pressing the start Run Button.
- Status should be changed from un-processed to Complete.
- If any errors fix the error and press the retry button
- Once the Quick Pay run is completed we need to process the PrePayment
- We can run the Prepayment from the Quick Pay window by just clicking the button start PrePayment Or combine it in the Batch PrePayments processing for the assignment’s Payroll (this can be used when a new employee is joined after the payroll run is completed so we can run the quick pay separately for this employee and combine it with the batch or the prepayment.)
Try it out!!!